VMware vCenter Converterのホットクローニングの正体〜正しく行うP2V〜
VMware vCenter Converter
VMware vCenter Converterは, 物理マシンから仮想マシンへの変換(P2V: Physical to Virtual)および 仮想マシンから仮想マシンへの変換(V2V: Virtual to Virtual)を 行うVMware社の提供するツールである. 上記HPによると,
システム停止やダウンタイムなしで、ローカルおよびリモートの物理マシンを迅速かつ確実に仮想マシンに変換
と述べられている.
しかし,実際の利用者からは, 仮想マシンへの変換後データベースが故障したという報告もある.
本稿では,VMware vCenter Converterを実際に利用して,利用方法と動作を解説する. また,どのようなケースにこのツールが適しているのかを考察する. なお,本稿では3種類のLinuxディストリビューションで仮想化を試みたが, 全てで失敗したためVMware vCenter Converterでの成功例は掲載していない.
使用機材・ソフトウェア等
- VMware vCenter Converter Standalone 4.3.0 ビルド-292238(Windows XPにインストール)
- 仮想化対象OS(以下の3種類を試した)
- CentOS 5.6 w/ GRUB
- Debian 5 (lenny) w/ GRUB
- Ubuntu 10.04 w/ GRUB2
- 移行先ハイパーバイザー
- VMware ESXi 4.1.0, 260247
VMware vCenter Converterによる移行(失敗例)
失敗例については付録に掲載した.
VMware vCenter Converterのホットクローニングに関する考察
Fig. 1は移行(ホットクローニング)のオプション設定画面の一部である. ここで,「クローン作成中にソースに発生した変更を同期する」というチェックボックスが存在するが, Linuxやバージョニングファイルシステム非対応のWindows(未確認ではあるがWindows Server 2008より前?)では この機能が使えない. 即ち,移行中にファイルシステムに発生した変更が移行後の仮想マシンには反映されないということである. 複数のファイルが依存するデータベースシステムでは,データベースシステムの故障にもつながるということである.
さらに,Fig. 2はホットクローニング中の仮想化対象機器(CentOS)のtop(1)コマンドの出力である. このマシンはサービスは行っていないため,ここでCPU使用率の高いsshdおよびtarプロセスは ホットクローニングのものである. これからも分かるように,VMware vCenter Converterのホットクローニングは, Linuxに対してはtarおよびSSHによるファイルシステムのコピーであり, データベースシステムやファイルに依存関係のあるシステムでは, (例えブートローダの設定が成功したとしても)移行後のシステムが 正常に動作する保証はない. つまり,データベースシステムや他のシステムを停止した状態で行う必要があることを意味している.
バージョニングファイルシステムに対応したWindowsでは, 移行中に発生した変更を同期するオプションが選択可能であるが, 物理マシンの停止および仮想マシンの起動のタイミングにより, 影響や可能性は小さいものの,Linux同様に不整合が発生することがあると思われる.
まとめ
これまで述べてきたように,VMware vCenter Converterのホットクローニングの実態はファイルシステムレベルでのコピーであるため,移行中にファイルシステムレベルで不整合を生じる可能性がある.そのため,データベースシステムやファイルに依存関係のあるシステムを運用しているる環境でVMware vCenter Converterを使用する場合は,これらのプロセス・システムを停止すべきであると考える(これをホットクローニングと呼んで良いのかは・・・).