家鯖をESXiによる仮想サーバから物理サーバにマイグレーションする事にした。
ESXi上で動いているのはFreeBSDとWindows 7の2つ。元々FreeBSDが物理的に動いていたが、Windowsで録画鯖を作ろうと思ってESXiを導入したという経緯がある。結局、nasneを買っちゃったし、そもそも元からテレビを見ないという致命的な不具合(笑)が発覚したので、録画鯖を仕立てる理由もなくなってしまった。ESXiの雲行きも怪しいし、良い機会なのでV2Pしちゃおうと考えた次第。
FreeBSDは物理サーバ時代からのHDDを全てRDM&PCIパススルーで動かしてた為、マイグレーションもへったくれもない。ESXiのUSBメモリを引っこ抜けば、何もしなくてもBSDが起動する素敵仕様。V2Pいっちょあがりっと。
Windowsの方はFreeBSD上のVirtualBoxにV2Vする事にした。録画鯖にはならなかったものの、PS Vitaのコンテンツ管理アシスタントのホストになってたり、巨大なエロ動画ファイルのダウンロードとかで地味に役立つので。こっちは少し苦労したため、作業内容をメモっておく。
まずはESXiのデータストアからファイルを取り出さない事には始まらない。色々やり方はあると思うが、今回はクライアント側からscpで転送した。
$ scp -rp root@esxiserver:/vmfs/volumes/path_to_datastore/Windows/ esxi_save/ Password: Windows.vmx 100% 3142 3.1KB/s 00:00 Windows.vmxf 100% 262 0.3KB/s 00:00 Windows.vmsd 100% 0 0.0KB/s 00:00 Windows.nvram 100% 8684 8.5KB/s 00:00 vmware-36.log 100% 202KB 202.1KB/s 00:00 Windows-flat.vmdk 100% 40GB 42.9MB/s 15:55 Windows.vmdk 100% 494 0.5KB/s 00:00 vmware-35.log 100% 202KB 201.6KB/s 00:00 vmware.log 100% 311KB 311.1KB/s 00:00 vmware-31.log 100% 176KB 175.8KB/s 00:00 vmware-32.log 100% 51KB 51.4KB/s 00:00 vmware-34.log 100% 202KB 201.9KB/s 00:00 vmware-33.log 100% 180KB 180.2KB/s 00:00
VMの詳細は割愛。
ストレージは既存の仮想ディスクを使う。上で転送したファイルで言えばWindows.vmdkを選択する。
接続するバスは、とりあえずESXiで使っていた物と同じのにして、Windowsが起動するか試してみる。正常に起動すれば後は何もする必要はないが、十中八九「Windowsを起動しています」の画面で“STOP 0x0000007B”ブルースクリーンが出て死ぬ。その時は、接続バスを好きなものに変えて(もちろん変えなくてもいい)、次の対策を行う。
“STOP 0x0000007B”ブルースクリーンが出てWindowsを起動出来ない時は、レジストリを修正する必要がある。
以上でマイグレーションしたWindowsが正しく起動するハズ。