静音で堅牢なNASサーバをDIYで作ってみる

2022-10-02
  • B!

TrueNAS VMware サーバ構築

写真をはじめとするデータのバックアップやデータ共有用にNASを自宅に用意した。業務用であれば組織の大きさや必要なIOPSに合わせたストレージマシンをサーバルームにでも置いておけば良いのだが、自宅で構築となれば条件も変わってくる。

求める条件としては、こんなところ。

  • 静音
  • 場所を取らない
  • コスパ良し
  • メンテナンスが容易
  • RAIDが堅牢

市販品のNASを使う方法やサーバPCを組む方法など色々な構成を比較検討した。市販のNAS製品も考えたのだが、RAIDエンクロージャーの冷却ファンの音が気になることや自宅に新たにもう一台NAS専用機が増えるとなると場所の問題が、、、ということでいつも使用しているスリムPCで動作しているESXiマシンでNASを作ることにする。

目次

OSとサーバソフトウェア

ESXiにTrueNASの仮想マシンを構築している。

TrueNASとは

TrueNASはフリーで使用できるNAS OS。業務用の有償版もあるが小規模用はフリーであり、これを使うとNASの自作ができるというわけ。プラグインやVM機能もあり、QNAPやSynologyのNASのようにDLNAサーバやフォトアルバム、torrentクライアントなどもできる。フリーといえどもOSはFreeBSDベースでストレージはZFSによるRAIDであり、中身は十分に立派なNASである。

TrueNASの中身はFreeBSDとオープンソースの各種サーバパッケージで構成されている。TureNASの独自機能は各種機能を総合管理するWeb UIやjailの管理に便利なiocageコマンドへの貢献などである。

インストール手順

こちらの公式サイトからインストーラ用のISOファイルをダウンロードしてインストールを行う。インストール先はESXiでFreeBSD 64bitの空の仮想マシンを用意する。RAMは8GB以上が推奨。FreeNASのOS本体を入れる仮想HDDは32GBもあれば良い。OS起動ディスクとNASのRAIDストレージディスクは別々で管理する。

その他、ESXi上の仮想マシンの設定は以下のようにしておく。
  • USB 3.0を有効にする
  • 仮想ネットワークスイッチを新たに一つ増設し、その仮想スイッチのセキュリティ設定で無差別モード(Promiscuous mode)を有効にする ※プラグイン(Jail)を実行する際に必要。Promiscuous modeは性能低下が若干起きるので、TrueNAS専用に仮想スイッチを追加作成して必要最低限の使用となるようにする

仮想マシンの用意ができたら、インストーラISOイメージファイルを使用して仮想CD-ROMから仮想マシンを起動して、インストーラの指示に従えば完了する。その後、再起動すると初回起動としてCUIによる対話式の初期設定が始まるので画面の指示に従い設定を行う。初期設定はネットワーク設定が主である。

無事インストールが完了してサーバが起動すると、Web管理画面から細かい設定ができる状態になる。

ハードウェア構成

目標は静音、省スペース、運用の容易さ、コスパ。ということでこのような構成となった。
ラックの中央段に置かれているのが今回のマシン構成。
左がESXiサーバのDH370。その右隣に4GBのUSB 2.5インチ外付けHDDを3台。

ESXiはゲストOSから物理ホストマシンに接続したUSB機器を利用するよう設定ができる。3台のUSB外付けHDDを使用して、FreeBSDベースのTrueNASのZFSファイルシステムによるRAIDZ (RAID 5相当)を構築。3台あるHDDのうち1台が壊れても運転が継続可能な構成である。接続はUSB 3.1 Gen 1。
(最下段の機材はPCと関係がない音響用の電源)

ストレージにUSBでRAIDなんて大丈夫なのか?という心配についてはこちらでベンチマークを取ってみた。

外付け2.5インチUSB HDDの利点

この構成のポイントは、3台の外付け2.5inch HDDは自然放熱で空冷ファンが無いこと。これで静音運転を実現した。RAIDのメンテナンスも容易で、ディスクが壊れた場合はUSBケーブルを挿抜して外付けHDDを交換すれば良い。

また、2.5inch HDDはUSBバスパワーで動作するので3.5inch HDDケースのように追加100VコンセントやACアダプタの確保に悩むこともない。

さらに今回は7ポートUSB HUB経由で接続しているので、最大で7台までZFSのRAIDZにディスクを増設できる。この拡張性はコスト面と設置スペースの点でメリットがある。なぜならば、RAIDエンクロージャーを購入してRAIDを組む場合はHDDが何個入るエンクロージャーを購入するか初めに決断しなければならないが、この方法であれば必要な分だけ後でHDDを追加できるので、設置場所にもお財布にも優しい。

コスト面

HDDのコストについても検討した結果、2.5 inch外付けHDDが最適解であった。大容量の3.5 inch HDDを使用してZFSミラーリングで組むよりも、コスパが良いそこそこの容量の2.5 inch HDDでZFS RAIDZを組む方が安全性とTB単価が安く済むことが試算で判明した。

USB HUBの選択には注意

このHDD構成を組む時にはUSB HUBの選択に注意が必要。現在はエレコムの7ポートUSB HUBを使用している。



このHUBは7ポート全てに同時に900mAが供給でき、合計900mA x 7ポート = 6,300mAにも対応できる強力な電源構成になっている。

外付け2.5インチHDDのようなUSBバスパワーの周辺機器を動かすためにはUSBの規定通り900mAが端子に供給されている必要がある。
USB HUBはいろいろなメーカー製が出回っているが、中にはACアダプタ付きの5ポートハブなのに900mA供給できるのは3ポートまでなんて製品であふれているのだ。
色々と探した結果、7ポート全て同時に900mAを供給できるUSB HUBを販売しているのはエレコムだけだった。

運用状況

この構成で運用を続け、これまで3年半の間に対処したトラブルシューティングはS.M.A.R.T.情報のエラー値が増えてきた外付け2.5インチHDDを1台予防交換したのみ。もちろんHDD交換はRAIDが効いていたので無停止。それ以外は特に問題なく安定運用を続けている。