2018年7月9日月曜日

ESXi Shellのコマンドを使って仮想マシンのパワーオン・パワーオフを行う方法

VMware Host Clientにログインできないが、ESXiのコンソールにはログインできる状況(たとえば、データセンターやマシンルームでの作業)において、仮想マシンのパワーオン・パワーオフを実施したいことが稀にある。

今回はそのような状況を想定して、ESXiのコンソールから仮想マシンを操作する手順について記載する。

ESXi Shellにログインできるようにする

ESXiのコンソール画面は、通常以下のようなグレーと黄色の表示となっているはずである(時間が経つと黒い画面になる)。


「Alt + F1」を押すと、ESXi Shellモードになる。しかし、以下の通り、ログインプロンプトが表示されない。


これは、ESXi Shellが無効化されていることが原因となるため、一度「Alt + F2」キーでESXi Shellから戻り、「F2」キーを押して設定画面にログインする。


設定画面にて、「Troubleshooting Options」を選択する。


「Enable ESXi Shell」を選択する。


ESXi Shellが有効化されると、右側の表示が「ESXi Shell is Enabled」に変わる。


ここで再度、「Alt + F1」を再度押すと、ESXi Shellのログインプロンプトが表示される。


rootでログインしておこう。


ESXi Shellのコマンドで仮想マシンを停止する

①esxcliコマンドを使う

ESXi Shellで仮想マシンを停止する方法はいくつかある。まずはesxcliコマンドを紹介する。こちらの方法は、仮想マシンのプロセスをkillするという方法になるので、仮想マシンから見ると、突然電源をオフにされたことと同義になる。

まず、以下コマンドで起動中の仮想マシン一覧を取得し、停止したい対象仮想マシンの「World ID」を確認しておく。

[root@localhost:~] esxcli vm process list

先ほど確認した「World ID」を引数として、以下コマンドにて仮想マシンの停止を行うことができる。

[root@localhost:~] esxcli vm process kill -t soft -w <World ID>

※オプション
  • -t : 停止方法を指定するオプション。まずは、softを指定し、それでも停止しない場合はhardで再試行するとよいらしい
  • -w : World IDを指定するためのオプション

実行結果は以下の通り。実行前に存在していた仮想マシンのプロセスがなくなっていることがわかる。


②vim-cmdコマンドを使う

次にvim-cmdコマンドを使う方法を紹介する。こちらは、パワーオフ、シャットダウン、再起動、リセットなど、いくつか停止方法を選ぶことができる。

まずは、停止対象の仮想マシンのVmidを確認するため、全仮想マシンの一覧を取得する。

[root@localhost:~] vim-cmd vmsvc/getallvms

次に、停止対象の仮想マシンの状態を確認する。

[root@localhost:~] vim-cmd  vmsvc/power.getstat <Vmid>

以下コマンドでパワーオフを実施する。

[root@localhost:~] vim-cmd  vmsvc/power.off <Vmid>

なお、パワーオフ系のコマンドは以下の通りとなる。
  • パワーオフ : vim-cmd  vmsvc/power.off <Vmid>
  • 再起動 : vim-cmd  vmsvc/power.reboot <Vmid>
  • リセット : vim-cmd  vmsvc/power.reset <Vmid>
  • シャットダウン : vim-cmd  vmsvc/power.shutdown <Vmid>

ESXi Shellのコマンドで仮想マシンを起動する

仮想マシン起動も、vim-cmdコマンドで実施できる。

まずは、起動対象の仮想マシンのVmidを確認するため、全仮想マシンの一覧を取得する。

[root@localhost:~] vim-cmd vmsvc/getallvms

次に、起動対象の仮想マシンの状態を確認する。

[root@localhost:~] vim-cmd  vmsvc/power.getstat 2

以下コマンドでパワーオンを実施する。

[root@localhost:~] vim-cmd vmsvc/power.on <Vmid>

0 件のコメント:

コメントを投稿

人気の投稿