なんとかかんとか再構築がうまくいきそうなんですが、そうなるとバックアップ手段をどうするか考えなければなりません。
当然、データベース(Oracle)のエクスポートは実施するとして、ここはVMWareの利点を生かして仮想マシン(ゲストOSのファイル)を一気にバックアップとればバックアップしたファイルを戻すだけで復元できてしまいます。しかし、VMWareはゲストOS稼働中のバックアップは動作保障できないとしています。サスペンドまたはシャットダウン(電源OFF)状態でバックアップしなければなりません。
マニュアルを読むとサスペンドは
vmware-cmd <path_to_config>\<config>.vmx suspend
シャットダウンは
vmware-cmd <path_to_config>\<config>.vmx stop
をホストOSから実行してやれば良いみたい。なんだアッサリ簡単ジャン!
と思ったが、甘くはなかった...
サスペンドでは心配なのできちんとシャットダウンしてバックアップをとることにしたのですが、問題はWinNTだということ。シャットダウンだけでは「電源を切ることができます」という画面で止まってしまい、マシン(ここでは仮想マシン)が電源OFFにならないのだ。回避方法がない訳ではないが、それはそれで問題がある(先日の記事「HALの書き換えでVMWare Serverが高負荷に」参照)。
ん~困った...となんとか方法はないか調べていたらありました。(^^)v
vmware-cmd <path_to_config>\<config>.vmx stop hard
とすることで強制的に電源OFFに出来ることがわかりました。ちょうど本物のマシンで言えば電源ボタンを押下したのと同じ動作という事です。イキナリこのコマンドを送ると稼動状態から電源OFFになってしまう(停電になったのと同じ)ので、まず
vmware-cmd <path_to_config>\<config>.vmx stop
を実行して、「電源を切ることができます」という画面になったら
vmware-cmd <path_to_config>\<config>.vmx stop hard
を送ってやれば正常にゲストOSを終了できます。
後は、ファイルをバックアップして
vmware-cmd <path_to_config>\<config>.vmx start
を実行してゲストOSを立ち上げればヨシ!
まあ、実際にはATコマンドでスケジュールするのですが、Oracleをshutdownさせたり、ログインを自動で行ったり結構ややこしいです。でもトラブル時の復旧が簡単に出来るのがウレシイです。
同様に生産管理システムのVM化を実施しております。
参考にさせていただきバックアップを取得しようと思っておりますが、
vmware-cmd <path_to_config>\<config>.vmx stop
と
vmware-cmd <path_to_config>\<config>.vmx stop hard
を続けてスクリプトに記載すると、終了処理が始まってすぐにPowerOffになってしまうのですが、何かWait等実施しているのでしょうか?
突然で申し訳ありませんが、よろしければ教えていただけませんでしょうか?
最近、blogは放置状態なのでお返事が遅くなってしまいました。
この記事を書いたときは
vmware-cmd <path_to_config>\<config>.vmx stop
を
shutdown.bat
とし、
vmware-cmd <path_to_config>\<config>.vmx stop hard
を
poweroff.bat
として任意のフォルダに入れ、この2つのバッチファイルをATコマンドでタスクスケジュール登録して起動させていました。そんなに時間を気にすることがなければshutdown.batとpoweroff.batを5分も空ければ大丈夫でしょう。
ちなみに、バックアップと起動も同様にしていました。