PowerCLI には、vSAN に対応したコマンドも含まれています。
VMware Hands-on Labs (HOL)のラボを利用して PowerCLI で vSAN の情報を見てみます。
今回は 「vSAN 6.5 の新機能」(HOL-1731-SDC-1 )のシナリオを利用します。
このラボには PowerCLI で vSAN を操作するシナリオ(モジュール 4)も含まれていますが、
今回は モジュール1 での vSphere Web Client での情報確認を PowerCLI で代用してみます。
下記の「HOL-1731-SDC-1 - vSAN v6.5: What's New」です。
まず「レッスン 3:vSAN クラスターの準備」のシナリオを進めて vSAN クラスタを構成しておきます。
デスクトップにある PowerCLI のアイコンをダブルクリック起動して、vCenter に接続します。
PowerCLI> Connect-VIServer vcsa-01a.corp.local
PowerCLI コマンドラインは、HOL の「テキストの送信」を利用します。
vSAN クラスタの設定を確認してみます。
PowerCLI> Get-Cluster | where {$_.VsanEnabled -eq $True} | Get-VsanClusterConfiguration | select Cluster, VsanEnabled, VsanDiskClaimMode, SpaceEfficiencyEnabled | ft -AutoSize
ディスクグループの情報を確認してみます。
IsCacheDisk が True のものがキャッシュ ディスクで、False のものがキャパシティ ディスクです。
PowerCLI> Get-Cluster | where {$_.VsanEnabled -eq $True} | Get-VsanDiskGroup | sort VMHost | select VMHost, DiskGroupType, DiskFormatVersion, @{N="CacheDisk"; E={($_ | Get-VsanDisk | where {$_.IsCacheDisk -eq $true}).Count}}, @{N="CapacityDisk"; E={($_ | Get-VsanDisk | where {$_.IsCacheDisk -ne $true}).Count}}, Uuid | ft -AutoSize
デフォルトのウインドウ幅だと表示しきれないので、必要に応じて変更します。
たとえば、下記でウィンドウ幅を 120 に拡張できます。
$window_width = 120
$pswindow = (Get-Host).ui.rawui
$newsize = $pswindow.buffersize; $newsize.width = $window_width; $pswindow.buffersize = $newsize
$newsize = $pswindow.windowsize; $newsize.width = $window_width; $pswindow.windowsize = $newsize
vSAN ディスクを確認してみます。
PowerCLI> Get-Cluster | where {$_.VsanEnabled -eq $True} | Get-VsanDiskGroup | % {$hv = $_.VMHost; $_ | Get-VsanDisk | % {$path = $_.DevicePath; $_| select @{N="ESXi"; E={$hv.Name}},Uuid, IsCacheDisk, IsSSD, CanonicalName, @{N="CapacityGB"; E={($hv | Get-VMHostDisk | where {$_.DeviceName -eq $path }).ScsiLun.CapacityGB}}}} | ft -AutoSize
vSAN データストアの容量情報を確認してみます。
PowerCLI> Get-Datastore | where {$_.Type -eq "vsan"} | select Name, Type, CapacityGB, FreeSpaceGB, @{N="ProvisionedSpaceGB"; E={($_.CapacityGB - $_.FreeSpaceGB) + ($_.ExtensionData.Summary.Uncommitted / 1GB)}} | ft -AutoSize
各 ESXi ホストのストレージ プロバイダ の情報を見てみます。
PowerCLI> Get-VasaProvider | where {$_.Namespace -eq "VSAN"} | sort Name | select Status, Name, ProviderId | ft -AutoSize
アクティブなプロバイダは下記でわかります。
PowerCLI> Get-VasaStorageArray | where {$_.ModelId -eq "VSAN"} | select @{N="Datastore"; E={$Id = "ds:///vmfs/volumes/" + $_.Id + "/"; (Get-Datastore | where {$_.ExtensionData.Info.Url -eq $Id}).Name}}, Provider, Id | ft -AutoSize
デフォルトのストレージ ポリシー「Virtual SAN Default Storage Policy」のルールを確認してみます。
PowerCLI> Get-SpbmStoragePolicy -Name "Virtual SAN Default Storage Policy" | select -ExpandProperty AnyOfRuleSets | %{$name = $_.Name; $_ | select -ExpandProperty AllOfRules | select @{N="RuleName"; E={$Name}}, Capability, Value} | ft -AutoSize
HOL のシナリオを「レッスン 4: VSAN クラスター キャパシティのスケール アウト」まで進めると、
下記のように vSAN が拡張された様子が確認できます。
vSAN クラスタに、ディスクグループが追加されています。
追加したディスクグループの、キャッシュ ディスクとキャパシティディスクです。
vSAN データストア容量も追加されてます。
このように、vSphere Web Client で確認できる情報と同様のものが、PowerCLI でも確認することができます。
vSAN の構成情報をレポートとして残したい場合などに利用すると便利かもしれません。
以上、PowerCLI で vSAN の情報を見てみる話でした。