PowerCLI で ネステッド ESXi 環境むけの VSAN.FakeSCSIReservations を設定してみる。



  • vSAN データストアにネステッド ESXi (ゲスト OS として ESXi をインストール)を配置するときに、

    仮想ディスクのフォーマット エラー対策などで物理サーバ側の ESXi で

    /VSAN/FakeSCSIReservations を有効にします。

    参考: How to run Nested ESXi on top of a VSAN datastore?

    https://www.virtuallyghetto.com/2013/11/how-to-run-nested-esxi-on-top-of-vsan.html

    今回は、PowerCLI で /VSAN/FakeSCSIReservations を有効にしてみます。

    vSAN クラスタに参加している ESXi のみに設定するため、

    対象クラスタを取得してから、パイプで設定コマンドに渡します。

    今回の対象クラスタは infra-cluster-01 です。

    PowerCLI> Get-Cluster infra-cluster-01 | select Name,VsanEnabled

    Name VsanEnabled


    infra-cluster-01 True

    対象の ESXi です。

    PowerCLI> **Get-Cluster infra-cluster-01 | Get-VMHost | Sort-Object Name | select Name,ConnectionState,PowerState,Version,**Build | ft -AutoSize

    Name ConnectionState PowerState Version Build


    infra-esxi-01.go-lab.jp Connected PoweredOn 6.7.0 8169922

    infra-esxi-02.go-lab.jp Connected PoweredOn 6.7.0 8169922

    infra-esxi-03.go-lab.jp Connected PoweredOn 6.7.0 8169922

    infra-esxi-04.go-lab.jp Connected PoweredOn 6.7.0 8169922

    infra-esxi-05.go-lab.jp Connected PoweredOn 6.7.0 8169922

    infra-esxi-06.go-lab.jp Connected PoweredOn 6.7.0 8169922

    現状の設定を確認しておきます。

    VSAN.FakeSCSIReservations は、まだ無効の「0」です。

    PowerCLI> Get-Cluster infra-cluster-01 | Get-VMHost | Sort-Object Name | select Name,{$_|Get-AdvancedSetting VSAN.FakeSCSIReservations}

    Name $_|Get-AdvancedSetting VSAN.FakeSCSIReservations


    infra-esxi-01.go-lab.jp VSAN.FakeSCSIReservations:0

    infra-esxi-02.go-lab.jp VSAN.FakeSCSIReservations:0

    infra-esxi-03.go-lab.jp VSAN.FakeSCSIReservations:0

    infra-esxi-04.go-lab.jp VSAN.FakeSCSIReservations:0

    infra-esxi-05.go-lab.jp VSAN.FakeSCSIReservations:0

    infra-esxi-06.go-lab.jp VSAN.FakeSCSIReservations:0

    設定変更します。

    VSAN.FakeSCSIReservations を、有効の「1」にします。

    PowerCLI> Get-Cluster infra-cluster-01 | Get-VMHost | Sort-Object Name | Get-AdvancedSetting VSAN.FakeSCSIReservations | Set-AdvancedSetting -Value 1 -Confirm:$false

    設定変更されました。

    PowerCLI> Get-Cluster infra-cluster-01 | Get-VMHost | Sort-Object Name | select Name,{$_|Get-AdvancedSetting VSAN.FakeSCSIReservations}

    Name $_|Get-AdvancedSetting VSAN.FakeSCSIReservations


    infra-esxi-01.go-lab.jp VSAN.FakeSCSIReservations:1

    infra-esxi-02.go-lab.jp VSAN.FakeSCSIReservations:1

    infra-esxi-03.go-lab.jp VSAN.FakeSCSIReservations:1

    infra-esxi-04.go-lab.jp VSAN.FakeSCSIReservations:1

    infra-esxi-05.go-lab.jp VSAN.FakeSCSIReservations:1

    infra-esxi-06.go-lab.jp VSAN.FakeSCSIReservations:1

    下記のように列名の表示などを調整することもできます。

    PowerCLI> Get-Cluster infra-cluster-01 | Get-VMHost | Sort-Object Name | select Name,@{N="VSAN.FakeSCSIReservations";E={****($_|Get-AdvancedSetting VSAN.FakeSCSIReservations).Value}}

    Name VSAN.FakeSCSIReservations


    infra-esxi-01.go-lab.jp 1

    infra-esxi-02.go-lab.jp 1

    infra-esxi-03.go-lab.jp 1

    infra-esxi-04.go-lab.jp 1

    infra-esxi-05.go-lab.jp 1

    infra-esxi-06.go-lab.jp 1

    設定が統一されているか、グルーピングして確認することもできます。

    VSAN.FakeSCSIReservations が「1」の ESXi ホストをグルーピングして、

    6台すべての設定が統一されていることがわかります。

    PowerCLI> **Get-Cluster infra-cluster-01 | Get-VMHost | Sort-Object Name | Get-AdvancedSetting VSAN.FakeSCSIReservations | Group-Object Name,**Value | select Count,Name,{$_.Group.Entity}

    Count Name $_.Group.Entity


    6 VSAN.FakeSCSIReservations, 1 {infra-esxi-01.go-lab.jp, infra-esxi-02.go-lab.jp, infra-esxi-03.go-lab.jp, infra...

    下記のようにシンプルに表示することもできます。

    PowerCLI> **Get-Cluster infra-cluster-01 | Get-VMHost | Get-AdvancedSetting VSAN.FakeSCSIReservations | Group-Object Name,**Value | select Count,Name

    Count Name


    6 VSAN.FakeSCSIReservations, 1

    以上、vSAN データストアのネステッド ESXi ラボでの PowerCLI 利用例でした。

    https://communities.vmware.com/people/gowatana/blog/2018/07/28/powercli-nested-vsan-tips


Log in to reply
 

© Lightnetics 2024