Объединяем снимки жёстких дисков виртуалки в один vhd-файл

При корректном удалении снимков виртуальной машины при её выключении снимки жёстких дисков должны объединяться автоматически. К сожалению, не всегда это получается и в силу разных причин папка со снимками может распухать и привести ко всяким неприятным последствиям. Инструмента по автоматическому объединению таких “бесхозных” снимков нет. Приходится делать объединение вручную. Для этого необходимо знать где находятся снимки жёстких дисков (находятся обычно в папке виртуальной машины в подпапке Snapshots) и где находится исходный vhd-файл, к которому эти снимки мы будем прикреплять. Так же необходимо понять в каком порядке объединять снимки. Сначала объединяем самый свежий снимок (дата изменения снимка при включённой виртуалке совпадает с текущей, например 20/05/2010) со снимком более старшим (дата изменения снимка меньше предыдущей, но больше остальных, например 15/05/2010). Получившийся в итоге снимок объединяем со следующим по старшинству. Процедуру повторяем до тех пор пока не остается один снимок, который объединяется с исходным vhd-файлом. Процедура получается следующая:

  1. Выключаем виртуалку, чьи диски-снимки надо объединить.
  2. Меняем расширения всех снимков с .avhd на .vhd.
  3. На всякий случай делаем копии всех преобразуемых файлов (бывших .avhd и исходных .vhd).
  4. Записываем порядок в котором быдем объединять диски (20/05/2010.vhd => 15/05/2010.vhd =>… => Virtual Disk.vhd), чтобы в процессе не сбиться.
  5. В оснастке Hyper-V запускаем Edit Disk, выбираем самый новый снимок (20/05/2010.vhd). В окне выбора действия будет доступно только одно действие – Reconnect. Далее надо будет указать родительский снимок (предыдущий относительно того, который последний – 15/05/2010.vhd). При этом, для облегчения выбора, будет подсказка какой диск является родительским к исходному. Выбираем его. Нажимаем Finish.
  6. Запускаем Edit Disk повторно, выбираем самый свежий снимок. В окне выбора действия должно появится 2 пункта – Compact и Merge. Нас интересует второй. Выбираем его. В окне Summary можно будет посмотреть какой снимок с каким объединяется. Убеждаемся что это нужные нам снимки и запускаем процесс. При больших размерах снимков процесс может длиться достаточно долго.
  7. По завершении процесса в папке со снимками останется только самый новый снимок (20/05/2010.vhd). Родительский снимок (15/05/2010.vhd) будет удалён. Если в папке остались ещё более старые снимки, то переходим к пункту 5 и повторяем процесс объединения.
  8. Запускаем снова Edit Disk, в окне  выбора действия будет 2 пункта – Compact и Merge. Выбираем второй. По завершении процесса в папке снимков снимков исходного диска не останется – все они будут объединены с исходным vhd-диском.
  9. Теперь, если мы зайдём в свойства виртуальной машины, то при попытке посмотреть на свойства нашего разбитого на снимки диска будет ошибка – виртуалка не сможет найти последний снимок. Смело можно удалять диск из свойств виртуалки и подключать его заново.

Последнюю часть в картинках можно посмотреть здесь. Исходный пост, который и помог провернуть всю эту операцию можно посмотреть здесь.

9 thoughts on “Объединяем снимки жёстких дисков виртуалки в один vhd-файл

  1. Pingback: rakhimov
  2. Приветики, Станислав, и спасибо за статейку, ни разу не объединял диски, понял всё после первого прочтения и сразу же воплотил.
    Ситуация горела — у заказчика после скачка в электросети вырубились все три хоста hyper-v в кластере, так что пришлось спасать детей, которые ни хрена не поняв начали трогать-менять-запускать диски.
    И ещё конечно Hyper-V 3.0 порадовал.

  3. По завершении процесса в папке со снимками останется только самый новый снимок (20/05/2010.vhd). Родительский снимок (15/05/2010.vhd) будет удалён. Если в папке остались ещё более старые снимки, то переходим к пункту 5 и повторяем процесс объединения.
    Немного не согласен с этим утверждением, потому что в реале при слиянии видно, что родительский снимок начинает распухать, а после завершения слияния дочерний автоматом убивается. Так у меня было на гипервизоре 2008 R2 Std.

  4. Ничего не нужно переименовывать и так все прекрасно объединяется!

Leave a Reply

Your email address will not be published. Required fields are marked *