ストレージのマウントが外れたのか、仮想マシンの不具合なのか、ESXi ホスト が調子わるいのか、なんだかよくわからないが仮想マシンが操作できなくなっている場合にパワーオフするしかないときに使えるネタをメモしたいと思います。
パワーオフの手順
基本的に、パワーオフに限らず何かしら操作する場合は、GUI(vSphere Client)で行うと思います。今回は GUI でパワーオフできない場合に コマンドライン で実行する方法を説明します。
その前に、まずは仮想マシンを指定して操作する場合に必要になるのが VMID です。仮想マシンの識別子ですね。
VMID を確認するコマンドは以下です。egrep 以降は見やすくしているだけ。
1 2 3 4 5 6 |
# vim-cmd vmsvc/getallvms | egrep "\.vmx|Vmid" Vmid Name File Guest OS Version 16 WS2008r2_01_dom.local [datastore1] WS2008r2_01_dom.local/WS2008r2_01_dom.local.vmx windows7Server64Guest vmx-11 18 ce73_lvs01 [datastore1] ce73_lvs/ce73_lvs.vmx centos64Guest vmx-11 192.168.130.71 19 ce73_nginx01 [datastore1] ce73_nginx/ce73_nginx.vmx centos64Guest vmx-11 ip : 192.168.130.68 20 ce73_php-fpm01 [datastore1] ce73_php-fpm/ce73_php-fpm.vmx centos64Guest vmx-11 ip : 192.168.130.68 |
一番左の数字が VMID になります。コレを踏まえて以下に進みます。
普通にパワーオフする方法
普通にパワーオフする場合のコマンドになります。
1 2 |
# 電源OFF # vim-cmd vmsvc/power.off VMID |
ちなみにシャットダウンする場合は以下です。
1 2 |
# シャットダウン # vim-cmd vmsvc/power.shutdown VMID |
操作できないときに試してみる方法
まずは、現在起動している仮想マシンのリストを取得します。趣旨はVMIDを確認するときと同じで操作対象のVMを特定するために確認をします。
1.仮想マシンのリストを取得
このコマンドは起動しているVMしか表示されません。
1 2 3 4 5 6 7 8 |
# esxcli vm process list ce73_01 World ID: 5183629 ★ Process ID: 0 VMX Cartel ID: 5183628 UUID: 56 4d 17 36 eb be da 55-b5 50 c2 9c 7d b1 e1 5f Display Name: ce73_01 Config File: /vmfs/volumes/xxxxxxxx-xxxx-xxxxxxxxxxx/ce73_01/ce73_de.vmx |
2.仮想マシンをパワーオフします。仮想マシンの特定は ↑の World ID を使います。
1 |
# esxcli vm process kill -t <soft|hard|force> -w <World ID> |
soft と hard と force は soft から順番に試していきます。だいたい予想できますが、softが一番安全にパワーオフします。続いて fard、force は最後の手段です。と VMware のKBでも言われています。
※オプションが長いタイプは以下になります。
1 |
# esxcli vm process kill --type= <soft|hard|force> --world-id= <World ID> |
続いて、仮想マシンを Kill していきます。
1 |
# esxcli vm process kill -t soft -w 5183629 |
正常にパワーオフされれば特に何もメッセージは出ません。
再度、esxcli vm process list コマンドにて確認をすると指定したVMは表示されないはずです。表示されている場合はまだ起動していることになります。
試しに VM の電源状態を確認してみるとちゃんと停止されていました。
1 2 3 |
# vim-cmd vmsvc/power.getstate 32 Retrieved runtime info Powered off |
最後に指定している値は World ID ではなく VMID ですのでお間違いなくです。
GUIから操作できない、通常のパワーオフコマンドで停止できない場合などは使えると思います。
プロセスを確認して強制終了する方法もあります。以下にまとめていますので参考にどうぞ。
以上です。
↓↓↓ VMware を理解する! ~オライリーっぽいカバーで~