3 台の ESXi ホストのローカルディスクで vSAN(分散ストレージ)を構成し、HCI(ハイパーコンバージド)構成にする手順です。vSAN の通信は、アクティブ/スタンバイの 2 本の NIC で冗長化しています。最後に、vSAN の NIC の故障と、データを持つホストの停止で、仮想マシンが止まらないことを確認します。
この記事の前提
参照した公式ドキュメント
vSAN の 2 つの方式
| 方式 | 内容 |
|---|---|
| vSAN OSA(Original Storage Architecture) | ディスクグループ(キャッシュ用 1 本+容量用 1〜7 本)で構成します |
| vSAN ESA(Express Storage Architecture) | vSAN 8.0 からの方式です。認定された NVMe の機器と、vSphere Lifecycle Manager(vLCM)のイメージでの管理などが必要です |
検証環境は ESA の条件(vLCM・メモリーなど)を満たさないため、OSA で構成しました。
主な要件(公式ドキュメントより)
| 項目 | 内容 |
|---|---|
| ホスト | 3 台以上(2 台構成は監視ホスト Witness が必要) |
| ディスク(OSA) | ホストごとにキャッシュ用の SSD 1 本と容量用のディスク 1 本以上。起動ディスクとは別にします |
| ネットワーク | vSAN 用の VMkernel(サービス vSAN)。オールフラッシュでは 10 GbE 以上が推奨です |
| vSphere HA | vSAN を有効にする前に vSphere HA を無効にし、vSAN を有効にしたあとで有効に戻します |
検証環境
| 項目 | 内容 |
|---|---|
| ホスト | doc-esx1〜3(各ホストに 20 GB と 60 GB の空きディスク、SSD として認識) |
| vSAN の通信 | ポートグループ vSAN(アクティブ Uplink 4=vmnic4、スタンバイ Uplink 3=vmnic3)、vmk4 10.20.83.x(ネットワーク設定手順で作成) |
vSphere HA の一時的な無効化
(1) クラスタの [Configure] → [vSphere Availability] で [EDIT] をクリックし、[vSphere HA] をオフにして [OK] をクリックします。

vSAN の構成
(1) クラスタの [Configure] → [vSAN] → [Services] を開きます。構成の種類で [vSAN HCI] を選び、[Single site vSAN cluster] を選んで [CONFIGURE] をクリックします。

| 種類 | 説明 |
|---|---|
| vSAN HCI | ホストのディスクで vSAN を作り、同じホストで仮想マシンを動かします |
| vSAN Compute Cluster | ほかのクラスタの vSAN データストアをマウントして使うだけのクラスタです |
| vSAN Max | ストレージ専用の vSAN クラスタです(ESA) |
| Single site / Two node / Stretched | 1 拠点、2 台+Witness、2 拠点にまたがる構成です |
(2) [vSAN ESA] で、ESA を使うかを選びます。検証環境では「Based on the prechecks your hardware compatibility or cluster configuration is not eligible for vSAN ESA.」と表示され、vLCM とメモリーの確認でエラーになっているため、オフ(OSA)のまま [NEXT] をクリックします。

(3) [Services] で、容量の効率化や暗号化を選んで [NEXT] をクリックします。ここではすべて既定のままにしました。

| 項目 | 説明 | 設定値 |
|---|---|---|
| Space efficiency | 重複排除・圧縮です(オールフラッシュのみ) | None |
| Data-At-Rest encryption | ディスクに書くデータを暗号化します。キープロバイダーが必要です | オフ |
| Data-In-Transit encryption | ホスト間の vSAN の通信を暗号化します | オフ |
| Allow reduced redundancy | 再構成の間、一時的に冗長性が下がることを許可します | オフ |
| RDMA support | RDMA 対応 NIC で vSAN の通信を行います | オフ |
(4) [Claim disks] で、ディスクの使い道を確認して [NEXT] をクリックします。同じ型番・容量のディスクがまとめて表示され、小さいディスク(20 GB)が [Cache tier]、大きいディスク(60 GB)が [Capacity tier] に自動で割り当てられました。

入れ子の環境などで SSD が HDD と認識される場合は、[Drive Type] を [Flash] に変えられます。
(5) [Create fault domains] で、障害ドメイン(同時に止まる可能性のあるホストのまとまり、例:同じラック)を設定します。ここでは設定せず [NEXT] をクリックします。「With the current configuration you can tolerate up to 1 failures.」と表示されます。

(6) [Review] で内容を確認して [FINISH] をクリックします。

(7) 数分で vSAN が有効になり、[vSAN Services] に各サービスの状態が表示されます。

(8) クラスタの [Datastores] タブに vsanDatastore(約 180 GB=60 GB×3 台)が追加されます。

(9) [Configure] → [vSAN] → [Disk Management] で、3 台のホストがすべて [Healthy]、ディスクグループが 3 つ(ホストごとに 1 つ)あることを確認します。

(10) 最初に無効にした vSphere HA を、[vSphere Availability] の [EDIT] で有効に戻します。vSAN を有効にしたクラスタでは、HA のハートビートは vSAN のネットワークで行われます。
仮想マシンを vSAN に移す(Storage vMotion)
(1) 仮想マシン(rocky01)の [ACTIONS] → [Migrate] で [Change storage only] を選んで [NEXT] をクリックします。
(2) [VM Storage Policy] で [vSAN Default Storage Policy] を選び、[vsanDatastore] を選んで [NEXT]、[FINISH] をクリックします。下に、vSAN で使う容量(20 GB のディスクで 40 GB=2 つの複製)が表示されます。

| ポリシー(vSAN Default Storage Policy の主な値) | 内容 |
|---|---|
| Failures to tolerate | 1 failure – RAID-1 (Mirroring):データを 2 つのホストに複製し、1 台の故障に耐えます |
| Number of disk stripes per object | 1 |
| Object space reservation | Thin provisioning |
(3) 仮想マシンの [Hard disk 1] が vsanDatastore になったことを確認します。

(4) 仮想マシンの [Monitor] → [vSAN] → [Physical disk placement] で、データの置き場所を確認します。ハードディスクは RAID 1 で 2 つのホストに複製(Component)され、3 台目のホストに監視用の Witness が置かれています。

動作の確認
検証のための手順です。本番環境では行わないでください。
vSAN の NIC の故障
(1) rocky01 が動いているホスト(192.168.1.115)で、vSAN のアクティブの NIC(vmnic4)のケーブルを抜いた状態にします(検証環境では入れ子の ESXi の仮想 NIC をリンクダウン)。ホストの [Configure] → [Networking] → [Physical adapters] で vmnic4 が [Down] になります。

【検証結果】vSAN の通信はスタンバイの vmnic3 に切り替わり、vmk4 から他のホストへの vmkping も、仮想マシンの中でのディスクへの書き込み(200 MiB)も問題なく行えました。
データを持つホストの停止
(1) rocky01 のデータの複製を持つホスト(192.168.1.116)の電源を強制的に切ります。ホストは [Not responding] になり、[Physical disk placement] でそのホストの Component や Witness が [Absent] になります。vSAN 8 では、残ったホストに書き込みを記録する一時的な Component(RAID_D、耐久性コンポーネント)が作られます。

【検証結果】ホストの停止の前後 2 分間、rocky01 へ 0.5 秒ごとに送った ping は 1 回も失われず(240/240)、仮想マシンの中でのディスクへの書き込みも行えました。もう 1 つの複製(192.168.1.114)でそのまま動き続けています。
(2) 停止したホストの電源を入れると、数分で再同期が終わり、すべての Component が [Active] に戻ります。

停止したホストが 60 分(既定)以上戻らない場合、vSAN はほかのホストにデータを作り直します(ホストが 4 台以上で空きがある場合)。