ESXi にパッチを適用したり、vCenter のクラスタ(HA/DRSなどの)から外したりするときには、
メンテナンスモードにします。
そして、メンテナンスモードへの変更は esxcli コマンドでもできます。
~ # esxcli system maintenanceMode get
Disabled ★いまは通常モード
~ # esxcli system maintenanceMode set --enable=true
~ # esxcli system maintenanceMode get
Enabled ★メンテナンスモードが有効(Enabled)になった。
偶然、このコマンドを打ち間違えたときのErrorメッセージで気づいたのですが、
「--enable=」 には、メンテナンスモードのON/OFFについて
色々な書き方で指定できるようです。
※下のコマンドラインは、「=」のあとにパラメータを指定し忘れています。
~ # esxcli system maintenanceMode set --enable=
Error: While processing '--enable'. Argument type mismatch. Expecting one of {0, 1, n[o], y[es], f[alse], t[rue], off, on}. Got ''
ちょっと違う間違え方をすると、状況に応じたErrorを表示しています。
※「-e」「--enable」どちらも付け忘れた場合
~ # esxcli system maintenanceMode set
Error: Missing required parameter -e|--enable
※「--enable」に値(trueなど)を指定し忘れた場合
~ # esxcli system maintenanceMode set --enable
Error: --enable must have value
esxcli の Error メッセージは、
結構的確なメッセージを出しているようです。
せっかくなのでメンテナンスモードへの変更を色々試してみました。
当然ながら、ちゃんとメンテナンスモードになります。
~ # esxcli system maintenanceMode get
Disabled
~ # esxcli system maintenanceMode set --enable=on
~ # esxcli system maintenanceMode get
Enabled
~ # esxcli system maintenanceMode set --enable=off
~ # esxcli system maintenanceMode get
Disabled
~ # esxcli system maintenanceMode set --enable=yes
~ # esxcli system maintenanceMode get
Enabled
~ # esxcli system maintenanceMode set --enable=no
~ # esxcli system maintenanceMode get
Disabled
~ # esxcli system maintenanceMode set --enable=true
~ # esxcli system maintenanceMode get
Enabled
~ # esxcli system maintenanceMode set --enable=false
~ # esxcli system maintenanceMode get
Disabled
esxcli で困ったときは、ちゃんと Error メッセージを読み直してみたり、
わざと違うまちがえ方をしてみたりすると何かヒントが得られることがあるかもしれません。
以上、esxcli で気づいたことについてでした。