VMware Fusionのヘッドレス運用

Snow Leopard Server (Mac OS X 10.6 Server) 上でVMware Fusionを使って、Cent OSをヘッドレスで運用できるように設定してみました。公式にはサポートされていない方法だと思われるのですが、備忘録がわりにまとめます。

マシン : Mac mini サーバーモデル
メモリ : 4GB
HDD : 500GB * 2 (RAID 1運用)
OS : Mac OS X Server 10.6.6
Guest OS : Cent OS 5.5 64bit
ヘッドレス運用でログインしないでも、仮想PC上のCent OSが動作して、Cent OS上のサービスが動くように設定するのが目的です。
まず、普通にVMware上にCent OSをインストールします。特別なことは特にしません。VMware Toolsもインストールします。次に、仮想PCをサスペンドします。
VMwareには、コマンドラインから仮想PCを動かしたりサスペンドしたりすることができる「vmrun」というプログラムが付属しています。このプログラムは、「/Library/Application Support/VMware Fusion」ディレクトリにインストールされます。
ヘッドレスで、仮想PCを動かすには、次のコマンドがマシン起動時に動くようにします。

vmxファイルは、Mac上では普通には表示されませんが、仮想PCのファイルを右クリックして、コンテキストメニューから「パッケージの内容を表示」を選択すると表示されます。
このコマンドをマシン起動時に動くようにするため、「/Library/Launch Daemons」ディレクトリに、「private.myserver.plist」などの名前でファイルを作成し、次の内容を入力します。
— ここから —

— ここまで —
次に、ターミナルで次のように入力して、ファイルの所有者とグループを変更します。

ファイル名やPlistファイルの中の「Label」の値は、適時環境に合わせて変更してください。
後は、再起動すればログインしないでもVMwareが実行されて仮想PCが動作します。動いているかどうかは、仮想PC上のサーバーにsshなどで接続して試してください。
あと、一つ注意点があります。VMwareを実行しているサーバーをシャットダウンするときは、必ず、その前に仮想PCをサスペンドするか、シャットダウンしてください。そのまま、VMwareを実行しているサーバーをシャットダウンすると、仮想PCが強制的に電源を切られた状態になります。Tomcat上で動いているプログラムの場合、pidファイルが残ってしまい、起動しなくなります。(もちろん、pidファイルを消せば起動します)
私の場合は、忘れやすいので、スティッキーズで大きく、デスクトップに「仮想PCをサスペンドすること」と書いておいています。
UPDATE
signal.suspendOnHUPという設定とsignal.powerOffOnTERMという設定を使えばシャットダウン時に安全に仮想PCがシャットダウンするようになるようですが、まだ、検証していません。

関連記事

  1. Visual C++ でのBoostライブラリのビルド方法

  2. 作業を支援するサーバーの仮想化

  3. VMware Fusion上のWindows 8.1でHyper-Vを…

  4. 山手トンネルウォークに参加しました

  5. [お知らせ] 「Safariとエクステンションの連携」というタイトルで…

  6. remapkey

最近の著書

最近の記事