PowerCLI では、ESXi の「システムの詳細設定」パラメータを確認・変更することができます。
そこで、VSAN Swap オブジェクトの Thick Provision無効化の設定を、
PowerCLI でまとめて確認・設定してみます。
今回のパラメータは、下記で説明されているものです。
VSAN Cormac Blog 〜VSAN 6.2 VM スワップ オブジェクトに関する新機能〜 - Japan Cloud Infrastructure Blog - VMware Blogs
VSAN 6.2 Part 5 - New Sparse VM Swap Object - CormacHogan.com
自宅のラボでは Swap オブジェクトの容量を確保しなくてもよいので、
vSAN クラスタに含まれるすべての ESXi で「有効」に揃えてみます。
PowerCLI スクリプトでの設定変更も紹介されていますが、
あえて今回はシンプルなコマンドラインを使用してみます。
Virtual SAN 6.2 & PowerCLI - Sparse Virtual Swap files - Virtual Blocks
今回、設定変更の対象とする ESXi です。
「vsan-cluster-01」という名前の vSAN クラスタに含まれる ESXi を対象とします。
PowerCLI> Get-Cluster vsan-cluster-01 | Get-VMHost | sort Name | select Name,Version,Build
Name Version Build
---- ------- -----
hv-i21.go-lab.jp 6.5.0 7388607
hv-i22.go-lab.jp 6.5.0 7388607
hv-i23.go-lab.jp 6.5.0 7388607
hv-i24.go-lab.jp 6.5.0 7388607
hv-i25.go-lab.jp 6.5.0 7388607
hv-i26.go-lab.jp 6.5.0 7388607
現時点での設定状態を確認します。
デフォルトでは VSAN.SwapThickProvisionDisabled = 0
(「Thick プロビジョニング無効」を無効にされている状態)です。
ESXi「hv-i24.go-lab.jp」以外は、すでに設定変更していました。
PowerCLI> Get-Cluster vsan-cluster-01 | Get-VMHost | sort Name | Get-AdvancedSetting VSAN.SwapThickProvisionDisabled | select Entity,Name,Value
Entity Name Value
------ ---- -----
hv-i21.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i22.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i23.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i24.go-lab.jp VSAN.SwapThickProvisionDisabled 0
hv-i25.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i26.go-lab.jp VSAN.SwapThickProvisionDisabled 1
下記のように、設定変更をしていなかった ESXi だけに絞って、設定変更してみます。
PowerCLI> Get-Cluster vsan-cluster-01 | Get-VMHost | sort Name | Get-AdvancedSetting -Name VSAN.SwapThickProvisionDisabled | where {$_.Value -ne 1} | select Entity,Name,Value
Entity Name Value
------ ---- -----
hv-i24.go-lab.jp VSAN.SwapThickProvisionDisabled 0
設定変更します。
PowerCLI> Get-Cluster vsan-cluster-01 | Get-VMHost | sort Name | Get-AdvancedSetting -Name VSAN.SwapThickProvisionDisabled | where {$_.Value -ne 1} | Set-AdvancedSetting -Value 1 -Confirm:$false
Name Value Type Description
---- ----- ---- -----------
VSAN.SwapThickPro... 1 VMHost
ESXi「hv-i24.go-lab.jp」の設定が変更され、パラメータが揃いました。
PowerCLI> Get-Cluster vsan-cluster-01 | Get-VMHost | sort Name | Get-AdvancedSetting -Name VSAN.SwapThickProvisionDisabled | select Entity,Name,Value
Entity Name Value
------ ---- -----
hv-i21.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i22.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i23.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i24.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i25.go-lab.jp VSAN.SwapThickProvisionDisabled 1
hv-i26.go-lab.jp VSAN.SwapThickProvisionDisabled 1
PowerCLI を経由して、esxcli を実行することもできます。
そこで、ESXi の実機で設定変更されていることを
「esxcli system settings advanced list」でも確認してみます。
/VSAN/SwapThickProvisionDisabled の IntValue が「1」に変更されていることがわかります。
PowerCLI> (Get-VMHost -Name hv-i24.go-lab.jp | Get-EsxCli -V2).system.settings.advanced.list.Invoke() | where {$_.Path -eq "/VSAN/SwapThickProvisionDisabled"}
DefaultIntValue : 0
DefaultStringValue :
Description : Turn off default thick provisioning type for VM swap object and allow user to control the provisioning type using policy.
IntValue : 1
MaxValue : 1
MinValue : 0
Path : /VSAN/SwapThickProvisionDisabled
StringValue :
Type : integer
ValidCharacters :
以上、PowerCLI で ESXi のパラメータを変更してみる話でした。