VMware Converterのコンバート失敗事例

概要

VMWare Converter(正式名称:VMWare vCenter Converter Standalone)はVMWare ESXiを使ったサーバ仮想化には欠かせない。既存システムを停止することなくオンラインでのP2VやV2Vを行え、タスクが成功した場合には、メーカーが移行の成功を確認してくれたような安心感がある(実際はわからないけど)。

ただし、GuestOSの種類とConverterの設定によってタスクが途中で止まったり失敗したりする問題に遭遇することがよくある。

私が遭遇した問題はLinuxの1%問題、Linuxの97%問題、Windowsの2%問題がある。あくまで私が遭遇した問題のケースが全てのケースで問題解決に繋がるという保証はないが、問題に遭遇した場合はぜひ試してもらえると嬉しい。

VMWare Converterのアーキテクチャ解説

本題に入る前に、VMWare ConverterのConvertの動作について簡単に説明する。

Windowsのコンバートを行う場合、移行元のサーバには必ずAgentがインストールされて、Agentがイメージコピーのタスクを行う。Agentはリモートから操作することも、移行元のサーバ自体で操作することもできる。Agentはコンバート完了後に削除してもいいし、次の移行のために残しておいてもよい。

Linuxのコンバートを行う場合、移行元のサーバにAgentはインストールされず、
仮IPを割り当てたインスタンスが直接移行先のVMWareに作成され、イメージコピーが行われる。ちなみに、Linuxのコンバートは移行元サーバでrootでのSSH接続が必要になるため、一時的にでも許可する必要がある。

VMWare Converterタスク進捗の目安

なお、VMWare Converterのログはあまり見やすくないが、止まった個所によって、大体何が悪いのか推測できるようになっている。

1)Creation of the target virtual machine (VM) (0%-5%)
2)Preparing to Clone the Disk (5%-6%)
3)Cloning (6%-95%)
4)Post-cloning (95%-97%)
5)Customization/Reconfig (97%-99%)
6)Install Tools/Power On (99%-100%)

http://searchvmware.techtarget.com/tip/Troubleshooting-failed-VMware-Converter-P2V-migrations

問題事例

Linuxの1%問題

 

1%で止まる。。。

 

Linuxの1%問題は、Helperの起動に失敗している可能性がある。Helperは移行元のGuestOSと移行先のVMWareの両方のネットワークに繋がる仮IPアドレスを割り当てる必要がある。Helperの設定は、Optionsの項目で行う。デフォルトではDHCPを利用するようになっている。

Helperをきちんと設定してあげる。HelperのIPにはPINGも通るし、移行元のホストからnetstatでつながっているのも確認できる。

HelperはVSphere Clientのコンソールで確認することもできる。

なお、起動時にIP重複しないようにデバイスをVMから外した状態でイメージコピーすることがあるが、外れているとHelperが起動できないため、チェックボックスを外さないようにする。

Linuxの97%問題

97%は、先ほど述べたタスクの進捗によるとCloningは成功していて、その先以下のフェーズでの失敗になる。

4)Post-cloning (95%-97%)
5)Customization/Reconfig (97%-99%)

私の事例では、イメージコピーにより、ディスクのUUIDが変わり、UUIDベースで書いてある、/boot/grub/grub.cfg、/etc/fstabが使えなくなってしまったために、発生した。

まずはタスクが完了しないのが気持ち悪いため、完了するようにオプションを変更して、Post-Cloningタスクが走らないようにしてイメージコピーを行う。設定は以下のようになる。デフォルトでついているチェックを外す。

コピーが成功する。

ただ、そのままOSの電源を入れても、ブートローダーが読み込めずに、Systemは起動してこない。

grubとfstabの再設定手順についてはまた今度記載する。

なお、「Reconfigure destination virtual machine」のチェックはgrubとfstab周りを本来再構築してくれる処理のため、あくまでも環境によるトラブルと考えられる。問題の発生したOSはUbuntu 14.04である。

Windowsの2%問題

最近、Windowsの仮想化を行っていないため、記憶が薄れてきているが、ESXiのバージョン、Converterのバージョン、移行元のホストOSのバージョンの相性によって発生していた。ゲストOSに合うホストOSが必ずあるためいろんなパターンを試してみると良い。また、Windowsの場合、途中でコンバートが失敗しても、あきらめずに再実行するとイメージが取れたりするので、根気強くイメージ化を試すことが必要だ。

Windowsの仮想化についても、機会があったらまた記載する。