VCDテナントにて、vCenterからVMをインポートする際の挙動について
インポート時に仮想マシンの移動(ソースの削除)を有効化すると、予期せぬエラーが発生する!
・環境
1つの組織VDCに対して、データストアを2つ公開(Share1、Share2)
インポート対象VMをShare2にて作成
Share2に対して、インポート対象VMのストレージ容量以下の容量制限を設定
・インポート時の挙動
①GUIからインポート
「要求された操作は、VDCのストレージ割り当て容量を超えます」といったエラーで失敗する
ストレージポリシーはShare1を指定しており、 以下のようにShare1は無制限にも拘らずShare2についての制限でひっかかる
②Share2の制限をなくし、無制限にしてみる
もちろん成功するが、ディスク配置が以下のようになっている。
構成ディスク:Share1
データディスク:Share2※Share1に移行されていない
→そのため、GUIから指定しているストレージポリシーは構成ディスクの配置先を指定しているだけに見える。
③Share2を組織VDCにて無効化する
①と同様にエラーで失敗する
→無効化しても、データディスクの移行はされないよう。
④Share2を組織VDCにて削除する
成功する
→削除するとさすがにデータディスクが移行される。
⑤①の状態で、APIにて取り込み。
APIだとデータディスクにどのストレージポリシーを利用するかを指定できるため、
①の状態でもインポート成功
※API POST /admin/extension/vimServer/{id}/importVmAsVApp
実行例
curl -k --header "Accept: application/*;version=37.0" --header "Content-Type: application/vnd.vmware.admin.importVmAsVAppParams+xml; charset=ISO-8859-1" --header "Authorization: Bearer ${TOKEN}" --request POST https://172.16.20.20/api/admin/extension/vimServer/557cdc54-c25d-4d4e-baad-4ba94b62dc19/importVmAsVApp -d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:ImportVmAsVAppParams xmlns="http://www.vmware.com/vcloud/v1.5" xmlns:ns2="http://www.vmware.com/vcloud/extension/v1.5" xmlns:ns3="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ns4="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:ns5="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ns6="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:ns7="http://www.vmware.com/schema/ovf" xmlns:ns8="http://schemas.dmtf.org/ovf/environment/1" xmlns:ns9="http://www.vmware.com/vcloud/versions" sourceMove="true" name="testVM"> <ns2:VmMoRef>vm-47024</ns2:VmMoRef> <ns2:VdcStorageProfile href="https://172.16.20.20/api/vdcStorageProfile/2e8ee0f1-efb9-4367-ad6b-394c7f2bcc3b" /> <ns2:Vdc href="https://172.16.20.20/api/vdc/eb3e71bb-8655-4130-a277-123ba245cc7b" /> <ns2:ImportedDisk instanceId="2000"> <ns2:VdcStorageProfile href="https://172.16.20.20/api/vdcStorageProfile/2e8ee0f1-efb9-4367-ad6b-394c7f2bcc3b" /> </ns2:ImportedDisk> </ns2:ImportVmAsVAppParams>'