VMware Server 2 をコマンドラインから操作
Web ベースの Server Console が賛否両論な VMware Server 2。クライアントプログラムをインストールしなくていいというメリットはあるものの、仮想サーバに ssh で入って作業すればすむことのために、ブラウザから管理画面を開いてマシン起動というのも無駄な気がします。特に私はインターネットから直接アクセスできない自宅内のマシンで、必要な時だけサーバを動かしているため
- インターネットから自宅のゲートウェイサーバに ssh
- etherwake でホストマシンを起こす
- ssh -L 8333:localhost:8333 で クライアント -> ゲートウェイ -> ホストマシン とポート転送
- ブラウザから VMware Server にアクセス
というめんどくさい手順を踏んでいたりします。
そこでコマンドラインインターフェイスはないのかいな? と探していたら見つけました。これまた解りにくいところにドキュメントがあるんだ。
http://www.vmware.com/pdf/vix160_vmrun_command.pdf
vmrun コマンドがそうなのですが、これを使えるようにするには以下の手順を踏む必要があります。まず /etc/ld.so.conf.d 以下にファイルを新規作成し*1、vmware-vix のライブラリパスを記述し、ldconfig を実行します。
まず登録された仮想マシンの一覧を取得しましょう。
$ sudo vi /etc/ld.so.conf.d/vmware.conf
/usr/lib/vmware-vix/lib # これを追記
$ sudo ldconfig
仮想マシンの名前が解ったので、それを指定してマシンを起動します。
$ vmrun -T server -h https://サーバのアドレス:ポート/sdk -u ユーザ名 -p パスワード listRegisteredVM
Total registered VMs: 2
[standard] Ubuntu/Ubuntu.vmx # 私のサーバの例です
[standard] Gutsy/Gutsy.vmx
うーん、やっぱりこのあたりは CentOS の virsh の方が使いやすいですな。vmware-vimsh がそれっぽい感じなのですが、これのドキュメントが見つかりません orz
$ vmrun -T server -h https://サーバのアドレス:ポート/sdk -u ユーザ名 -p パスワード start "[standard] Gutsy/Gutsy.vmx"
*1:名前は適当