Plug-in for VMwareにて、仮想ディスクのプロビジョニング・タイプが、Eager zeroed thickの場合に個別リストアに失敗します。
仮想ディスクのプロビジョニング・タイプが、Lazy zeroed thickの場合には発生しない事象です。
以下のシナリオで発生する事象です。
仮想マシン:仮想ディスク1 仮想ディスク2
1.仮想マシンのバックアップ(仮想ディスクのプロビジョニング・タイプは、Eager zeroed thick)
2.仮想マシン削除
3.仮想ディスク1のみ個別にリストア(仮想ディスク1の他に仮想ディスク2が空の状態でリストアされます)
4.仮想ディスク2を個別にリストア(既存の仮想ディスク2が上書きされます)
5.以下のエラーにてリストアジョブ失敗
Target for VM disk (uuid 'xxxxx') originally backed up from path '[datastore] VMtest/VMtest_1.vmdk' no longer exists
*バックアップ対象の仮想ディスクのプロビジョニング・タイプが、Lazy zeroed thickでもCBTが無効であれば発生します。CBT無効時には、Lazy zeroed thickが、Eager zeroed thickとしてリストアされるためです。これはVMwareの仕様となります。詳細につきましては以下のKBをご参照ください。
バックアップとリストアに高度な転送を使用する場合のベスト プラクティス (2074005)
http://kb.vmware.com/kb/2074005
以下の方法で回避することができます。
<回避策 ddb.UUIDの変更>
以下のエラーで仮想マシンのリストアが失敗します。同エラーはバイナリログに記載される内容となりますが、ここで表示されているuuidを既存の仮想ディスクのuuidと置き換えることでリストアが可能となります。
Target for VM disk (uuid 'zzzzz') originally backed up from path '[datastore] VMtest/VMtest_1.vmdk' no longer exists
以下はVMwareでのオペレーションです。詳細につきましてはVMware側でのご確認をお願いいたします。
1.ESXホストにログイン
2.仮想マシンが配置されているデータストアに移動します。(vmdkが存在するロケーション)
# cd /vmfs/volumes/yyyyy/VMtest/
3.仮想マシンを停止します
4.VMtest_1.vmdk のddb.UUIDをviやsed等Editorを使用して編集します。(編集ファイルは念の為保存をおねがいします)
編集箇所は、以下のddb.UUIDの”xxxxx”の箇所となります。これをバイナリログにて表示されたddb.UUIDと置き換えます。
下記はsed で編集した例です。
# grep ddb.uuid VMtest_1.vmdk
ddb.uuid = "xxxxx"
# sed s/"xxxxx"/"zzzzz" VMtest_1.vmdk
# grep ddb.uuid VMtest_1.vmdk
ddb.uuid = "zzzzz"
5.仮想マシンを起動します。
6.リストアを実施