本日のテーマは、NUCの3ストレージ構成についての話です。
実は、おうちクラウドを使う上で、基本的にはストレージが1台あれば、事足ります。ただし、あることをしたい場合だけ、困ります。それは・・・、vSAN です。
vSAN のハードウェア要件はコチラ です。要は、キャッシュ用とデータ用に、それぞれSSD(またはSASやPCIeフラッシュデバイス)が必要になります。これに、元々ESXiがインストールされている領域も含めると、計3台のストレージが必要ということになります。
NUCの搭載可能ストレージ数
まずはNUCのストレージ周りの仕様の話から紹介します。
NUC10i7FNH等に代表される、最も標準的なサイズ (117 x 112 x 51mm) のNUCには、最大2つ のストレージを搭載可能です。
- M2 (2280サイズ): NVMe SSD x 1
- 2.5inch(7mm厚): SATA SSD x 1
例外モデル
- NUC11TNHi70Q (117 x 112 x 54mm)
NUC11 Proの一部のモデルには、拡張スロットが搭載されました。NUC11TNHi70Q (画像左) は、追加で M2(2242サイズ)SATA SSDが搭載可能です。NUC11TNHi70L (画像右) は、追加で 2.5GbE が搭載可能です。
- Extreme キット (デカい)
- NUC 11 Extreme Kit (357 x 189 x 120mm) : M2 (2280サイズ) NVMe SSD x 3 が搭載可能 (画像左)
- NUC 9 (238 x 216 x 96mm) : M2 (2280サイズ) NVMe SSD x 2 + 2.5inch SATA SSD x 1 が搭載可能 (画像右)
上記のような例外モデルを除き、基本的にNUCには2ストレージしかないため、どうやって3つ目のストレージを確保するか?というのが、課題となります。
(ボツ案) USBメモリにESXiを入れる
実は USBメモリにESXi を導入可能です(ESXiのハードウェア要件はコチラ)。NUCにUSBメモリを挿し、インストール時にそのデバイスを指定するだけです。すると、NUCに元々搭載している2つのSSDを、そのままvSAN用のストレージに充てることができます。
注意事項として、詳細は kwmt さんのブログ が詳しいですが、容量によってパーティション構成が異なってきます。私はLocal Datastoreが欲しいため、256GBのUSBメモリを台数分購入しました。
実際、私は2021年、この構成でずっとvSANを運用してきました。が、、いざ運用してみると、度々 PSOD(Purple Screen of Death) が出るようになりました。NUC4台のvSANクラスタで、平均1週間に1度位の頻度でPSODが出たので、なんとかvSANは壊れず運用できるのですが、、やはり、ストレスが溜まります。
そんな中、2021年9月、VMwareから以下の発表がされました。
Removal of SD card/USB as a standalone boot device option (85685)
単体起動デバイスオプションとしての、SDカード/USBの削除 (85685)
なぜブートオプションとしてのSDカード/USBが削除されるのですか?
vSphere のお客様は、SD カードをブート デバイスとして使用した場合に、デバイスの信頼性に関連する多くの問題に遭遇しています。耐久性評価では、ブート オプションとしての SD カードの実行可能性を保証することはできなくなりました。
・・・結構、各所からも同様のトラブルが上がっていたようですね。USBメモリでブートすることは非推奨となりました。かんたんに説明すると、vSphere7から採用されたパーティション構成の一つであるESX-OSDATA領域は、リード/ライト量がとても多く、IO負荷の面で USB/SD カードでは向いていなかったようです。
NUCがvSANするための選択肢
William Lam氏のブログ に、まさに私のようなユーザのための処方箋がまとめられていました。
この中で、私にとって一番魅力的に感じたのが、Storage using Thunderbolt です。Thunderboltは、PICeバスとして認識可能なので、vSAN用ストレージとして選択可能です。つまり、本来NUCが持つストレージのうち一つを、ESXi起動用ストレージとして割り当てることができます。
ここで、ストレージと外部接続portのそれぞれの速度仕様を見てみましょう。
ストレージ側の速度仕様
規格種類 | 最大(実効) 転送速度 | デバイス例 |
---|---|---|
SATA 3 | 6.0Gbps (600MB/s) | SATA SSD |
PCIe 3.0 x4 | 32Gbps (3.94GB/s) | NVMe M.2 |
PCIe 4.0 x4 | 64Gbps (7.88GB/s) | NVMe M.2 |
外部接続port側の速度仕様
規格種類 | 最大転送速度 | 備考 |
---|---|---|
USB 3.0 | 5Gbps | |
USB 3.1 | 10Gbps | |
USB 3.2 | 20Gbps | |
Thunderbolt 3 | 40Gbps | PCIe接続の転送速度:16Gbps / USB3.2の転送速度:10Gbps |
Thunderbolt 4 | 40Gbps | PCIe接続の転送速度:32Gbps / USB3.2の転送速度:10Gbps |
NUC側は、NUC 8 から Thunderbolt 3 に対応しており、NUC 11 から Thunderbolt 4 に対応しております。私が所持するのは NUC 10 なので、16Gbps 程度の速度を持つNVMe M.2 デバイスをThunderbolt 3接続すればよいことになります。
おうちクラウドvSANを刷新
上記の背景により、おうちクラウドでvSANクラスタを組んでいる4台のNUCを対象に、外付け用デバイスを揃えてみました!
以下のパーツを4セット買いました。(私は1TBで買いましたが、vSANキャッシュ用途なら500GBで良かったかも。その場合、2つ合わせて1.5万円位です。)
- Wavlink Thunderbolt 3 Nvme M.2 SSDケース (※Tips:楽天で買った方が安そう)
- Crucial M.2 NVMe CT500P2SSD8JP
このwavlinkのケース、結構オススメです!Thunderbolt 3 接続に対応した NVMe M.2外付けケースは、基本的に結構値が張るものですが、本製品は恐らく唯一1万円以下で購入可能な製品です。しかも、物としてのクオリティ(質感)が高い。同梱物も豊富で、持ち運び用のケースがついてたり、何故かドライバが通常のものと携帯用(銀色のキーホルダー状)の2つも付属しますw
唯一の欠点は、NVMeのチップが両面実装のものだと換装できません。つまり、容量の大きなNVMeだとこのケースには入らないので、注意が必要です。(このページ が参考になりそう)
あ、もう一つ、マイナスポイントがありました。これは4個買ってみて気づいたことですが、4個中2個に、NVMeを固定する金具が入っていませんでした(下の画像)。付属のネジで何とか固定できたのでメーカーに報告はしていませんが、ちょっと印象が悪かったです。皆様もご注意下さい。
緑色の基盤はかなり強力なマグネットで固定されているのですが、外せるので、安心して引っ剥がして下さいw NVMeをネジで固定して、ヒートシンクを取り付け、蓋をすれば完成です。
ケーブル抜けを防止するための固定金具がついているのは好感が持てました(下の画像左)。4個のセットアップが完了しました!
あれ?ESXiから見えないぞ・・・?
意気揚々と電源をOnにすると・・・、あれ、、追加したデバイスがESXiから見えていないぞ・・・? 調査した結果、以下の状況でした。
- デバイスをクライアントPC(Mac)につなげたら認識する。
- BIOS画面からもデバイスが見えていない
- どのデバイスも同じ状況
数日間悩んだ結果、NUCの BIOSアップデート のページで、解決の糸口を見つけました。リリースノートの BIOS Version 0051 の New Fixes/Features の項目を見ると、
Fixed issue recognizing a USB device on a Thunderbolt dock after rebooting.
私のBIOS Version は 0047 だったので、0052 のパッチをあてると、見事、増設したThunderboltデバイスがESXi上に表示されるようになりました! 普段あまり意識しないBIOSバージョンですが、最新に上げたほうが良いのでご注意を!
終わりに
その後、PSODは(今のところ)起きなくなりました。Thunderboltポートを使ってvSANが組めることが分かり、NUCの有用性が高まりましたね!
最後の写真は、実際に稼働させてる様子です。NUCの頭に角が生えて、ちょっと怪しくなりましたw