VMware ESXiをUSBメモリにインストールする際には2GBもあればいいのですが、そのぐらいのサイズのUSBメモリは最近は入手がしにくく、結局4GBや8GBのUSBメモリを使うハメになります。
しかし、実際に使われる領域は1GB程度なのでそれ以外のUSBメモリの領域は空き領域として無駄になります。
まぁ、ここでVMFS3とかでフォーマット出来ればいいのですが、少なくてもESXi 4.1 Update1ではUSBメモリの空き領域をVMFSでフォーマットすることは出来ません。
(vSphireClientから見えないのはもちろん、sshからmkfstoolsで-C vmfs3してもvmkernel is not loaded or call not implemented. とか言うエラーで失敗します。)
じゃぁ、他のPCで空き領域にパーテーションを作成→フォーマットしてそれをmountコマンドで認識させようとしても、今度は「No such device」というエラーで失敗します。
(ちなみに、/homeの下などでは、上記のエラー以前にNo such file or directory.等と言われます。)
これは、ESXiが下記のコメントのように一部のフォーマットにしか対応していないためです。
ESXi does not have ext2/3 support. Only FAT and VMFS (and NFSv3 over TCP).
Or RDM.
なぜなら、ESXiで認識出来るのはFAT16(最大1パーティーション4GBまで)なので、自分でフォーマットする場合にFAT16になるように意識しないとダメになります。
また、ESXiをUSBメモリにインストールをするとかなり変なパーテーショニングをされてしまうため、Windowsからパーテーションの操作をすると設定がおかしくなります。(と言うかなりました(^^;)
なので、Windows PCしかない人はUbuntuのライブCD等でLinuxを起動してから作業を行ってください。
(ESXiのbusybox環境にはfdiskはありますがmkfsコマンド自体が無いのでこの作業には必ずLinuxが必要です)
まず、利用中の場合にはUSBメモリのバックアップを忘れずに!!
準備が出来たらLinuxのコンソールでrootに昇格してfdiskコマンドを実行し「p」で現状を確認してください。
(fdiskコマンドに渡すデバイスPATHはLinux起動中にUSBメモリを抜き差しすればdmesg | tailにsdXと表示されるので確認できるかと思います)
私が試したところではESXiのUSBメモリイメージは基本パーテーション4つのうち1と4が利用済みで、4が1GB程度のサイズで作成された拡張パーティーション領域になっていました。
そのため、「n」→「p」→「2」と「n」→「p」→「3」で残り2つの基本パーテーションにを作成しました。
なお、8GB以上のUSBメモリの場合にはサイズは必ず4GB以下になるようにEndは+4000mで指定してください。
(私は8GBのメモリなので4GBと3GBぐらいの領域で作成しました。)
次にvfatでフォーマットするので「t」→「2」→「6」と「t」→「3」→「6」でパーティションタイプをvfat用に切り換えてください。
念のため「p」でパーテーションが希望通りになっていることを確認してから「w」でUSBメモリに反映を行ってください。
次に、mkfs.vfatコマンドで以下のように指定してFAT16でフォーマットしてください。
mkfs.vfat -F 16 デバイスPATH
後はUSBメモリを取り外して完了です。
うまく行けば、電源を入れただけで下記のように勝手にマウントされるようです。
~ # df -k
Filesystem 1k-blocks Used Available Use% Mounted on
visorfs 1341296 267600 1073696 20% /
vfat 3895360 0 3895360 0% /vmfs/volumes/mpx.vmhba32:C0:T0:L0:3
vfat 3027840 0 3027840 0% /vmfs/volumes/mpx.vmhba32:C0:T0:L0:4
まぁ、FAT16では最大ファイルサイズが2GBなのでDVDのISOイメージも入らないことが多いですし、USBメモリなので、アクセス速度も遅いですが、ログのバックアップ程度には利用できるかと思います。
Posted by Takuchan at 2011年05月11日 00:20 | トラックバック(0)