VMware vSANでハイパーコンバージドストレージを自作:ローカルディスクからプロフェッショナルなクラスター構築まで

VMware tutorial - IT technology blog
VMware tutorial - IT technology blog

vSAN:高価な共有ストレージ問題を解決する「救世主」

従来、vMotion、HA、DRSなどの高度な機能を利用するには、Dell EMCやHPなどの専用ストレージ(SAN/NAS)を導入する必要がありました。これらのシステムは非常に高価で、数千万円単位の費用がかかることも珍しくありません。また、複雑なファイバーチャネル(FC)ケーブルの管理も、システム管理者にとって大きな障壁となっていました。

VMware vSANは、Software-Defined Storage (SDS)技術によってこの状況を一変させました。専用のストレージ筐体を購入する代わりに、ESXiサーバーに直接搭載されたディスク(SSD、HDD)を活用します。vSANはこれらを統合し、クラスター内のすべての仮想マシンに対して単一の共有ストレージプールを提供します。実際の導入事例では、CAPEX(設備投資)を最大40%削減できることが示されています。拡張性も非常に柔軟で、ディスクの追加やホストの追加だけで、即座に容量を増やすことが可能です。

前提条件:「パープルスクリーン」を避けるために

システムが基準を満たしていない状態で、安易にvSANを有効化しないでください。この段階でのミスは、データ損失やシステム停止(PSOD:パープルスクリーン)を招くリスクがあります。

  • ホスト数:データの安全性を確保するため、最低3台のESXiホストが必要です。2ホスト + 1ウィットネス(Witness)構成も可能ですが、自己修復機能を最適に機能させるには3ホスト構成が標準となります。
  • ディスク構成:各ホストには、キャッシュ層(Cache Tier)として最低1台のSSD(NVMeまたはSAS SSD、DWPD > 3を推奨)と、キャパシティ層(Capacity Tier)として最低1台のディスクが必要です。
  • ネットワーク帯域:最低1Gbpsが必要ですが、10Gbpsを強く推奨します。10Gbpsネットワークを使用する場合は、同期速度を最適化するためにジャンボフレーム(MTU 9000)を設定してください。
  • コントローラー:RAIDカードはパススルー(JBOD)モードをサポートしている必要があります。サポートされていない場合は、各ディスクを個別のRAID 0として構成する必要がありますが、この方法は推奨されません。

vCenterでのvSAN構成手順

ステップ1:VMkernelネットワークの設定

vSANデータはホスト間で絶えず交換されます。管理用ネットワークと共有し、VLANを分離していない場合、パフォーマンスに深刻なボトルネックが発生します。

  1. vCenterにログインし、ESXiホストを選択 -> 設定(Configure) -> ネットワーク(Networking) -> VMkernelアダプターを選択します。
  2. ネットワークの追加(Add Networking) -> VMkernelネットワークアダプターをクリックします。
  3. 既存のスイッチを選択し、有効にするサービスvSANにチェックを入れます。

通信の整合性を確保するため、クラスター内のすべてのホストでこの操作を繰り返します。

ステップ2:vSANクラスターの有効化

ネットワークインフラの準備ができたら、共有ストレージ機能を有効化します。

  1. クラスターを右クリック -> 設定(Configure) -> vSAN -> サービス(Services)を選択します。
  2. 構成(Configure)を選択し、構成タイプ(通常はシングルサイトクラスター)を指定します。
  3. vSANが全ホストの未使用ディスクを自動的にスキャンし、ディスクの割り当て(Claiming)の準備をします。

ステップ3:ディスクの役割割り当て(Disk Claiming)

これはシステムの読み書き速度を決定する重要な段階です。各ディスクの種類に応じて役割を明確に指定する必要があります。

  • キャッシュ層(Cache Tier):最も高速で耐久性の高いSSDを選択します。
  • キャパシティ層(Capacity Tier):仮想マシンのデータを保存するための残りのディスクを選択します。

PowerCLIを使用して使用可能なディスクリストを素早く確認したい場合は、以下のスクリプトを使用できます。

# vCenterへの接続
Connect-VIServer -Server 192.168.1.10

# 未使用のローカルディスクをリストアップ
Get-VMHost | Get-VMHostDisk | Where-Object {$_.IsLocal -and $_.ExtensionData.RuntimeName -notlike "*mpx*"}

Skyline Healthによるシステム監視

構成が完了しても、それで終わりではありません。すぐにvSAN Skyline Healthを確認してください。このツールは、RAIDカードのファームウェアが古い場合、MTUが不一致な場合、またはディスクに故障の兆候がある場合などにアラートを出してくれます. ここでの赤い警告は決して無視しないでください。

ストレージポリシーの最適化

vSANでは、仮想マシンレベルで柔軟な管理が可能です。例えば、データベース用VMはRAID 1(ミラーリング)で安全性を高め、テスト用VMはRAID 0で容量を節約するといった設定が可能です。VMストレージポリシーの許容される障害の数(FTT)パラメータを調整してください。3ホストクラスターの場合、FTT=1が最も標準的な構成です。

実践アドバイス:クラスター障害を招く3つの間違い

多くのプロジェクトを通じて得られた、貴重な教訓を紹介します。

  1. コンシューマー向けSSDの使用:キャッシュ層にSamsung EVOなどの一般的なSSDを絶対に使用しないでください。vSANの書き込み負荷により、これらのディスクは数ヶ月で寿命を迎えます。必ずエンタープライズ向けディスクに投資してください。
  2. 時刻の同期ズレ(NTP):vSANは時刻のズレに非常に敏感です。ホスト間の時刻が60秒以上ズレると、クラスターが分断(ネットワークパーティション)される可能性があります。
  3. ユニキャスト/マルチキャストの失念:vSAN 6.6以降はユニキャストを使用しますが、古いシステムのメンテナンスを行う場合は、物理スイッチでマルチキャストをサポートするためにIGMPスヌーピングが有効になっていることを確認してください。

コマンドラインからステータスを素早く確認するには、ESXiにSSHで接続し、以下を入力します。

esxcli vsan cluster get

結果が「Master」または「Agent」と表示され、Local Node Stateが「Normal」であれば、構成は成功です。

ハードウェアとネットワークのルールをしっかり把握していれば、vSANの構築はそれほど難しくありません。一度安定稼働すれば、vSANは従来のSANシステムでは到底及ばない柔軟性をもたらしてくれます。

Share: