ESXi の VM には、vCPU数、仮想メモリ容量、仮想ディスク、仮想NIC・・・
といった VM への一般的なリソース割り当て設定以外にも、
VM の動作を変更できるフラグ設定がいくつかあります。
vSphere Client では主に、仮想マシンのプロパティの「オプション」タブや、
「リソース」タブのあたりで設定できます。
このフラグ設定は、vSphere Client や Web Client や .vmx ファイルだけでなく、
PowerCLI からでも確認することができます。
たとえば、vm01 という VM がある場合、
PowerCLI> Get-VM vm01
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
vm01 PoweredOn 1 0.250
PowerCLI からは下記のようにフラグ設定を見ることができます。
PowerCLI> (Get-VM vm01).ExtensionData.Config.Flags
DisableAcceleration : False
EnableLogging : True
UseToe : False
RunWithDebugInfo : False
MonitorType : release
HtSharing : any
SnapshotDisabled : False
SnapshotLocked : False
DiskUuidEnabled : False
VirtualMmuUsage : automatic
VirtualExecUsage : hvAuto
SnapshotPowerOffBehavior : powerOff
RecordReplayEnabled : False
DynamicType :
DynamicProperty :
そして、下記のようなコマンドラインにすると、
見たいフラグ設定だけを表示することができます。
※赤字の部分で、2つのフラグ(VirtualMmuUsage と VirtualExecUsage)だけに絞って表示しています。
PowerCLI> (Get-VM vm01).ExtensionData.Config.Flags | select VirtualMmuUsage,VirtualExecUsage | fl
VirtualMmuUsage : automatic
VirtualExecUsage : hvAuto
同様の情報は、下記のように表示することもできます。
PowerCLI> Get-VM vm01 | select Name,{$_.ExtensionData.Config.Flags.VirtualMmuUsage},{$_.ExtensionData.Config.Flags.VirtualExecUsage} | ft -AutoSize
Name $_.ExtensionData.Config.Flags.VirtualMmuUsage $_.ExtensionData.Config.Flags.VirtualExecUsage
---- --------------------------------------------- ----------------------------------------------
vm01 automatic hvAuto
複数 VM のフラグ設定をまとめて表示する場合は、
上記のうち2つ目のコマンドラインのほうが向いています。
ヘッダを整えて、VM の起動状態も見られるようにしてみました。
Get-VM 直後の 「vm0?」 の部分で、表示対象の VM を絞っています。
※「?」だと1文字、「*」だと複数文字のかわりになります。
※ちょっと長いですが、コマンドラインは1行で実行します。
PowerCLI> Get-VM vm0? | select Name,PowerState,@{N="VirtualMmuUsage";E={$_.ExtensionData.Config.Flags.VirtualMmuUsage}},@{N="VirtualExecUsage";E={
$_.ExtensionData.Config.Flags.VirtualExecUsage}} | sort Name | ft -AutoSize
Name PowerState VirtualMmuUsage VirtualExecUsage
---- ---------- --------------- ----------------
vm01 PoweredOn automatic hvAuto
vm02 PoweredOn off hvOff
vm03 PoweredOn off hvOn
vm04 PoweredOn on hvOn
vm05 PoweredOff automatic hvAuto
vm06 PoweredOff automatic hvAuto
vm07 PoweredOff automatic hvAuto
ちなみに、上記の VM は「CPU/MMU 仮想化」設定を次のように変更してみています。
※今回は、ESXi 5.5 u1 と PowerCLI 5.1 R2 の環境で試しています。
- vm01 → 自動
- vm02 → ソフトウェア
(命令セットとMMU仮想化にソフトウェアを使用) - vm03 → CPU
(Intel VT-x/AMD-Vを命令セット仮想化に使用し、ソフトウェアをMMU仮想化に使用) - vm04 → CPU/MMU
(Intel VT-x/AMD-Vを命令セット仮想化に使用し、Intel EPT/AMD RVIをMMU仮想化に使用)
フラグ設定を変更する機会はあまりないかもしれませんが、
もしかしたら下記のようなケースで複数台の VM の設定状態を
まとめて確認してみたい場合などに使えるかもしれません。
Windows 2008 R2 and Solaris 10 64-bit virtual machines blue screen or kernel panic when running on ESXi 5.x with an Intel E5 v2 series processor (2073791)
http://kb.vmware.com/kb/2073791
以上、VM のフラグ設定を PowerCLI で表示してみる話でした。