ところが現在使用している NAS4Free 9.2 系では、 接続しているハードディスクを USB 3.0 で認識してくれず、ここがネックでパフォーマンスが上がりません。
特に VMware vSphere Hypervisor (ESXi) の 記憶領域をここに作成して NFS でマウントしているため、 ファイル I/O が頻繁になるとパフォーマンス低下が激しいのです。
そこでこの問題に対して、 ZFS の Read 用の二次キャッシュ (L2ARC) と Write 用ログ領域 (ZIL/ZFS Intent Log) を SSD 上に置くことで、 パフォーマンスアップを狙ってみることにしました。
この作業は NAS4Free サーバーに SSH で接続してコマンドラインから root ユーザーに切り替えて行います。
以下のコマンドで GPT で初期化された SSD ( /dev/ada0 と認識されているものとします)上に、 ZIL 用に 8GB と L2ARC 用に 20GB の領域を確保します。
# gpart add -a 4k -s 8G -t freebsd-zfs -l zil0 ada0 # gpart add -a 4k -s 20G -t freebsd-zfs -l l2arc0 ada0上記では -l オプションでラベル(それらしき文字列でかまないと思います)を指定していますが、 こうしておくと、実際に L2ARC と ZIL を設定するとき、以下のコマンドで済ませられます。
# zpool add zpool log gpt/zil0 cache gpt/l2arc0上記の例では ZFS プール zpool に対して、ラベルを zil0 とした領域を ZIL として、 l2arc0 とした領域を L2ARC としています。
これで実際 zpool コマンドで状態を確認してみると。。。
# zpool status pool: zpool state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM zpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 da1 ONLINE 0 0 0 da2 ONLINE 0 0 0 logs gpt/zil0 ONLINE 0 0 0 cache gpt/l2arc0 ONLINE 0 0 0 errors: No known data errorsってな感じで確認できます。
これで大丈夫のはずですが、当方では設定が終了したあと一度、サーバーを再起動しておきました。
で、実際、どの程度パフォーマンスが上がったかは、また次回 (^^)/