VMware Server 2.0 RC1を使ってみる

7月1日にVMware Server 2.0のRC1Release Candidate 1)が出た。ちょっと忙しくてインストールできなかったが、週末にちょっと試してみた。

今回のRC1のリリースで嬉しいことが2つあった。

  1. コンパイルエラー無し(もちろんパッチ無し)でVMware Serverをインストールできるようになった。
  2. Fedora 8やFedora 9をゲストする際、Kernel 2.6.25にVMware Toolsが対応していなかったのが解消した。

全体的には、いい感じで仕上がりつつある感じである。また、今回はβ2から気になっていたリモートコンソールについて直接起動する方法も見つけたので書き留めておく。(「 vmware-vmrcというリモートコンソールの本体だけを使う」)

2008/08/19に“RC2”が出たので、ちょっとだけ使ってみた。「VMware Server 2.0 RC2を使ってみる
RC1から大幅に変わっているところは別に無さそうだ。

何の問題もなくインストールできた

インストールするホストはいつもの実験用Inspiron 1501+Ubuntu 8.04にした。RC1の"VMware Server Users Guide"にある正式サポートのホストOSとして、ついに"Ubuntu Linux 8.04"が載った! これでvmware-any-any-updateに悩まされることもなく、長期に安定してVMware Server 2.xを利用することができる。UbuntuのLTS(長期間サポート版)は個人で利用する人間としてもありがたい。今後、FedoraはもっぱらゲストOSとして使うことになるだろう。

丁度、Inspironにはちょっとした実験のためXen Expressをインストールしてあったが、これをつぶしてUbuntsu 8.04をクリーンインストールする。ソフトウェアの更新を終了してから、その状態で一旦バックアップをとっておき、いよいよVMware Server RC1をインストールする。Ubuntuなので(Fedoraと異なりrpm版ではなく)tar.gz版を使いtarで展開した後、vmware-server-distribにて"./vmware-install.pl"コマンドでインストールする。ネットワークの構成や"Virtual Machines"へのパスなど、一部のカスタマイズを除いて殆どデフォルト値でインストールした。ベータ2でコンパイルできなかったvsockも問題なくコンパイルできた。(VMwareの人の投稿どおり、修正されていた。)

今までFedoraの環境でパッチを当てたり、気分的には良くない警告メッセージに悩まされてきたことを思うと嘘のようである。(vsockのコンパイル時に3行警告メッセージは出たが、それ以外は全くなかった。ちなみにこの警告メッセージは私がβ2で無理矢理ソースを変更してコンパイルした時のものと全く同じだった。多分、同じところを修正しただけなのだろう。「追記:"vsock module"のコンパイル」参照。)なお、β2で出ていた「VMware Server Web Accessを使うためにIPv6の機能を無効にすることを勧めます」というメッセージはなくなったので、UbuntuIPv6の機能はそのまま有効にしておいた。

VMware Server 2.0からはWebベースの管理画面(のVMware Server Web Access)になる。ブラウザを使ったアクセスの仕方や、管理画面の構成はベータ2と殆ど変らなかったので、ここでは特に細かくは触れない。(VMware Server 2.0 β2のインストール」を参照)一点だけ。Internet Explorerで、以前β2などで一回ActiveXをインストールしていると、RC1のActiveXがインストールできない。そこで次のメッセージに従って、一旦、以前のActiveXを削除してから、再度インストールする必要がある。

An outdated VMware Remote Console plug-in has been detected and must be uninstalled in order to install the new version.
Click here for instructions on how to uninstall the old plug-in. Details
1. Close all instances of Internet Explorer.
2. Open Control Panel > Internet Options > Programs > Manage Add-ons.The Manage Add-ons dialog box is displayed.
3. Select the VMwareRemoteConsole Class add-on.
4. In the Delete ActiveX section of the dialog box, click Delete.
5. Click OK.
6. Restart Internet Explorer.
7. Return to the console tab of any virtual machine and install the VMware Remote Console plug-in.

( 1.一旦IEを閉じる。 2.コントロールパネルのあるインターネットオプションを開き、[プログラム]タブから[アドオンの管理]をクリックする。 3. VMwareRemoteConsole Class add-onを選択し、 4.[削除]ボタンをクリック、 5.OKをクリックしでActiveXを削除する。 6. IEを再度立ち上げる。 7. VMware Remote Console plug-inをインストールする。)

さて、VMware Server Web Accessも使えるようになって、これも問題なく利用できるか、と思ったら、何と仮想マシンの新規作成ができなかった。新規作成のガイド画面の最初のところで止まってしまう。[NEXT]ボタンを押しても受け付けない。何度やってもだめなので、vmware-config.plから再度設定してみたが、これも何回やってもNG。vmwareをアンインストールして再度やってもNG。仕方ないので、Ubuntuのバックアップを戻してVMware Server最初からインストールしたら、今度はOKになった。(Ubuntuをバックアップしておいて良かった。)原因は不明だが、最初のインストールの時にNATインタフェースを2つで設定していた(デフォルトでは1つ)。2回目のインストールでは、デフォルトと異なることは出来る限り避けたのでNATインタフェースは1つだけ。これが原因とは考えにくいが、思いつく違いはこれ位しかない。

何はともあれ、ちゃんと動いたのでヨシとした。


Webベース管理画面はイマイチ

VMware Server 1.xで使っていたバイナリベースのRemote Consoleと違い、WebベースのVMware Server Web AccessActiveXなどで実現されているため、どうしても動作がまったりする。サクサク動かない。特にブラウザを動かすクライアントコンピュータはサーバのように高性能ではないので、ちょっと、いらつく。

それから、まだ完成度が低い(開発途中)のためか、マウス操作の環境がいま一つ。例えば、ゲストマシンの設定を確認もしくは変更する場合に、思わず左のInventoryのアイコンをマウスで右クリックしてしまう。Windowsにしろ、GNOMEにしろExplorer等で慣れ親しんだマウスの操作だ。しかし、VMware Server Web Accessでマウスの右クリックを行うと"ブラウザのメニュー"が表示される。普段使っているGUI環境と操作性が異なるので、「使いづらい」という印象が出てしまう。

もう一点、VMware Server Web Accessでイタダケナイのは、リモートコンソール画面である。VMware ServerのリモートコンソールはVMware Server Web Accessとは独立して別のウィンドになっている。Xenのようにゲストのコンソールが管理画面に組み込まれていない。従って、見た目も不自然である。コンソール画面を管理画面とは独立して表示するつもりであれば、最初から[Console]タブのようなものは設けなかっただろう。現在の状況はまだ開発途上であり、将来コンソール画面を管理画面に組み込む計画なのか、または、最初は組み込み式でデザインしたが途中から方針が変わって独立になったため余り意味のない[Console]タブが残ってしまったのか。

そして見た目より困るのは、コンソール画面を出すためにWeb Access仮想マシンをONにして、次にリモートコンソールを開くという2段階の手続きになるため、リモートコンソールが出た時には既に仮想マシンのブートがある程度のところまで進んでしまっていることだ。つまり、BIOSで止めたり、ブートローダを選択することができなくなってしまう。仮想マシンが停止した状態でリモートコンソール画面を出すことができないので、こうなってしまう。何とかならないものか。

色々といじっていて気がついたのだが、管理画面のWeb Accessと、仮想マシンのRemote Consoleが分離してしまったのは、Remote ConsoleをVMware Server専用ではなく、VMware Player、VMware Workstationと共通化(というか、同じ1本のソフトウェアで実現)しようとしたためのような気がする。つまり純粋にRemote Consoleの機能以外のもの(例えば、サーバ上での仮想マシンの設定など)はRemote Consoleに埋め込まず簡易なWeb Accessで実現しようとしたためではないだろうか。そのためにVMware Server 2.0からはWeb AccessとRemote Consoleの一体感がなくなったしまったように思える。(この点に関してはXenの方が好きだ。)

リモートコンソールに関してはもう一つ、ゲストのコンソール画面のスクリーンキャプチャができなくなったもの頂けない。Windowsブルースクリーンのような情報もスクリーンキャプチャがあれば証拠として保存できたのだが。(リモートコンソール・ウィンドウ自信をキャプチャすることはできるが、あとで画像エディタでフレームを取り除く必要があり、ユーザにとっては不便だ。)

とにかく、BIOSの段階で止めたりできないのは大変不便なので、ちょっと抜け道を見つけてみた。(⇒続き

vmware-vmrcというリモートコンソールの本体だけを使う

2009/02/02
vmware-vmrcを単体で使うよりもvmplayerをvmware-vmrcの代わりに使う方法もあった。詳しくは“VMware Playerをリモートコンソールとして使う”を参照

VMware Server Web Accessを使って先ず仮想マシンを起動して次にRemote Consoleを表示する、という動作をLinux上で見ていると余り気が付かないが、Windowsマシン上で使っていると、明らかにWeb AccessとRemote Consoleは別ソフトウェアだと気づく。つまり、Remote ConsoleはActiveXで実現されたブラウザの一部とは思えないデザインである。むしろVMware Playerにそっくりだ。そこでLinux上でRemote Consoleが表示されている状態でpsでプロセスの状態を見ると、

root@ubuntu804:~# ps axww
	:
	:
26866 ?        S      0:01 /root/.mozilla/firefox/32db216z.default/extensions/VMwareVMRC@vmware.com/plugins/bin/vmware-vmrc -h loca
lhost:443 -p 542b43db-bc90-1ec9-121d-9f97f81de1c8 -M 48

という感じで "vmware-vmrc" というプロセスが動いている。これがリモートコンソールの本体のようである。そこで、直接、このコマンドを実行すると、ちゃんとリモートコンソールが起動する。(ちょっとパスが深いが、次のように起動する。)

root@ubuntu804:~# cd /root/.mozilla/firefox/32db216z.default/extensions/VMwareVMRC@vmware.com/plugins
root@ubuntu804:plugins# ./vmware-vmrc

すると次のような画面が現れる。

サーバ名、ユーザ名、パスワードを入力すると次に様に仮想マシンの選択画面が出る。

あとは通常通りにつかえる。マウスのカーソルをフォーカスする必要はあるが、BIOSのメニューへ移行するには十分な時間がある。

これが使いたかったのである。こういった方法はマニュアルの最初にかいておいて頂けると嬉しい。(例えば、「リモートコンソールを直接起動する」とか。) なお、Firefoxプラグインのままだと、パスが深いので使いにくいが、このディレクトリごとどこかにコピーすればいい。

root@ubuntu804:~# mkdir -p /usr/local/bin/vmware
root@ubuntu804:~# tar cf - -C /root/.mozilla/firefox/32db216z.default/extensions/VMwareVMRC\@vmware.com/plugins/ . | tar xf - -C /usr/local/bin/vmware/
root@ubuntu804:~# ls /usr/local/bin/vmware
bin  lib  libconf  np-vmware-vmrc-e.x.p-100265.so  share  vmware-desktop-entry-creator  vmware-vmrc  vmware-vmrc-daemon  vmware-vmrc-legacy  xkeymap
root@ubuntu804:~# ln -s vmware/vmware-vmrc /usr/local/bin/vmware-vmrc
root@ubuntu804:~# 

これで、

root@ubuntu804:~# vmware-vmrc

と指定するだけでリモートコンソールが立ち上がるようになる。

mware-vmrcの引数は?

VMware Server Web Accessから起動されるvmware-vmrcには"-h localhost:443 -p 542b43db-bc90-1ec9-121d-9f97f81de1c8 -M 48"という引数が指定されていて、選択画面なしに特定の仮想マシンのコンソールへ接続できた。VMware Server 1.xのサーバコンソールの引数定義と照らすと、"-h"はサーバのホスト名で":"の後はhttpsのポート番号、"-p"はパスワード指定の筈だが、裸のパスワードではセキュリティが低くなるのでユーザIDとパスワードを一緒にUUIDにマッピングして送っているのだろう。最後の"-M"はVMware Server 1.xのサーバコンソールには無いが、仮想マシンを識別する番号だろう。いくつか仮想マシンを作ってみたところ"-M"の引数は16の倍数(16、32、48....)となっていた。(つまり4ビットを下駄上げして、順番に番号を振っているみたいだ。)ただ、この番号は人間にはわかりずらいので、コンフィグレーションファイル(*.vmx)へのパスでも表現できる筈である。ということで、試しに次のようにコマンドを実行してみた。

root@ubuntu804:~# vmware-vmrc -h localhost:443 -u root -p hirakegoma "[standard] Fedora-9/Fedora-9.vmx"

すると、いきなり(この例では)Fedora-9という仮想マシンのコンソールとなる。

パスワードはコマンド上は裸になっているのでセキュリティ的にはよろしくないが、通信上はSSLを使っているので暗号化されているだろう(未確認)。もし、パスワードだけGUI画面で入力するようにするのであれば"-p"オプションを指定しなければいい。そうすることで、先ほどのログイン画面の内、パスワードのところだけが空白の状態で表示され、パスワードだけ入力すれば済むようになる。
その他のオプションとして、1.xにあった電源を自動的にONにする"-x"は無視される、というか、vmware-vmrcで停止状態の仮想マシンへ接続すると自動的にONになってしまう。2.0からの仕様のようだ。だた、フル画面で起動する"-X"オプションは有効だ。また、Linux版のvmware-vmrcでは次のようにロングネームのオプションも使えた。(Windows版では使えなかった。)

root@ubuntu804:~# vmware-vmrc --host localhost:443 --user root --password hirakegoma "[standard] Fedora-9/Fedora-9.vmx"

Windowsvmware-vmrcは?

Linux版のvmware-vmrcはFirefoxプラグインとして展開されたものを利用できるが、Windows版のvmware-vmrcはどこにあるのか? Linux版と同様にIEへのプラグインとして提供されるのでWebサーバ上のディレクトリに格納されている筈である。それであれば/usr/lib/vmware/WebAccessの下となるが、探したところ、次の場所にあった。(Linux版も同じディレクトリにある。)

Linux版:
/usr/lib/vmware/webAccess/tomcat/apache-tomcat-6.0.16/webapps/ui/plugin/vmware-vmrc-linux-x86.xpi
/usr/lib/vmware/webAccess/tomcat/apache-tomcat-6.0.16/webapps/ui/plugin/vmware-vmrc-linux-x64.xpi
Windows版:
/usr/lib/vmware/webAccess/tomcat/apache-tomcat-6.0.16/webapps/ui/plugin/vmware-vmrc-win32-x86.cab
/usr/lib/vmware/webAccess/tomcat/apache-tomcat-6.0.16/webapps/ui/plugin/vmware-vmrc-win32-x86.xpi

xpiであればLinuxアーカイブマネージャで展開できるし、cabであればWindowsのツールで展開できる。例えばcabファイルをWindowsマシン上へコピーして展開すると"vmware-vmrc-win32-x86"というフォルダができ、そこに"vmware-vmrc.exe"がある。これをクリックして起動してみる、とWindows版では次のようなメッセージが出て終了してしまう。*1

どうもWindows版ではコマンドの引数としてサーバ名や、ユーザ名、起動する仮想マシンの名前を必ず与える必要があるようである。引数は、VMware Server 1.xのRemote Consoleと互換性があるだろうから同様の引数と、2.0からのデータストアのネーミング方法を考慮してコマンドラインで次のように指定することで、すんなりとリモートコンソールが使えるようになった。

C:>vmware-vmrc.exe -l log.txt -h ubuntu804:443 -u "root" -p "hirakegoma" "[standard] Fedora-8/Fedora-8.vmx"

仮想マシンの起動までに25秒程時間がかかったが、仮想マシンの起動の最初の段階からアクセスできるので、次のようにBIOS設定に移行する時間も十分ある。

しかし、見れば見るほどRemote Consoleってvmplayerに似ている....。

おまけ

見れば見るほどRemote Consoleってvmplayerに似ている。「ひょっとして」と思いLinux版の"vmware-vmrc"を"vmplayer"にリネーム(もしくはシンボリックリンク)して実行してみると。

う〜む。いっそのことVMware Serverのリモートコンソールはvmplayerそのものです、と言ってしまった方がユーザとしてもすっきりするのだけど。

2.0の正式リリースが楽しみだ

Release Candidate 1はその名前のとおりリリース候補版なので、余程のことがない限り、このバージョンがほぼ製品版になっていく。(ひどいソフトウェア会社だと、RC2、RC3とか出してくるところもあるが....。VMware社は大丈夫だろう。) たぶん、この時期にRC1をリリースしてくるというのは9月15日からのvmworld 2008の直前に製品版をリリースする積りなのだろうか。

タイミング的にもIntelのG45チップセット対応のマザーボードが出回っているころなので、いいタイミングとなりそうだ。

*1:Error opening the remote virtual machine \: Missing server name or connection configuration file name.

Linux Kernel 2.6.25でもVMware Toolsが使えるようになった

Fedora 8やFedora 9では既にカーネルが2.6.25になってしまっている。これらのOSをゲストとするとVMware Toolsがインストールできない、といったトラブルが続いていた。マウスのオペレーションがちょっと不便だったのと、テキストのコピー&ペーストができないのが不便、といった程度なので我慢して使っていたが、RC1に付属しているVMware Toolsをインストールしてみたところ、こちらも気持よくコンパイルできた。

ただし、Fedora-8でも問題なく使えたが、Fodora-9ではVMware Toolsをインストールすると、/var/log/Xorg.0.logに次のようなログを残してXウィンドウが立ち上がらない。

(II) LoadModule: "vmware"

(II) Loading /usr/lib64/xorg/modules/drivers//vmware_drv.so
dlopen: /usr/lib64/xorg/modules/drivers//vmware_drv.so: undefined symbol: PictureScreenPrivateIndex
(EE) Failed to load /usr/lib64/xorg/modules/drivers//vmware_drv.so
(II) UnloadModule: "vmware"
(EE) Failed to load module "vmware" (loader failed, 7)

VMware Serverはまだ正式版ではなくRC1なので、今後F9(というよりはXorgの新バージョン)に対応して行くことを期待したい。

あと、F8でもF9でも、"HGFS"が使えない。カーネルモジュールは正常に組み込まれているが、ブート時にエラー的なメッセージが出る。HGFSは今まで使ったことがなかったので、設定の問題だけかも知れないが。