Nutanix CE + Files で建てる御自宅用ファイルサーバー

 このBlog はNutanix アドベントカレンダー2021 の12/5 分です。


毎年Advent Calendar の時期になるとタイムゾーンがPST にズレるバグが発生していましたが、今年は解消した模様。LCMでパッチが当たったのでしょう。LCM万歳。


2021年4月のNutanix Meetup のライトニングトークの最後に、Files で自宅ファイルサーバーを構築する予定について話ましたが、今回はそれの結果報告をしようと思います。



基本コンセプト

「なるべく安くちゃんと使えるものを」なので、できるだけ引退PC のパーツを流用しつつ必要最小限の投資に抑える事を前提に組みました。常時稼働になるので、スペックに少し余裕を持たせて機能検証にも使えれば、というのが追加のゴールでした。

各構成ともCVMのメモリサイズは16GB、FSVMは12GB のミニマム構成で統一しています。




Round 1

当初のスペックはこんな感じ

    CPU: Core i7 6700K (4C/8T 4.0GHz)

    RAM: 64GB DDR4 (32GB x2)

    SSD(AHV): SAMSUNG M.2 256GB SATA

    SSD(CVM): ADATA 240GB SATA x2

    HDD(DATA): Toshiba MNシリーズ 6TB x2


Nutanix 製品版のシングルノード構成と同等の筐体内ディスクミラー構成をイメージしてRF2で構成してみましたが、結果的にCommunity Edition ではこの構成はパフォーマンスが低すぎて本番用途には使い物にならないという結論になりました。製品版ではSSD がPCI パススルーのHBA 経由でCVM に直結されているけど、CE では異なるというのがボトルネックの原因なのでしょう。

OpLog が一杯になると急激に書込みパフォーマンスが悪化

最終的には数MB/s の速度に低下

レイテンシも一時的に5,000ms 超え。いや5秒て…


RichCopy でデータ移行をしていても途中でFiles の応答が無くなりタイムアウトが頻発

Round 2

Nutanix CE での筐体内ディスクミラー構成に見切りをつけ、次にトライしたのはNVMe + HDD を各1台ずつ搭載する構成。

Round 1の構成からディスク回りのみ下記に変更しました。CVM 用にはなるべく大容量の方がパフォーマンスを稼げるので、余っていたCrucial P1の1TB を採用。NVMe でM.2を使うのでAHV ブート用ドライブは適当なSATA SSD を使う事にしました。

    SSD(AHV): 120GB SATA SSD

    SSD(CVM): Crucial P1 1TB NVMe x1

    HDD(DATA): Toshiba MNシリーズ 6TB x1


結果的にこの構成も失敗に終わります。原因はおそらくSkylake 世代のCPU とCrucial P1の相性。CE のインストールは完了するが、CVM が起動しないという状態なのでこちらも早々に見切りをつけて次の構成に。


Round 3

Crucial P1の他ですぐに使える手持ちのNVMe はADATA のエントリーモデルの256GB だけ。家庭用とは言えこれを本番機のCVM 用として使うのは気が引けましたが、ひとまずNVMe 構成にした場合のパフォーマンスを確認する目的で組みました。

    SSD(AHV): 120GB SATA SSD

    SSD(CVM): ADATA SX6000 Lite 256GB NVMe x1

    HDD(DATA): Toshiba MNシリーズ 6TB x1


この構成はパフォーマンス面では満足の行くものになりました。しかしCVM 用に256GB だとやはり容量が不足気味なので、大量のファイルをコピーするとエクステントストアが溢れてしまう可能性があります。よってこの構成もテストのみという事に。

OpLog やCVM のシステム領域を除くと120GB 程度の容量に


Round 4

この構成で完成形となりました。使ってないノートPCから512GB のIntel 760p を回収して流用する事で容量問題をクリア。

    SSD(AHV): 120GB SATA SSD

    SSD(CVM): Intel 760p 512GB NVMe x1

    HDD(DATA): Toshiba MNシリーズ 6TB x1


元のサイズが500GBを超えるとエクステントストア領域にも余裕が生まれる


パフォーマンス面でも申し分無し。

計測は同じデータを使い、Files ⇒ 10G switch ⇒ 10G switch ⇒ PC (NVMe) の環境でダウンロードした時のWindows上のスピードをチェックしました。

Unified cache にロードされていない状態


データがUnified cache に格納された状態


今年のGW 明けに旧ファイルサーバーからのデータ移行を完了して本番稼働に移りましたが、今日まで半年強の間特にトラブルは無し(間に入っているBUFFALO の10G スイッチが固まってアクセス出来なくなった事が2回だけ)で稼働しています。


バックアップについて

当初の計画では筐体内ディスクミラー構成にする予定でしたが、思いのほかパフォーマンスが出なかったので結局NVMe + HDD のRF1構成に変更しました。ただ、これだとディスク故障がそのままFiles障害(というよりデータ消失)になるので、バックアップを取る必要があります。このバックアップについてもNutanix CE を利用してNutanix 標準のAsync DRで取る形にしました。

Nutanix CE をインストールする筐体はこれも余っていたIntel NUC を流用する形にしました。NUC のストーレジはM.2スロット 1基と2.5" ベイ 1基なのでこのままでは5TBのFilesのバックアップには容量が足りません。そこでNUC のUSB3.0 ポートにUSB-HDD を増設し、容量を稼ぐことにしました。出来上がったのが下図の構成。
Nutanix CE 5.18は構成するディスクにUSB-HDD を利用する事が可能なので、ノートPCなどストレージの拡張が厳しいプラットフォームでもNutanix CE を動作させる事が可能です。

SATA SSD + 2.5"HDD + USB-HDD 構成


おまけ

Nutanix Files はデータの圧縮機能を標準装備しています。Nutanix CE 上に構築したFiles でもこの機能はデフォルトで有効になっているのですが、我が家のファイルサーバー環境だとどれくらい圧縮が効いているのか確認してみると下図の圧縮率となっていました。


まあ、ご家庭用という事で置いてあるデータの殆どが元々圧縮済みのjpgや音楽や動画といったエンタメ系のファイルなのでこんなものなんでしょう。

Filesの機能の一つである「以前のバージョン」機能もきちんと働いていて、間違って上書きしてしまったファイルをセルフサービスで戻す事が出来ました。


総括

製品の事をちゃんと理解するためには自分で(本番環境で)使ってみるというのが昔からの王道ですが、Nutanix CE + Files で作るご自宅ファイルサーバーは期待通りきちんと動いてくれています。むしろ予想よりもトラブルが無いのでトラブルシューティングのナレッジが溜まらないのが逆に不満だったり。。

今回のFiles 構築を経て痛感した事は、Nutanix CE で実用環境を作るならCVM 用SSD は必ずNVMe を使うべし! という事。ちょっと動かしてみよう、ならSATA SSD でも問題無いが、パフォーマンスを求めるならNVMe 一択。容量は500GB以上のモデルがお奨めです。


さて、無償で期間限定無く使えるソフトウェアで構築する本格的なファイルサーバー、皆様のご家庭にもお一ついかがでしょうか?


コメント