VMwareを使っていて、ホストOSをリブートとかシャットダウンしたいときがあります。仮想マシンの設定でホストの動きに合わせてVMware上のOSもシャットダウンできたりするようなのですが、ホストでshutdownを実行して、同時にVMware上のOSでもシャットダウン処理が実行されるものの、ちゃんと止まる前にホストのシャットダウンが先に完了して、中途半端に仮想マシンが切られてヘタすると仮想マシンのディスクがやられてしまうこともあるようです。
このあたり、VMwareが完全に終了するまでシャットダウンを待ってくれるようにできないのかな。と調べてみたのですがよくわからず、結局、以下のようなスクリプトを今日、作ってみました。すでに運用状態に入っていますので仕事中には実行できず、テスト的に明日の明け方に実行することにしましたけど。
#!/bin/sh IFS=' ' VMLIST=`/usr/bin/vmware-cmd -l` for i in ${VMLIST} do /usr/bin/vmware-cmd ${i} stop & done wait /sbin/shutdown -r now
これ、ちゃんとstopしなかったらどうするの。という点に問題はありますが、うまくいくことを願います。