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

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

vSphere 5.0 の覚え書き - (7) ホストのシャットダウンやメンテナンスモードをコマンド操作する

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

コマンドライン (CLI) で ESXi 5.0*1 ホストを操作する方法です。覚え書きとして残しておきます。


ホスト制御系の主なコマンド

  • ホストの状態表示
vicfg-hostops --server <ホスト名/IPアドレス> --operation info
  • ホストをシャットダウン
vicfg-hostops --server <ホスト名/IPアドレス> --operation shutdown
  • ホストをリブート(再起動)
vicfg-hostops --server <ホスト名/IPアドレス> --operation reboot
  • メンテナンスモードへ移行
vicfg-hostops --server <ホスト名/IPアドレス> --operation enter
  • メンテナンスモードを解除
vicfg-hostops --server <ホスト名/IPアドレス> --operation exit

実行例

  • ホストの状態表示
> vicfg-hostops --server vsp1 --operation info
Enter username: root
Enter password:

Host Name            : vsp1.example.com
Manufacturer         : HP
Model                : ProLiant BL465c G7
Processor Type       : AMD Opteron(tm) Processor 6174
CPU Cores            : 24 CPUs x 2199 GHz
Memory Capacity      : 32763.65625 MB
VMotion Enabled      : no
In Maintenance Mode  : no
Last Boot Time       : 2012-01-05T03:21:15.57395Z

>
  • メンテナンスモードかどうか確認(grep で "In Maintenance Mode" 行を抽出)
> vicfg-hostops --server vsp1 --operation info | grep "Maintenance"
Enter username: root
Enter password:
In Maintenance Mode  : no
>
  • メンテナンスモードへ移行
> vicfg-hostops --server vsp1 --operation enter
Enter username: root
Enter password:
Host vsp1.example.com entered into maintenance mode successfully.
>
  • メンテナンスモード中であることを確認
> vicfg-hostops --server vsp1 --operation info | grep "Maintenance"
Enter username: root
Enter password:
In Maintenance Mode  : yes
>
  • メンテナンスモードを解除
> vicfg-hostops --server vsp1 --operation exit
Enter username: root
Enter password:
Host vsp1.example.com exited from maintenance mode successfully.
>
  • ホストの再起動
> vicfg-hostops --server vsp1 --operation reboot
Enter username: root
Enter password:
Host vsp1.example.com rebooted successfully.
>

補足事項

  • 「--username」や「--password」スイッチを使えば、非対話実行できる
  • vMA で vifptarget 済みの場合は、ホスト名やユーザー・パスワードは入力不要
  • Windows から実行する場合
    • PATHEXT 環境変数に「.pl」が無い場合は「vicfg-hostops.pl」として実行する
    • POSIXWindows はパイプの扱いが違うため grep (findstr) は注意

*1:2012.11.30 追記 ESXi 5.1 の場合は http://d.hatena.ne.jp/ogawad/20121130/1354293176