VMware社からESXiが無償公開されました。
http://www.vmware.com/jp/products/esxi/
オリジナルのESxiは、USBメモリーに組み込まれ(書き込まれ) 、PC本体に内蔵されることを想定したものです。
一方、無償公開されて、ダウンロードできるのは、ESXiをCD-ROMからHDDにインストールできる
「ESXi Installable」です。
仮想化の選択肢が増えることはいいことです。
ESXiは従来のESXから「サービスコンソール」を取り去って軽量コンパクトにしたものです。
VMotionができないなどの若干の機能制限がありますが、基本機能はESXと同じです。
ESXiからESXに有償でアップグレード することもできます。
さっそくISOイメージをダウンロードしてESXiを評価しようと試みました。
しかし、 ESXiのインストーラー(ESXiではなく、そのインストーラー)が選ぶハードウェア条件が厳しくて
なかなかインストールそのものができませんでした。
世界には同じように悩んでいる人がたくさんいました。そしてなんとハックした人がいました。
http://moti.g.hatena.ne.jp/keyword/ESX3i_bootable
http://www.vm-help.com/esx/esx3i/Boot%203i%20from%20USB%20flash%20drive.html
そこではWindows上でファイルを展開、ESXiハイパーバイザーをUSBメモリーに書き込み、ブート可能としていました。
その情報を元に、全てをLinux上で作業する方法を試してみました。
VMware社の動作保証も、弊社の動作保証もありませんが、 とにかくESXiを試してみたい人の参考になれば幸いです。
1.ESXiをダウンロード
http://www.vmware.com/jp/products/esxi/
へアクセスします。
ユーザー登録するとISOファイルのダウンロード画面へ進みます。
登録したメールアドレス宛に「The VMware Team」より「Activate your VMware ESXi License」作業を指示する
メールが届きます。その指示に従って、シリアル番号を入手しておきます。
ESXiをインストール後、60日間は評価用として使えます。
その後は、このシリアル番号をESXiに登録する必要があります。
2.ISOファイルをマウント
ダウンロードしたISOファイルを/mntにマウントします。
CD-Rをわざわざ焼かなくても大丈夫です。
$ su # mount -t iso9660 -o loop /somewhere/VMware-VMvisor-InstallerCD-3.5.0_Update_2-103909.i386.iso /mnt
$ exit
3. 中身を確認
$ ls -l /mnt
合計 243495
-rwxr-xr-x 1 201 201 21833379 2008-07-11 12:46 binmod.tgz
-r--r--r-- 1 201 201 2048 2008-07-11 12:46 boot.catalog
-rwxr-xr-x 1 201 201 11119594 2008-07-11 12:46 cim.tgz
-rwxr-xr-x 1 201 201 9082467 2008-07-11 12:46 ienviron.tgz
-rwxr-xr-x 1 201 201 205732265 2008-07-11 12:46 install.tgz
-rwxr-xr-x 1 201 201 11397 2008-07-11 12:46 isolinux.bin
-rwxr-xr-x 1 201 201 244 2008-07-11 12:46 isolinux.cfg
-rwxr-xr-x 1 201 201 115 2008-07-11 12:46 license.tgz
-rwxr-xr-x 1 201 201 99000 2008-07-11 12:46 mboot.c32
-rwxr-xr-x 1 201 201 30668 2008-07-11 12:46 menu.c32
-rwxr-xr-x 1 201 201 137 2008-07-11 12:46 oem.tgz
-rwxr-xr-x 1 201 201 1423958 2008-07-11 12:46 vmkernel.gz
4. 一部を確認
install.tgz の中に、本当に必要なファイルが格納されています。
$ gzip -dc /mnt/install.tgz | tar tvf -
drwxr-xr-x mts/mts 0 2008-07-11 12:43 sbin/
-rwxr-xr-x mts/mts 313 2008-07-11 12:43 sbin/install drwxr-xr-x mts/mts 0 2008-07-11 12:43 usr/ drwxr-xr-x mts/mts 0 2008-07-11 12:43 usr/lib drwxr-xr-x mts/mts 0 2008-07-11 12:43 usr/lib/vmware/ drwxr-xr-x mts/mts 0 2008-07-11 12:45 usr/lib/vmware/installer/
5. カレントディレクトリーに展開
必要なファイルを取り出すために、一旦、カレントディレクトリーに展開します。
展開する場所はカレントディレクトリーです。
決して/(ルート)ディレクトリーで作業、展開しないでください。
$ gzip -dc /mnt/install.tgz | tar xvf -
sbin/
sbin/install
drwxr-xr-x mts/mts 0 2008-07-11 12:43 usr/
drwxr-xr-x mts/mts 0 2008-07-11 12:43 usr/lib/
drwxr-xr-x mts/mts 0 2008-07-11 12:43 usr/lib/vmware/
drwxr-xr-x mts/mts 0 2008-07-11 12:45 usr/lib/vmware/installer/
6. 展開した中身を確認
$ ls usr/lib/vmware/installer/
Core ThinESXInstall.py
ThinESX VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd.bz2
ThinESX.py
7. 必要なファイルだけを移動して、残りをばっさり消します
ここは必ず、一般ユーザ権限にて作業しましょう。
対象ファイルだけを、深いディレクトリーの底から、カレントディレクトリー移動します。
間違っても `/sbin` や `/usr` を消さないこと。
間違って消したとしても弊社は一切の責任を負いません。
$ mv usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd.bz2 . #再度のドットはカレントディレクトリーの意味
$ rm -rf sbin usr
8. 圧縮されているファイルを解凍
圧縮されているファイルを解凍します。
700MBを超えるサイズです。
ESXiがそんなに大きいわけではありません。
Windows上で動作する、VI Clientなども含まれているためです。
$ bzip2 -d VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd.bz2
$ ls -l VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd
-rwxr-xr-x 1 kfujii kfujii 786432000 2008-07-11 12:45 VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd
わざわざ一旦解凍しなくても、解凍先を標準出力にして、ddコマンドへ渡せばUSBへ書き込みできます。
しかし、そもそもどれくらいのサイズなのかを、知っておくことも大切だと思います。
あるいは、どれくらい圧縮できるものなのかを、知っておくことも大切だと思います。
# bzip2 -dc VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd.bz2| dd of=/dev/sdb
9. USB へ書き込み
新品のUSBメモリーはFAT16で初期化されているのがご時世です。
一応、確認しておきましょう。
内蔵ディスクが1台のlenovo ThinkPad X60(WindowsXPとDebianのデュアルブート)上で作業しました。
# fdisk -l
Disk /dev/sda: 60.0 GB, 60011642880 bytes #こちらは内蔵1台目のHDD
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 3264 26218048+ 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2 3265 6726 27808515 83 Linux
/dev/sda3 6727 7296 4566240 12 Compaq diagnostics
Partition 3 does not end on cylinder boundary.
Disk /dev/sdb: 2051 MB, 2051013632 bytes #こちらがUSBメモリー
33 heads, 63 sectors/track, 1926 cylinders
Units = cylinders of 2079 * 512 = 1064448 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1927 2002927 6 FAT16
書き込み先を十分に確認します。
間違えると、内蔵HDDを論理的に壊します。二度とブートしなくなるかもしれません。
USBメモリーは1パーティションに切られていて、FAT16でフォーマット済みでした。
そんなことは一切気にしないで`/dev/sdb` へ書き出します。
`sdb1`(最初のパーティション)ではなく`sdb`(ディスクの先頭)へ書き出します。
$ su
# dd if=VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd of=/dev/sdb
1536000+0 records in
1536000+0 records out
786432000 bytes (786 MB) copied, 531.836 seconds, 1.5 MB/s
# exit
$
10分くらいとすごく時間がかかりました。
bs(Block Size)オプションを併記すると、早くなるそうです。
10. ディスクイメージの再圧縮
少しでもHDDを節約するために、ファイルを圧縮して保存しておきましょう。
次回からは、`bzip2 -dc`(標準出力へ出力)と `|`(パイプ)を使いましょう。
$ bzip2 VMware-VMvisor-big-3.5.0_Update_2-103909.i386.dd
11. 作成したUSBメモリーからブート
BIOSの設定変更が必要かもしれません。
ブートデバイスの優先順位を必要があれば変えてください。
USBメモリーをどのように扱うか、選択肢があればそれをHDDに変えてください。
HP ML115の場合には、上記設定変更が必要でした。
ESXiは、AHCIをサポートしていません、これを切ってください。
AHCIをONにしていると、そのSATA コントローラーはESXi から見えません。従ってHDDが見えません。
ご注意ください。