PRIMERGY TX1310 M1とFreeNASでファイルサーバ構築
少し前にNASキットのASUSTOR AS1004T を購入したのですが、しばらく使ってみると色々不満が出て・・・。
というのは、パフォーマンスが出ないとかそういうことでは無く、SMBセッションがタイムアウト(?)して再接続する際に異常に時間がかかるのです(いつもとは限らない)。色々と原因の切り分けをしてみると、クライアントではなくサーバ側の問題ぽいのですが、ログ出力を眺めてみてもいまいち原因が分からず。
smb.conf
とか眺めてみても特に怪しそうな箇所は見当たらず・・・何かしらカスタムされたSambaなんですかねぇ。
休日の楽しいアニメ鑑賞の時間に(私もNASも)ブチ切れることが多くなったので、結局自前でファイルサーバを構築することになったというお話です。
安鯖として名高いFUJITSU Server PRIMERGY TX1310 M1を購入。Just MyShopで2万。
この価格にしては非常に優秀で、LANポートは2つあるし、内部にUSBコネクタもあります。
- CPU: Celeron G1820
- Mem: DDR3L-1600 ECC Unbuffered 4GB => 8GB
ZFSでRAID-Z組むにはメモリ4GBだと心許ないので、秋葉原のPCNETで中古の4GBを一本調達し計8GBに。
ECC UDIMMでも低電圧の中古が案外出回っていなかったので、結構探し回りました。
HDDは旧NASに装着してあるTOSHIBA MD04ACA300 2台と、新たに2台追加購入しました。
NAS向けHDDを買うお金も無いので、少々大きな動作音は大目に見ましょう。
サクッとFreeNASをインストールして、4台のRAIDZのプールを作成しました。
旧NASからデータを移行するために、予めバックアップしておいたHDDをマウントしようとしたのですが、ファイルシステムがext4であるためうまくいきません。FreeBSDのext2fsはext4はread-onlyでしかサポートしていないようですので、以下のようにread-onlyでマウントします。
# mount -t ext2fs -r /dev/ada1s1 /mnt/backup
SATA-USB3変換でHDDを接続していたのですが、なぜか5MB/sほどの転送速度しか出ず。
dmesg
を確認する限り、“400.000MB/s transfers"と5Gbpsでリンクしており、また、Windowsで接続したときは100MB/sぐらい出ているので変換チップやHDDの問題ではなさそうです。
仕方が無いので、SATA接続にしたところ無事100MB/sほど出ました・・・。
データ移行が終わったら、SMBなど共有周りの設定をして、ネットワーク越しのベンチマーク。
SMBでアクセスするのがほとんどなので、このスループットは重要です。
対象のデータセットは、dedup=off, compression=offです。compression=lz4でも大差ありませんでした。
クライアントの環境は以下の通り。
- Windows 10 x64 (10.0.10586)
- NIC: Intel Ethernet Connection I217-V
- SMB dialect: SMB 3.1.1
シーケンシャルに関しては、限界の1Gbps近く出てますね。
CPU負荷が若干心配でしたが、最近のCeleronなめてましたって感じです。ホームユースでは全く問題無さそうです。
参考サイト
ZFSの基本が簡潔にまとまっており大変参考になりました。
本記事には書いてませんが、作業中にjailsデータセットを抹殺してしまい、その復旧手順を参考にしました。
Technicus: FREENAS UNABLE TO CREATE JAILS FIX