ひきつづき、ネステッド vSAN 環境セットアップの工夫を紹介します。
今回は、vSAN クラスタのセットアップです。PowerCLI も利用していきます。
これまでの話は下記をどうぞ。
ネステッド vSAN ラボを構築するための工夫 Part.1。(物理 マシン ESXi ~ VCSA デプロイ)
ネステッド vSAN ラボを構築するための工夫 Part.2。(物理マシン ESXi と ESXi VM の準備)
前回までの投稿にて、起動されたネステッド ESXi が用意されているので、
ここからは、クラスタの作成、ESXi の登録、クラスタでの vSAN 有効化
といったことを進めていきます。
3-1. クラスタの作成。
vCenter のインベントリに、クラスタ「vSAN-Cluster」を作成します。
PowerCLI は、以前の投稿にて vCenter に接続したままの状態です。
この時点では、まだ vSAN は有効化していません。
PowerCLI> Get-Datacenter LAB-DC | New-Cluster -Name vSAN-Cluster
3台のネステッド ESXi (Nest-ESXi)を登録します。
- PowerCLI の Add-VMHost コマンドを利用。
- ESXi は、IP アドレスのまま(192.168.1.31 ~ 192.168.1.33)でインベントリ登録。
- ESXi VM は 1つのテンプレート VM からクローンしているため、
ID 重複によるエラーをさけたいのでローカルデータストア(datastore1)は ESXi から除去。 - データストア削除(Remove-Datastore)でエラーになってしまいますが、
データストアは外せるので、今回はエラーを無視しています。
PowerCLI のプロンプトに投入するコマンドラインは、下記のようにします。
"192.168.1.31","192.168.1.32","192.168.1.33" | %{
$hv_name = $_
Add-VMHost -Name $hv_name -Location (Get-Cluster vSAN-Cluster) -User root -Password VMware1! -Force
Get-VMHost $hv_name | Remove-Datastore -Datastore "datastore*" -Confirm:$false -ErrorAction:Ignore
}
Nest-ESXi の VMkernel ポートで vSAN トラフィックを有効にします。
設定対象はクラスタ「vSAN-Cluster」配下の、全ホストの vmk0 です。
本番環境では、vSAN トラフィックは( vmk1 などに)分離することが多いはずですが、
ラボ用途なので今回はシンプルに vmk0 に相乗りさせています。
PowerCLI> Get-Cluster vSAN-Cluster | Get-VMHost | Get-VMHostNetworkAdapter -Name vmk0 | Set-VMHostNetworkAdapter -VsanTrafficEnabled:$true -Confirm:$false
3-2. vSAN クラスタのセットアップ。
クラスタで、vSAN を有効にします。
PowerCLI> Get-Cluster vSAN-Cluster | Set-Cluster -VsanEnabled:$true -Confirm:$false
vSAN ディスクグループを作成します。
「ScsiLun」などから、Nest-ESXi の認識しているデバイス名を確認しておきます。
容量や VMDK の接続順などから、デバイス名を特定できます。
このデバイス名は、Nest-ESXi の vSCSI / VMDK 構成が同じであれば、必ず同じものになります。
PowerCLI> Get-Cluster vSAN-Clusterg | Get-VMHost | Get-VMHostDisk | select VMHost,ScsiLun,TotalSectors | Sort-Object VMHost,ScsiLun
VMHost ScsiLun TotalSectors
------ ------- ------------
192.168.1.31 mpx.vmhba0:C0:T0:L0 33554432
192.168.1.31 mpx.vmhba0:C0:T1:L0 41943040
192.168.1.31 mpx.vmhba0:C0:T2:L0 104857600
192.168.1.31 mpx.vmhba0:C0:T3:L0 104857600
192.168.1.32 mpx.vmhba0:C0:T0:L0 33554432
192.168.1.32 mpx.vmhba0:C0:T1:L0 41943040
192.168.1.32 mpx.vmhba0:C0:T2:L0 104857600
192.168.1.32 mpx.vmhba0:C0:T3:L0 104857600
192.168.1.33 mpx.vmhba0:C0:T0:L0 33554432
192.168.1.33 mpx.vmhba0:C0:T1:L0 41943040
192.168.1.33 mpx.vmhba0:C0:T2:L0 104857600
192.168.1.33 mpx.vmhba0:C0:T3:L0 104857600
各ホストでディスクグループを作成します。
PowerCLI> Get-Cluster vSAN-Cluster | Get-VMHost | New-VsanDiskGroup -SsdCanonicalName mpx.vmhba0:C0:T1:L0 -DataDiskCanonicalName mpx.vmhba0:C0:T2:L0,mpx.vmhba0:C0:T3:L0
ディスクグループ作成が完了すると、その分の
vSAN データストアの容量(CapacityGB)も増加します。
PowerCLI> Get-Cluster vSAN-Cluster | Get-VsanSpaceUsage
Cluster FreeSpaceGB CapacityGB
------- ----------- ----------
vSAN-Cluster 295.945 299.953
これで、vSAN データストアが構成されて、
そこに VM を作成したりできるようになりました。
ネステッド環境上でのポートグループの作成やVM の作成などは、
基本的にネストであることを意識せずに実施します。
ちなみに、vSAN クラスタの PowerCLI でのセットアップについては、以前にも投稿しましたが、
こちらは少し前のものなので、現行のハンズオンラボ環境には未対応です・・・
PowerCLI で vSAN セットアップをためしてみる。
以上、ネステッド vSAN の環境セットアップについての話でした。