ふと VM を vSphere HA 無効のクラスタの ESXi から vSphere HA 有効のクラスタの ESXi に vMotion したら

本当に HA での保護は有効になるのか? とおもったので、実際に確認してみました。

今回は、PowerCLI で確認してみます。

 

使用した PowerCLI のバージョンです。

PowerCLI C:\> (Get-PowerCLIVersion).UserFriendlyVersion

VMware PowerCLI 6.5 Release 1 build 4624819

 

vCenter 6.5 に接続しています。

PowerCLI C:\> $global:DefaultVIServers | fl Name,ProductLine,Version,Build

 

 

Name        : vc-sv01.go-lab.jp

ProductLine : vpx

Version     : 6.5

Build       : 4944578

 

 

「vm01」という名前の VM  を vMotion してみます。

PowerCLI C:\> Get-VM vm01 | fl Name,PowerState,@{N="vmx_os_type";E={$_.ExtensionData.Config.GuestFullName}}

 

 

Name        : vm01

PowerState  : PoweredOn

vmx_os_type : VMware Photon OS (64-bit)

 

 

クラスタを 2つ用意しています。

  • vsan-cluster-01: vSphere HA 有効
  • vsan-cluster-02: vSphere HA 無効

PowerCLI C:\> Get-Cluster vsan-cluster-* | select Name,HAEnabled

 

 

Name            HAEnabled

----            ---------

vsan-cluster-01     False

vsan-cluster-02      True

 

 

現状では、vm01 は vsan-cluster-01 にいて、vSphere HA で保護されていません。

保護されている場合は、VM の ExtensionData.Runtime.DasVmProtection.DasProtected が true になります。

(今回は vHAProtected と表示しています)

PowerCLI C:\> Get-VM vm01 | fl Name,PowerState,VMHost,@{N="Parent";E={$_.VMHost.Parent}},@{N="vHAProtected";E={($_.ExtensionData.Runtime.DasVmProtection).DasProtected}}

 

 

Name         : vm01

PowerState   : PoweredOn

VMHost       : hv-i21.go-lab.jp

Parent       : vsan-cluster-01

vHAProtected :

 

 

vSphere HA が有効な、vsan-cluster-02 の ESXi に vMotion してみます。

クラスタには 3台の ESXi が含まれています。

 

PowerCLI C:\> Get-Cluster vsan-cluster-02 | Get-VMHost | select Name,Version,Build

 

 

Name             Version Build

----             ------- -----

hv-i26.go-lab.jp 6.5.0   4887370

hv-i24.go-lab.jp 6.5.0   4887370

hv-i25.go-lab.jp 6.5.0   4887370

 

 

それでは hv-i24.go-lab.jp という ESXi に vMotion します。

PoweredOn の VM に Move-VM を実行すると、vMotion になります。

PowerCLI C:\> Get-VM vm01 | Move-VM -Destination hv-i24.go-lab.jp -Datastore vsanDatastore-02

 

 

Name                 PowerState Num CPUs MemoryGB

----                 ---------- -------- --------

vm01                 PoweredOn  1        2.000

 

 

vsan-cluster-02 に含まれるホストに vMotion した vm01 は、vSphere HA で保護されました。

PowerCLI C:\> Get-VM vm01 | fl Name,PowerState,VMHost,@{N="Parent";E={$_.VMHost.Parent}},@{N="vHAProtected";E={($_.ExtensionData.Runtime.DasVmProtection).DasProtected}}

 

 

Name         : vm01

PowerState   : PoweredOn

VMHost       : hv-i24.go-lab.jp

Parent       : vsan-cluster-02

vHAProtected : True

 

 

vCenter の イベント でも、VM が保護されたことが分かります。

PowerCLI C:\> Get-VM vm01 | Get-VIEvent -MaxSamples 7 | fl CreatedTime,FullFormattedMessage

 

 

CreatedTime          : 2017/04/07 8:42:08

FullFormattedMessage : Alarm 'Virtual machine memory usage' on vm01 changed fro

                       m Gray to Green

 

CreatedTime          : 2017/04/07 8:42:08

FullFormattedMessage : Alarm 'Virtual machine CPU usage' on vm01 changed from G

                       ray to Green

 

 

CreatedTime          : 2017/04/07 8:41:19

FullFormattedMessage : Virtual machine vm01 in cluster vsan-cluster-02 in dc01

                       is vSphere HA Protected and HA will attempt to restart i

                       t after a failure.

 

 

CreatedTime          : 2017/04/07 8:41:06

FullFormattedMessage : Migration of virtual machine vm01 from hv-i21.go-lab.jp,

                        vsanDatastore-01 to hv-i24.go-lab.jp, vsanDatastore-02

                       completed

 

 

CreatedTime          : 2017/04/07 8:40:47

FullFormattedMessage : Migrating vm01 off host hv-i21.go-lab.jp in dc01

 

 

CreatedTime          : 2017/04/07 8:40:46

FullFormattedMessage : Hot migrating vm01 from hv-i21.go-lab.jp, vsanDatastore-

                       01 in dc01 to hv-i24.go-lab.jp, vsanDatastore-02 in dc01

                        with encryption

 

 

CreatedTime          : 2017/04/07 8:40:45

FullFormattedMessage : Task: Relocate virtual machine

 

 

以上、vSphere HA についての素朴な疑問を実機確認してみる話でした。