XenからVMwareへ移行時にvSphereのOVFテンプレートのデプロイでエラーが出たときにやったこと

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

Link

V2v Converter / P2v Converter - Converting Vm Formats

https://www.starwindsoftware.com/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に書き換えたり、保存し直したりしましたが、効果はありませんでした。

PAGETOP