素直に自動起動を設定するでも良いのですが、DHCPサーバー等何があってもとにかく起動して欲しいVMがあったりするとコケると割と面倒くさい。そこでrc.localに記述して無理やり起動させる事にしました。あとついでにメンテナンスモードになってたらそれも同時に解除するコマンドも加えてます。今回は/etc/rc.local.d/local.shを編集しました。exit 0の手前くらいに追記すると良さそう? ちなみにrc.local.d以下に適当なファイルを作ってみたのですが再起動したらファイルごと消えてしまいました。新規ファイルはあまり作らない方がいいかもしれません。
# If in Maintenance mode, disable it if [ "$(esxcli system maintenanceMode get )" = "Enabled" ]; then esxcli system maintenanceMode set --enable false fi # VM turn on script vm_turn_on () { VM_NAME=$1 VM_ID=$(vim-cmd vmsvc/getallvms | grep $VM_NAME | awk '{print $1}' ) if [ "$( vim-cmd vmsvc/power.getstate $VM_ID | tail -n 1 )" != "Powered on" ]; then echo $VM_NAME is down. try turn on it. vim-cmd vmsvc/power.on $VM_ID fi } vm_turn_on dhcp vm_turn_on proxy vm_turn_on web vm_turn_on mail vm_turn_on fs0
この例ではdhcp、proxy、web、mail、fs0というVMをとにかく起動させます。多分あまり推奨されない方法ですのであまり積極的にやらない方がいいかもしれません。というかやめときましょう。