Scyphus Draft — Articles

節電対策で注目を浴びる仮想化技術. 中でも「現在運用中の物理サーバの電源を切らずに仮想化できる」 VMware vCenter Converterのホットクローニング(Hot cloning)機能に注目が集まっている. しかし, VMwareのユーザコミュニティでも議論されているように データベースが故障したという報告もある. このVMware vCenter Converterのホットクローニングはどのように実現されているのか? 実際に利用して(変換に失敗して)考察を行った. なお,本稿では3種類のLinuxディストリビューションで仮想化を試みたが, 全てで失敗したためVMware vCenter Converterでの成功例は掲載していない.

Custom Search

VMware vCenter Converterのホットクローニングの正体〜正しく行うP2V〜

Date: June 6, 2011
Author: 浅井 大史

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による移行(失敗例)

失敗例については付録に掲載した.

VMware vCenter Converterのホットクローニングに関する考察

Fig. 1は移行(ホットクローニング)のオプション設定画面の一部である. ここで,「クローン作成中にソースに発生した変更を同期する」というチェックボックスが存在するが, Linuxやバージョニングファイルシステム非対応のWindows(未確認ではあるがWindows Server 2008より前?)では この機能が使えない. 即ち,移行中にファイルシステムに発生した変更が移行後の仮想マシンには反映されないということである. 複数のファイルが依存するデータベースシステムでは,データベースシステムの故障にもつながるということである.

ホットクローニング中に発生した変更の同期設定

さらに,Fig. 2はホットクローニング中の仮想化対象機器(CentOS)のtop(1)コマンドの出力である. このマシンはサービスは行っていないため,ここでCPU使用率の高いsshdおよびtarプロセスは ホットクローニングのものである. これからも分かるように,VMware vCenter Converterのホットクローニングは, Linuxに対してはtarおよびSSHによるファイルシステムのコピーであり, データベースシステムやファイルに依存関係のあるシステムでは, (例えブートローダの設定が成功したとしても)移行後のシステムが 正常に動作する保証はない. つまり,データベースシステムや他のシステムを停止した状態で行う必要があることを意味している.

ホットクローニング中の仮想化対象機器(CentOS)のtop(1)

バージョニングファイルシステムに対応したWindowsでは, 移行中に発生した変更を同期するオプションが選択可能であるが, 物理マシンの停止および仮想マシンの起動のタイミングにより, 影響や可能性は小さいものの,Linux同様に不整合が発生することがあると思われる.

まとめ

これまで述べてきたように,VMware vCenter Converterのホットクローニングの実態はファイルシステムレベルでのコピーであるため,移行中にファイルシステムレベルで不整合を生じる可能性がある.そのため,データベースシステムやファイルに依存関係のあるシステムを運用しているる環境でVMware vCenter Converterを使用する場合は,これらのプロセス・システムを停止すべきであると考える(これをホットクローニングと呼んで良いのかは・・・).