前回紹介したFreeBSDのP2V方法は、手順はそれなりに簡単ですが、イメージの取得と貼り付けにddを使うため、パーティションの切り直しなどが不可能で、シンプロビジョニングも活用できないという欠点がありました。
これを解決する方法として、dump/restoreを用いてP2Vを行う方法があります。
手順概要
基本的な手順は前回と同じため、手順が重なる部分は省略して解説します。おおまかな前提は次のとおりです。
- FreeBSDの物理サーバからvSphere上の仮想ゲストマシンにP2Vを行う
- それぞれのマシンは直接通信できるネットワーク上にない(直接通信できる場合は、この手順より少し楽ができる)が、双方に対してsshでアクセスできる、物理サーバのディスクイメージを格納できる十分なディスクを持ったマシン(以後、仲介マシン)がある
- 物理サーバには起動用のCD-ROMなどは必要ない
- ディスクやパーティションのサイズを変更できる
- シンプロビジョニングが活用できる
前回と異なる部分は後半3項目です。
ddの代わりにdump/restoreを用いるわけですが、FreeBSDのdumpはUFS2のスナップショット機能を利用してくれるので、DBサーバやWebサーバなど、テンポラリな不整合を発生しがちなプログラムさえ止めておけば、物理サーバを起動した状態で十分健全なdumpを取得できます(もちろん、Live CDブートして作業を行えばより安全です)。
また、dumpしたパーティションと異なるサイズにrestoreできるため、リッチに使っていた物理マシンのディスクを、必要最小限的に領域を確保した仮想マシンに縮めることが可能です。
さらに、restoreの書き込みはイメージ書き込みとは異なるため、シンプロビジョニングも活かすことが可能です。
いいことばかりのように思えますが、手順は幾分複雑になります。
- 物理サーバを掃除して、仮想マシンに必要なパーティションサイズ計画を検討する
- 物理サーバからssh経由のdumpで仲介マシン上に各パーティションのバックアップを取得
- 仮想ゲストマシンでP2Vしたい対象と同じFreeBSDのバージョンを、計画したパーティションサイズで最小インストールする
- 仮想ゲストマシンをLive CDで起動し、インストールしたファイルをすべて消す
- 仲介マシンから仮想ゲストマシンにdumpイメージをssh経由でrestoreする
- 仮想ゲストマシンに対応する設定を修正する
- VMware Toolsをインストールする