最近のVmwareはESXiやServer、Playerが無償で使用できるとはいえ、ダウンロードする際に企業情報を色々入力させられるので、やや面倒です。(昔は何も必要なかったような)
なので、Sun microsystems社のVirtualBoxを使うことが多くなってきました。
VirtualBoxは主に、デスクトップでの使用がメインになりそうですが、サーバ用としても使えそうです。
うちでは、普段使っていないCentOS 5.4のサーバにVirtualBoxをインストールして、そこにゲストOSとしてWindows環境を作りました。
Windowsで何をさせるかというと、ある時間に起動させて、あるソフトを起動させて、終わるとシャットダウンさせると。
しかも、ホストCentOS 5.4も自動起動させたいのです。
まとめると、
(1) ある時間にCentOS 5.4起動
(2) Windows起動
(3) ソフト処理
(4) Windowsシャットダウン
(5) CentOS 5.4シャットダウン
としたかったのです。
まず、(1)なんですけど、これにも方法がいくつかあって、思いついたのは、
(A) BIOSでタイマーセットをする
(B) 他のサーバからWOLで起動させる
なのですが、(A)だと柔軟性に欠けて必要無い日にも起動したりして微妙、今は常時起動させているノートPCがあるので、そこからWOLをさせる(B)にしました。
CentOSのWOLはこちら
次に、(2)ですが、ここが問題でした。
いくら探しても、VirtualBoxにはホストOSの起動時にゲストOSを自動起動させる設定が見当たらない。。。
Webで検索してもなさそう??(探し方が甘い??)
色々探していたら、コマンドラインから操作できることがわかりました。
コマンドラインに隠されたVirtualBoxのチューニング法
これを参考にして、VirtualBoxコマンドの使い方を調べてみるとありました、ゲストOSの起動コマンドが!
うちはvncserverが起動しているのでそこを指定しました。
export DISPLAY=localhost:1
$ VBoxManage startvm < ここにuuidまたはvm名>
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
Waiting for the remote session to open…
Remote session has been successfully opened.
uuidがわからない場合は以下のコマンドで確認できます。
$ VBoxManage list vms
このコマンドをLinuxの起動スクリプトや別のサーバから実行させることで、自動起動ができそうです。
後は(4)と(5)ですが、面倒なので、強引に(5)を実行してゲストごと落とすことに。
まだ、実施はしてませんが、適当な時間がたったら別サーバからshutdownコマンドで落とすことにしました。
Windowsの場合はどうなのかわかりません。コマンドプロンプトから同じことができるのか??
と思ったらありました。
こんな感じでできました。
C:\Program Files\Sun\VirtualBox>VBoxManage.exe startvm “CentOS 5.3”
といいながら、普通にGUIで設定できるのだったらこの努力は。。。
ピンバック: 真実を知ればおのれは自由になる » virtualBox ゲストOS 自動起動