仮想化でプリセールスしてるSEの一日

VMware から Azure まで、インフラや仮想化の最新情報をベンダー色をできるだけ抑えて綴っていきます

ホストのシャットダウンやメンテナンスモードを esxcli コマンドで操作する

f:id:ogawad:20190203195705p:plain:right


今年も VMware ホストのメンテナンスモードやシャットダウンをコマンドライン (CLI) から実行する方法にアップデートがあったようです。

vSphere 5.0 では esxcli という新しい標準 CLI ツールが実装されましたが、
ホストのシャットダウンやメンテナンスモードを操作するコマンドは何故か用意されず、vicfg というレガシーな Perl スクリプトを利用する必要がありました。

「これからの標準 CLI」という名目で登場したにもかかわらず、少し不十分だった esxcli ですが、vSphere 5.1 では色々と強化が図られています。ようやくシャットダウンやリブート、メンテナンスモードも操作できるようになりました。

What’s New in vCLI 5.1? - VMware vCLI 5.1 Release Notes
http://www.vmware.com/support/developer/vcli/vcli51/vsp5_51_vcli_relnotes.html

ホストがメンテナンスモードかどうかを調べる

esxcli system maintenanceMode get


実行例

# esxcli system maintenanceMode get
Enabled
#
# esxcli system maintenanceMode get
Disabled
#

ホストをメンテナンスモードへ移行

esxcli system maintenanceMode set --enable=true
esxcli system maintenanceMode set -e true


実行例

# esxcli system maintenanceMode get
Disabled
# esxcli system maintenanceMode set --enable=true
#
# esxcli system maintenanceMode get
Enabled
# esxcli system maintenanceMode set --enable=true
Maintenance mode is already enabled.
#

ホストのメンテナンスモードを解除

esxcli system maintenanceMode set --enable=false
esxcli system maintenanceMode set -e false

ホストをリブート

esxcli system shutdown reboot -r <理由を記述(必須)>


実行例

# esxcli system shutdown reboot
Error: Missing required parameter -r|--reason

Usage: esxcli system shutdown reboot [cmd options]

Description:
  reboot                Reboot the system. The host must be in maintenance mode.

Cmd options:
  -d|--delay=<long>     Delay interval in seconds
  -r|--reason=<str>     Reason for performing the operation (required)

# esxcli system shutdown reboot -r "Patch applied ESXi510-201210001"
#

ホストをシャットダウン

esxcli system shutdown poweroff -r <理由を記述(必須)>

ESXi 5.1 のコマンド対比表(ポスター)

esxcfg/vicfg, PowerCLI, esxcli が対比する形で一覧になっていて非常に便利です。

http://blogs.vmware.com/vsphere/files/2012/11/ESXi-5.1-Poster.pdf