FreeNASとNAS4Freeの速度比較メモ
検証内容
前回、NFSとiSCSIのVM内アクセス速度比較という記事をあげたので
ついでにFreeNASも速度計測してみました
NAS4Freeも同一環境ですが改めて測定してますので
結果の数値も微妙に変わってます
今回測定する項目はSMB・NFS・iSCSIの速度です
検証機
ESXi側
CPU : Intel Core i7-4770
メモリ : 32GB
NIC : Intel EXPI9301CT(Intel 82574L)
OS : VMware ESXi 6.0.0 Build 5224934
NAS側
CPU : Intel Pentium G4620
メモリ : 32GB
NIC : Intel I219-V
HDD : WD40EZRZx4 RAIDZ2 (dedup off)
ESXi機とNAS機はGbE(1000BASE-T)で直結
MTUは標準のまま(1500)
FreeNASとNAS4Free両方とも同じように
HDD4台でRAIDZ2を構成
全領域を使った単一ZFSプールを作成しSMB領域を割り当て
その中にiSCSIとNFSフォルダを追加し各サービス割り当て
iSCSIはファイルエクステント形式で100GB割り当てた
OSやSMB・NFS・iSCSIの設定は基本的に全て標準のまま使用
記載した項目以外はそのままと思ってください
NAS側のOSインストール先はUSBメモリではなくSSDを使用
前回のVM内アクセス速度比較の記事ではUSBメモリでしたので
どちらでも利用速度に影響がないのがわかるかと思います
NAS機のOS
2017/04/12時点の最新版を使うことにしました
FreeNASはver10系となるFreeNAS Corralの10.0.3を採用
リリース日は2017/04/06です
本当はCorralとともに従来のFreeNAS 9.10も検証しようしたのですが
Kaby Lake世代にはまだ対応できておらず正常に動作させることができなかった
この件に関しては別記事でメモする予定
FreeNAS Corral 10.0.3
FreeNAS-Corral-10.0.3 (4845fa74c)
[root@freenas] ~# uname -a FreeBSD freenas.local 11.0-STABLE FreeBSD 11.0-STABLE #2 r313908+8c2aa153653(secret_stable): Wed Apr 5 19:29:47 PDT 2017 root@bob.ixsystems.com:/build/build/_BE/objs/build/build/_BE/os/sys/FreeNAS.amd64 amd64
NAS4Freeは11系の11.0.0.4のrev4141を採用
リリース日は2017/03/27です
NAS4Free 11.0.0.4.4141
NAS4Free 11.0.0.4 – Sayyadina (revision 4141)
nas4free: ~# uname -a FreeBSD nas4free.local 11.0-RELEASE-p8 FreeBSD 11.0-RELEASE-p8 #0 r315989M: Sun Mar 26 19:41:54 CEST 2017 root@dev.nas4free.org:/usr/obj/nas4free/usr/src/sys/NAS4FREE-amd64 amd64
共にベースとなるFreeBSDは11.0を使っているので同じですが
FreeNASはSTABLE版つまり開発ブランチ版
NAS4FreeはRELEASE版つまり安定版を使ってるようです
NFS・iSCSI計測用VM
ゲストOS指定 : Windows10(64bit)
CPU : 1
メモリ : 8192MB
HDD : 50GB, LSI Logic SAS, シン・プロビジョニング
仮想デバイスノード : SCSI
実際にインストールしたのは
Windows10 Pro 64bit
バージョン 1607 ビルド 14393.969
2017/04/12時点でのWinUpdate済状態
VM・OSともに設定は標準のままいじらず
NFS・iSCSIは別々の仮想マシンを同じように新規で作成
(VMコピーしたりはしていない)
NFS・iSCSIともに今回の計測時は1VMしか作成しておらず
複数VMによる同時アクセスは今回の計測には考慮されていない
インストールはCドライブへ50GB全て割り当てて
計測もOSと同じCドライブで計測
SMB速度
最初にSMB経由での速度です
計測PCはWin10 ProでIntel I219-VのNICを使用
ネットワークドライブ割り当て後にCrystalDiskMarkを使って計測
FreeNAS Corral 10.0.3
NAS4Free 11.0.0.4.4141
ネットワークドライブ越しでも空き容量は6.80TBで
CrystalDiskMarkのドライブ指定でも6967GiBになってるのが確認できる
容量・速度ともにOS差は見られず
NFS速度
ESXiにデータストアとして登録し
VM上でCrystalDiskMarkを走らせ計測しました
FreeNAS Corral 10.0.3
NAS4Free 11.0.0.4.4141
NFSを何も設定せずにESXiから使うと
書き込み速度がひどいです
見てわかる通りOS固有問題ではありません
NFSv4速度
FreeNAS・NAS4Free側の設定でNFSv4オプションを有効にしてみました
FreeNAS Corral 10.0.3
NAS4Free 11.0.0.4.4141
NFSv4にしたところでReadもGbEで頭打ちなので
結果は変わらず
Write値もNFSv4にしても解決しません
NFS速度 sync=disabled
NFSのWriteの速度が出ない問題での対処法として
一番ベストなのはZIL用のSSD追加ですが
次によく出てくるsync=disabledを試してみました
sync=disabledは同期書き込みをオフにする方法で
NFSというよりZFSの設定を変えることになります
FreeNAS・NAS4FreeともにSSH接続してコマンド実行すれば
再起動も不要で即反映されます
FreeNAS
[root@freenas] ~# zfs get sync NAME PROPERTY VALUE SOURCE zpool01 sync standard default [root@freenas] ~# zfs set sync=disabled zpool01 [root@freenas] ~# zfs get sync zpool01 NAME PROPERTY VALUE SOURCE zpool01 sync disabled local [root@freenas] ~# zfs set sync=standard zpool01 [root@freenas] ~# zfs get sync zpool01 NAME PROPERTY VALUE SOURCE zpool01 sync standard local
NAS4Free
nas4free: ~# zfs get sync NAME PROPERTY VALUE SOURCE zpool01 sync standard default nas4free: ~# zfs set sync=disabled zpool01 nas4free: ~# zfs get sync zpool01 NAME PROPERTY VALUE SOURCE zpool01 sync disabled local nas4free: ~# zfs set sync=standard zpool01 nas4free: ~# zfs get sync zpool01 NAME PROPERTY VALUE SOURCE zpool01 sync standard local
zpool01のところを各自の環境に合わせてください
最初のコマンド3つでstandardからdisabledに変更されたのが確認できます
下2つは元に戻す方法です
sync=disabledを実行した結果がこちら
FreeNAS Corral 10.0.3
NAS4Free 11.0.0.4.4141
SMB同様に書き込みも速度が出るようになりました
しかしはっきりいってオススメはしません
SSD追加が許されるならZILを追加すべきです
しかしZILも物理メモリも半分の容量しか使われない縛りがあるので
ZILを使えない or ZILじゃ容量足らないならおとなしくiSCSIを使いましょう
iSCSI速度
NFSと同じくESXiにデータストアとして登録し
VM上でCrystalDiskMarkを走らせ計測しました
FreeNAS Corral 10.0.3
NAS4Free 11.0.0.4.4141
こちらはNFSと違いsyncをいじらなくても普通に速度が出ます
感想
OS差を確認しようにもGbE環境はそれ以前の問題で
WD40EZRZみたいな倉庫向けHDD(5400rpm)と
パリティ計算が重いとか速度がRAID10より遅いといわれるRAIDZ2という
速度重視ではない構成ですらGbE環境ならば簡単に頭打ちになります
ちなみにCPU使用率はベンチ中でも10%台でした
ハードウェアが同一なのに消費電力に差があったのが意外で
両方アイドル状態でFreeNAS Corralは43W NAS4Freeが39Wでした
消費電力関連の設定を変更したりはしていないので
デフォルト設定の違いが結果として出てるのではないかと思います
HDDは両方スピンダウン設定せず常時回転状態ですし
4Wも差が出るということはCPUの制御周りですかね
コメント