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>
<ovf:Info>起動オプション</ovf:Info>
<ovf:Item ovf:id="bb78f3ca-7b71-4d7a-99f6-17802cc28qq2" ovf:order="0"/>
</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] です。
対処法
一つ目のエラーと同様に以下の部分を削除して上書き保存します。
削除する部分
<ovf:System></ovf:System>
間にある以下の1行を削除して上書き保存。
<vssd:VirtualSystemType>
<vssd:VirtualSystemType>hvm-3.0-unknown</vssd:VirtualSystemType>
</vssd:VirtualSystemType>
インポートの成功とインポート成功後に行うこと
上記2つの項目を削除することで、VMをインポートすることができました。
あとは、インポートしたVMの仮想ハードディスク(VHD)をVMDKに変換し、移行先のストレージにアップロードします。また、『仮想マシンの設定』でアップロードした仮想ディスクを選択してハードディスクを追加してやればOKです。
VHD→VMDK変換ツール
これ簡単・便利でおすすめです。無料でダウンロードできます。
StarWind V2V converter
他にも試してみたこと
Oracle VirtualBoxのインポートはダメだった
Xen→VirtualBox→VMwareの手順でOVF/OVAをVMDKに変換できるみたいな投稿を見かけたので、
試してみたんですが、VirtualBoxのインポート時にOVFファイル内の<rasd:ResourceType>19</rasd:ResourceType>
が引っかかってエラーが出てダメでした。
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に書き換えたり、保存し直したりしましたが、効果はありませんでした。