Windws Server 2008 R2 の Hyper-V と VMware ESXi 4.1 を一台のマシンで無理やり運用する
こんなことしたい人ってあんまりいなさそうだけど、「仮想環境を動かすことそのものが目的*1」な理由があって、そんなん簡単じゃーん、と思ったらいがいとハマったのでメモしておきます。
制約事項
- PC は一台しかない
- Core2Duo、メモリ2GB
- ハードディスクも増設できない。一台だけ
- USB スティックは手持ちの2GBを利用
結論としての手順
- BIOS のブート順を DVD -> USB -> HDD にしておく。
- USB ポートにメモリスティックを、DVD ドライブに ESXi の CD を入れてブート。
- ESXi のインストーラが起動するので、インストール先に USB メモリを選んでインストール。
- インストールは無事完了するので、CD を抜いて再起動。
- ESXi が起動するので、とりあえず基本設定を済ませておく。
- root のパスワードと、固定 IP の場合は IP アドレスぐらいかな。
- クライアント PC にインストールしておいた VMware vSphare Client*2 を起動して、仮想イメージの置き場となる datastore をハードディスク上に作る。このとき、後々 2008 Server R2 をインストールして、Hyper-V の仮想イメージを配置できるだけの容量を残しておくことが重要。
- 一度シャットダウン。
- USB メモリを引っこ抜いて 2008 Server R2 をインストール。間違えてさっき作ったdatastore に上書きしないように注意 (^^;)
- インストールが終わったら、「サーバーの種類の追加」(だったっけ?) で Hyper-V を追加する。
- これで、「USB を差して起動したら ESXi」「USB を抜いて起動したら 2008 Server R2」の環境が出来上がる。
なんか昔、BSD 256 本で、Windows と *BSD のマルチブート環境を作る方法でブート FD を作る方法が紹介されてたけど、それに似ているっちゃあ似ているな。
ハマったポイント
- 最初は ESXi をどーんと入れて、Ubuntu かなんかの Live CD でサイズ縮めて Windwos いれればいいんじゃね? と思ったら、ESXi がプライマリパーティションを沢山作るので新たにパーティションを作ることができずに断念。
- かといって 2008 Server R2 から先に入れると、ESXi は頑としてハードディスク一本丸々欲しがるので、これもダメ。
- 私の調べた範囲だと、一本のハードディスクでマルチブートをする方法が見つけられなかったし、そんなことではまってるヒマがなかったので、USB ブートに逃げた。
- USB ブートの時でも、datastore を作るときにはどうやらシリンダの先頭からをどうしたって欲しがるらしいので、先に 2008 Server R2 を入れたらダメ。
- だから上の手順だと、datastore を作ってから 2008 Server R2 をいれているのです。
もしかしたらそんなことしないでもうまくいくヨ、という知恵があるかもしれないけど、まあとりあえず上手くいったし、「USB メモリが刺さっているか否か」でどっちが動いてるかが一目瞭然なのは却って分かりやすいかなってことで、まあこれで。
*1:例えばあるディストリビューションがある仮想環境で動作するかを確認したい、とか。
*2:ご存知のとおり http://