Hyper-V ディスク容量不足で大容量に膨れたチェックポイントを安全に削除する方法

Hyper-V ディスク容量不足で大容量に膨れたチェックポイントを安全に削除する方法について説明したいと思います。


Hyper-VではVMwareと同様にあるタイミングの仮想マシンの状態を保持することができます。完全なバックアップとしては使えませんが、問題が発生した場合に即座に切り戻しができるのでかなり便利です。基本は使用禁止にしているケースもあるかもしれませんが、会社によっては使っているところもあると思います。


チェックポイントを作成するのはとても簡単で仮想マシンを右クリックしてからチェックポイントを作成できますが、削除する場合は、注意が必要なケース、もしくはそのままでは削除できないというケースも存在することがあります。

 

 

例えば、こちら、

 https://teratail.com/questions/95761


以下は抜粋です。これが注意が必要な危険な状態です。チェックポイントの容量が膨れ上がって物理ディスクの空き容量がなくなっている状態です。

 

実現したいこと
過去に作成したチェックポイントのファイル(avhdx)が増加しており、物理ハードディスクの容量を圧迫しているためチェックポイントを削除したい。OSはWindows Server2012R2

発生している問題
物理ディスク
総容量:4TB
空容量:1TB

①vhdx:8GB
②avhdx(1世代目):2TB
③avhdx(2世代目):80GB
④avhdx(3世代目):100GB

質問内容
3世代目のチェックポイントを削除し、空き容量が1TBとなりました。2世代目の削除も可能かと思いますが、1世代目を削除する際に物理HDDの空き容量が不足してしまうのではないかと懸念しています。実際問題、どれだけ容量があれば良いものなのでしょうか。。。

 

まさに回答通りの動きになります。実際に動作検証をしてみましたが、チェックポイントを削除するとまずは、そのチェックポイント作成でできた差分ディスクが親ディスクにマージされていきます。その為、チェックポイントを削除する場合には、チェックポイント以上の空き容量が物理ディスクに必要になります。

 

②のavhdx は、①のディスクからの変更点が詰まった差分ディスクです。②のチェックポイントを削除すると、①のvhdxに②の変更点をすべて書き込んでから、②のavhdxを削除する動きになります。
なので、①のファイルは、少なくとも②のサイズまで膨れ上がります。

変更点をすべて書き戻すまでは、差分ディスクを削除したりはしないでしょう(すみません、この点検証できていません。。。)から、チェックポイントの削除処理の終了直前には、①のディスクは2TB近くまで膨れ上がっているでしょう。
3世代目を削除した段階で1TBの空きなので、まあ、足りませんね・・・

 

仮に物理ディスクが不足している場合は、チェックポイントを削除できない為、どうしようもなくなりますが、救済方法はあります。それは、実際のデータを移行して削除する方法です。実際に動作検証をしてわかりましたが、削除したデータは統合対象にならない為、空きディスクが少なくてもいいことになります。


ただし、チェックポイントをたくさん作成しているとどのデータがどのチェックポイントの差分データになるのか分かりにくいのでさらにつらい状況になることになりますね。ということで、チェックポイントは長時間保持しないようにするのがおすすめです。


ちなみに空き容量さえしっかりとあれば、数TBの差分ディスクも時間はかかりますが、問題なく統合することが可能です。VMwareのスナップショットにも同じことが言えますが、チェックポイント、スナップショットの管理はしっかりと。トラブルのもとになりますからね。


ちなみに、ネットで同様のトラブルになった人は、VMMSが仮想マシンをすべて停止したという内容もあり、本番運用しているサーバーだとかなりリスキーな作業になるのは間違いありません。