VMware Global Community
klurga
Contributor
Contributor

vmkfstoolsを利用したVMDKファイルのリストア時のエラーについて

おそらくVMWareが起動しない状況に陥っていると思われるので、質問させてください。

[状況]
A.以下のような方法でVMDKファイルのバックアップを取得していました。
1.仮想マシンのスナップショットを取得
2.vmkfstoolsを利用して、以下のようにバックアップを取得
  vmkfstools -i 対象のvmdk -d thin バックアップ先VMDK
3.仮想マシンのスナップショットを削除


B.上記のバックアップを取得後に、以下のような操作を行いました。

1.仮想マシンをシャットダウン
2.仮想マシンのスナップショットを取得
3.vmkfstoolsを利用して、2で取得したバックアップディスクをリストア
  vmkfstools --deletevirtualdisk 対象のvmdk
  vmkfstools -i バックアップ先VMDK -d eagerzeroedthick 対象のvmdk
4.スナップショットを削除
5.ディスク統合を求められたので、ディスク統合を実施。

上記までを行いました。


get-vm VM名 | get-harddiskで状況を確認したところ
リストア対象外であったディスクは統合に成功し、接尾辞(-000001.vmdk)のついていないディスクを認識しています。
リストア対象のディスクはそれぞれ、接尾辞(-000001.vmdk)のあるディスクを参照しています。

ESXi上でVMDKの状態を確認したところ、すべてのVMDKについて
XXXXXX.vmdk
XXXXXX-000001.vmdk
XXXXXX-000001-separse.vmdk
の三種類が存在する状況となっていました。

Vsphere Client上から確認したところ、リストア対象としたディスクはいずれもサイズが0kbとなっています。

[目的]

試行してはいませんが、おそらくこのままでは正常に起動しないと考えられますので、解決方法を模索したいです。

予測としてはAで取得したバックアップのディスクは正常な状態であると考えられますので
一旦不具合を起こしているディスクを削除し、 XXXXXX.vmdkを改めて認識させれば起動するのではないかと想像しております。

上記が正しいとして、残留してしまうであろう
XXXXXX-000001.vmdk
XXXXXX-000001-separse.vmdk
の、二種のファイルについてもどう扱えばいいかを知りたいです。

説明が不足している場合は申し訳ありませんが、その旨ご指摘いただけると幸いです。

ご教授、よろしくお願いいたします。

0 Kudos
2 Replies
nkaneda1
Enthusiast
Enthusiast

[状況]
A.以下のような方法でVMDKファイルのバックアップを取得していました。
1.仮想マシンのスナップショットを取得
2.vmkfstoolsを利用して、以下のようにバックアップを取得
  vmkfstools -i 対象のvmdk -d thin バックアップ先VMDK
3.仮想マシンのスナップショットを削除

 

こちらの手順ですが、複製前後でSnapshotを作成&削除をしている理由は稼働中のVMの静止点の確保の意図でしょうか?
複製対象がデルタvmdkなのか、ベースvmdkなのかが不明だったので確認です。(ベースVMDKが対象と想定しています)

 

B.上記のバックアップを取得後に、以下のような操作を行いました。

1.仮想マシンをシャットダウン
2.仮想マシンのスナップショットを取得
3.vmkfstoolsを利用して、2で取得したバックアップディスクをリストア
  vmkfstools --deletevirtualdisk 対象のvmdk
  vmkfstools -i バックアップ先VMDK -d eagerzeroedthick 対象のvmdk
4.スナップショットを削除
5.ディスク統合を求められたので、ディスク統合を実施。

こちらの手順についてはスナップショットを取得する意図がわかりませんでした。
複製したvmdkに切り戻したいのであればスナップショットは不要かと思います。
A(バックアップ)の手順でベースvmdkの複製であるクローンvmdkを作成し、
B(リストア)の手順でスナップショットの作成をせずに、そのままベースvmdkを削除してクローンvmdkからコピーしなおすか、クローンvmdkを直接接続すれば切り戻しとしては十分です。試しにやってみましたが問題なく切り戻せました。

 

0 Kudos
klurga
Contributor
Contributor

レスポンスありがとうございます。

>こちらの手順ですが、複製前後でSnapshotを作成&削除をしている理由は稼働中のVMの静止点の確保の意図でしょうか?
>複製対象がデルタvmdkなのか、ベースvmdkなのかが不明だったので確認です。(ベースVMDKが対象と想定しています)

ご想定いただいたとおり、静止点確保の意図になります。

>こちらの手順についてはスナップショットを取得する意図がわかりませんでした。
>複製したvmdkに切り戻したいのであればスナップショットは不要かと思います

>A(バックアップ)の手順でベースvmdkの複製であるクローンvmdkを作成し、
>B(リストア)の手順でスナップショットの作成をせずに、そのままベースvmdkを削除してクローンvmdkからコピーしなおすか、クローンvmdkを直接接続すれば切り戻しとしては十分です。試しにやってみましたが問題なく切り戻せました。

知見不足で上記のような対応をしてしまいましたが。
あらためて調査していくなかでああそういうことかと腑に落ちてます。
やはり対応としてはそうですよね、おそらくその方法になるのかなとは考えていました。
検証いただきありがとうございます、こちらでもその方法での復旧を試してみます。

0 Kudos