Xen エキスポート → VMware インポート
仮想サーバー変更に伴い、仮想環境(ハイパーバイザー)をXen ServerからVMware ESXiに移行することになりました。 **VMを新しいサーバーに簡単に移動できないかな?**と、てこずりましたができたので、やってみたことをメモ。
2つのエラー対応
VMware側にVMインポートする際に出るエラーの回避方法です。この方法でXenサーバーからエクスポートしたVMのインポートに成功しました。
1.StartupSectionの削除
一つ目のエラーでvSphere Clientのメニュー**『OVFテンプレートのデプロイ』**より、Xen Centerから書き出した OVFファイルとVHDファイルを選択して進んでいくと以下のエラーが出ました
選択したテンプレートで問題が検出されました。詳細: - 1:1695:SECTION_RESTRICTION: セクション StartupSection (起動オプション) はエンベロープで許可されていません。
対処法
XenCenterからエキスポートしたOFVファイル(中身はXMLファイル)は仮想マシンの設定ファイルで、これをテキストエディタ(メモ帳以外、サクラとかTeraPadとか)で開き、以下の部分を削除して上書き保存します。削除する部分は起動オプションに関する部分で、そのセクションを削除します。削除しても問題ありません。不安であればOVFを複製してから行ってください。
削除する部分
<ovf:StartupSection><br> <ovf:Info>起動オプション</ovf:Info><br> <ovf:Item ovf:id="bb78f3ca-7b71-4d7a-99f6-17802cc28qq2" ovf:order="0"/><br></ovf:StartupSection>
2.StartupSectionの削除
二つ目のエラーで、一つ目のエラーが出た時と同じ段階でエラーが出ました。
選択したテンプレートで問題が検出されました。詳細: - -1:-1:VALUE_ILLEGAL: ハードウェアのバージョンでサポートされていないものは [hvm-3.0-unknown] で、サポートされているものは [vmx-04, vmx-07, vmx-08, vmx-09, vmx-10, vmx-11, vmx-12, vmx-13, vmx-14, vmx-15] です。
対処法
一つ目のエラーと同様に以下の部分を削除して上書き保存します。
削除する部分 ``間にある以下の1行を削除して上書き保存。
<vssd:VirtualSystemType><br> <vssd:VirtualSystemType>hvm-3.0-unknown</vssd:VirtualSystemType><br></vssd:VirtualSystemType>
インポートの成功とインポート成功後に行うこと
上記2つの項目を削除することで、VMをインポートすることができました。
あとは、インポートしたVMの仮想ハードディスク(VHD)をVMDKに変換し、移行先のストレージにアップロードします。また、『仮想マシンの設定』でアップロードした仮想ディスクを選択してハードディスクを追加してやればOKです。
VHD→VMDK変換ツール
これ簡単・便利でおすすめです。無料でダウンロードできます。
StarWind V2V converter
他にも試してみたこと
Oracle VirtualBoxのインポートはダメだった
Xen→VirtualBox→VMwareの手順でOVF/OVAをVMDKに変換できるみたいな投稿を見かけたので、
試してみたんですが、VirtualBoxのインポート時にOVFファイル内の19が引っかかってエラーが出てダメでした。
VMware OVF ToolでOVAからVMXの変換もダメだった
XenCenterからエクスポートしたOVAファイルは.tarによる圧縮ファイルらしいので、解凍してみるとOVFファイルとVHDファイルが出てきました。
OVFファイルを編集し、再度7zipで.tar圧縮してVMware OVF Toolで変換を試しましたがこちらもダメでした。
PowerShellで実行したコマンドと出力されたエラー *.tar → *.vmx に変換
> cd "C:\Program Files\VMware\VMware OVF Tool"
PS C:\Program Files\VMware\VMware OVF Tool> .\ovftool "d:\xen.tar" "d:\xen.vmx"
Opening OVF source: d:\xen.tar
Error: Failed to open OVF descriptor
Completed with errors
.tarの拡張子を.ovaに変更してもダメだった *.ova → *.vmx に変換
> cd "C:\Program Files\VMware\VMware OVF Tool"
PS C:\Program Files\VMware\VMware OVF Tool> .\ovftool "d:\xen.ova" "d:\xen.vmx"
Error: Did not find an .ovf file at the beginning of the OVA package.
Completed with errors
UTF-16をUTF-8またはUTF-32に変更してみる いろいろなサイトでOVFファイル(XML)の「エンコーディングを変更すればよい」とあったので、Xenから書き出したOVFファイルはデフォルトでUTF-16となっていたので、 UTF-8やUTF-32に書き換えたり、保存し直したりしましたが、効果はありませんでした。