我が家では Linux(現在は CentOS) 上の VMware Server 1.0 を VM ホストとし、この VM ホストマシン自身や VM ゲスト数台を自宅サーバー群として運用している。VM ゲスト群は用途に応じて DRBD+Heartbeat による HA クラスタリング構成を採り、物理 HDD は LVM で束ねて柔軟に運用。データのバックアップは dar や rsync で定期的に別 HDD に自動取得しつつ、重要度ごとに世代管理。自動化ができなくなってやや退化した感は否めない「ナンチャッテ VMotion」(NAS 上に置いた VM ゲストや VM ホストから直接コピーした VM ゲストを Windows クライアント等の別マシンで起動)も、ゲスト OS の再起動時等、けっこう便利に活用中だ。

VM ホストがコケれば冗長化に腐心した VM たちも一瞬で全滅する SPOF を抱えている点が致命的と言う話もあるが、「これもウチの子の個性」と目をつぶれば、自宅サーバーとしてはこのスタイルでそこそこ上手く回っていると自負している。性能や使い勝手で不満な点は特にないので、VMware Server 2.0 に乗り換える積極的な理由は、今のところない。

しかしそれほど大きなトラブルもなく安定稼動を続けていると、だんだんと飽きて来るのも事実。そこで 2~3ヶ月程前に何か新しいネタはないかと探していたときに、VMware ESXi 3.5 を USB メモリにインストールできるという情報を目にした。

今さら説明するまでもなく VMware ESXi は 2008年 7月に VMware 社が無償公開するハイパーバイザー型の仮想化ソリューションで、当時は VMware Infrastructure 3、現在の最新版 VMware vSphere 4 を構成するコンポーネントの一部だ。VMware ESX と ESXi の違いについては、こちらでわかりやすく解説されている。

ESX/ESXi は VMware 社から対応ハードウェア互換性リスト(HCL) なるものが公表されており、非対応マシンでは動作しない、インストールもできない等、動作環境の条件が厳しいイメージが強かった。かつて HCL を見たときも我が家の物理サーバー Dell PowerEdge 830 は載っていなかったので「ウチでは無理だ」と諦めていたのだが、「USB メモリから起動可能」と言う話を聞いて、希望が復活した。

結論から書くと、手元にあった 2つの USB メモリで試したところ、これは OK で、これは起動ドライブとして認識されなかった。コンパクトな後者はサーバーに挿しっぱなしにすのにベストだと思ったのだが、USB メモリと見せかけて実は Micro SD カードなので、それが原因かもしれない。通常の USB メモリをサーバーに挿しっぱなしにする場合は、何かの拍子で端子部にモーメントをかけてヘシ折らないよう、注意する必要がある。

VMware ESXi の USB メモリへのインストール方法は各所で解説されているが、まとめると次のようになる。

まず VMware 社のサイトから、VMware ESXi 3.5 Update 4 の ISO ファイル "VMware-VMvisor-InstallerCD-3.5.0_Update_4-153875.i386.iso" を入手し、以下の手順で進める。<DEVICE> は USB メモリのデバイスファイル /dev/sd? を指定する。USB メモリはモノによって当たり外れがあるかもしれないが、容量は 1GB あれば十分だ。

# mount -o loop -t iso9660 VMware-VMvisor-InstallerCD-3.5.0_Update_4-153875.i386.iso /mnt/cdrom ← ISO ファイルをループバック・デバイスにマウント

# mkdir /tmp/esxi

# cp /mnt/cdrom/install.tgz /tmp/esxi/ ← インストーラーをコピー

# cd /tmp/esxi/

# tar xvfz install.tgz ← インストーラーを展開

# cd usr/lib/vmware/installer/

# bzip2 -d VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2 ← BZ2 ファイルを展開

# dd if=VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd of=/dev/<DEVICE> ← イメージファイルを USB メモリに書き込み

# umount /mnt/cdrom ← アンマウント

以上で USB メモリへのインストールは完了。我が家の PowerEdge 830 を USB メモリから起動させるには BIOS 設定を変更する必要があった。

20090616b_1.jpg
Windows XP の「ディスクの管理」で見た ESXi インストール済みの USB メモリ 

めでたく USB メモリからの起動は確認できたが、残念ながら我が家ではまだ ESXi への移行は難しい。と言うのも、VM ホストである CentOS を ESXi にしてしまうと、唯一の物理的な Linux マシンがいなくなり、iSCSI か NFS による共有ストレージを構築できなくなるためだ。現在 Windows 上の VMware Server 間の「ナンチャッテ VMotion」でムリヤリ実現しているような緊急時に別マシンで VM ゲストを起動する手法は、同様に USB メモリを使って他の Windows マシンを一時的に ESXi に仕立てれば何とかなるだろうが、共有ストレージは必須。今ある CIFS/SMB な LinkStation ではなく、iSCSI や NFS が使える TeraStation 等を導入するか Linux マシンを 1台増やすかして、「ちゃんと使える」共有ストレージを構築するのが理想だ。

しかし落ち着いて考えてみると、ESXi でマジメに環境構築するのであれば、Xen の方が現実的かもしれない。どうせゲスト OS はほとんど Linux だし、VMware 独自の仮想化専用 OS とも言える ESX/ESXi と違って Xen の Domain-0 は慣れ親しんだ Linux なので、DRBD を使って共有ストレージの部分を物理的に省けば物理サーバーが 2台だけで済む(OSC 2009 Tokyo/Spring で展示されていた)。何より、本物のライブ・マイグレーションが無償で使えるのは魅力だ。小型でパワフルなサーバーかノート PC を 2台調達して Xen をインストール、現行の PowerEdge 830 はストレージサーバーとして・・・。おや、何だかすぐにでもできそうな気がして来たぞ(※ あくまでも技術的な話。マシン 2台の稟議を通すのは別問題)。

・・・等と本エントリーをチンタラ書いている間(書こうと思ったのは 4月初旬)の 5/21 に、VMware ESXi 4 がリリースされていた。こっちも早速試してみたいところだが、今はちょっと遊んでいる余裕がないのでとりあえず ESXi 4 だけいただいておいて、検証はまた今度。

Comments are closed.