- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!技術的雑談-Windows上のVMWareServer2.0内のVMをコマンドラインで操作する
!!環境
*ホストOS : WindowsXP sp3
*VMWare Server : 2.0.8
!!目的
*VMWare ServerのVMをコマンドラインから一発起動する。
!!手順
!vmrun.exe
VMWare Server 2.0から、従来の.exe形式のコントロールセンターではなくWeb経由のWebアプリケーションでVMの操作を行うようになった。
これはこれで賛否両論あるところだが、まあ、そういうものだから仕方がない。
Linux版のVMWare Server 2.0ではコマンドラインからVMを操作するvmware-vim-cmdとかvmware-vimshなどというコマンドがあるが、Windows版では同名のコマンドは無いようだ。
が、VMWare Serverのインストールディレクトリ(デフォルトだと「C:\Program Files\VMware\VMware Server」)に'''vmrun.exe'''というコマンドがあり、これがvmware-vim-cmdの代わりになっているらしい。
!基本的な使い方
DOS窓もしくはバッチから操作する。
C:\Program Files\VMware\VMware ServerにPathを通すかCDして、引数にパラメータを設定する。
以下はDOS窓から実行したときの使い方。
!現在動いているVMの一覧を表示する
'''list'''サブコマンドを使用する。
vmrun.exe -T server -h https://localhost:8333/sdk -u ******** -p %%%%%%%% list
ここで、********はVMWareのWeb GUIにログインするときのユーザ名(=ホストOSのログインアカウントからドメイン名を除いたもの)、%%%%%%%%はそのパスワードだ。
上記の「https://〜/sdk」はお約束。
「-T」オプションの意味は、
,オプションの文字列,対象VMWareバージョン
,ws,VMWare Workstation
,server,VMWare Server 2.x
,server1,VMWare Server 1.x
の事らしい。
また、他のコマンドでも共通だが、-hの後にはVMWare Serverが動いているホストOSのアドレスをセットする。
検証してみたが、'''「VMware Server Web Access」サービスが止まっている時もvmrun.exeが使用可能だ。'''
これはうれしい!!
内蔵のTomcatが動いていなくてもVMの操作が可能ということだ。
ちなみに、コマンドが成功すると以下のように現在稼働中のVMの一覧が表示される。
Total running VMs: 2
[standard] CentOS 5.2/CentOS 5.2.vmx
[standard] CentOS 5.3/CentOS 5.3.vmx
上記は2つのVMが動いていることを表す。
バッチにする場合はバッチの最後に「pause」を書いておかないと表示結果が一瞬で消えてしまって悲しい。
!登録されているVMを一覧する
'''listRegisteredVM'''サブコマンドを使う。
実行すると以下のように登録されているVMが一覧される。
Total registered VMs: 4
[standard] Windows Server 2003 R2/Windows Server 2003 R2.vmx
[standard] CentOS 5.2/CentOS 5.2.vmx
[standard] CentOS 5.3/CentOS 5.3.vmx
[standard] Solaris10/Solaris10.vmx
!VMを起動する(VMの電源をONする)
'''start'''サブコマンドを使う。
startサブコマンドの後に起動したいVMの名前を指定するが、上記のlistやlistRegisteredVMの表示結果の「[standard]」も含めて指定してやる必要があるらしい。
([standard]というのはGUIで言うところのストレージ、実Pathで言うと「C:\Virtual Machines」以下の事らしい。)
以下のようにコマンドを実行する。
vmrun.exe -T server -h https://localhost:8333/sdk -u ******** -p %%%%%%%% start "[standard] CentOS 5.2/CentOS 5.2.vmx"
VM名に半角スペースが入る場合は""でくくってあげること。
!VMを停止する(VMの電源を切る)
同様に'''stop'''サブコマンドを使用する。
ただし、注意しなくてはいけないのは、このコマンドは「VMの電源を切る」コマンドであって、「Guest OSをShutdownするコマンドではない」ということだ。
普通のPCだったらいきなり電源をプッチンするのと同じなので、普通の場合はGuest OS内からshutdown -h nowとか、スタートメニューから終了オプションを選択してやること。
vmrun.exe -T server -h https://localhost:8333/sdk -u ******** -p %%%%%%%% stop "[standard] CentOS 5.2/CentOS 5.2.vmx"
!!履歴
2009/04/15 -- 初版
[[技術的雑談]]へ戻る
!!突っ込み
{{comment}}
[[技術的雑談]]へ戻る
{{trackback}}
[[技術的雑談]]へ戻る