Если вы делаете снимки жестких дисков своих виртуальных машин, то в папке, где находится виртуалка, будет соответствующее количество файлов типа AVHD, которые могут занимать достаточное количество дискового пространства. В процессе работы вы избавляетесь от лишних снимков в консоли гипервизора, однако AVHD-файлы от них остаются.
В ручную эти файлы удалять категорически нельзя! Чтобы избавиться от лишних AVHD-файлов, достаточно просто выключить виртуальную машину. Сразу после этого начнется процесс слияния снимков в один VHD-файл.
Но не всегда подобное «склеивание» проходит корректно. Инструмента по автоматическому объединению таких «бесхозных» снимков нет. Приходится делать объединение вручную.
Подробно эта процедура описана тут (http://www.buldakov.ru/?p=878)
Необходимо знать где находятся снимки жёстких дисков (находятся обычно в папке виртуальной машины в подпапке Snapshots) и где находится исходный vhd-файл, к которому эти снимки мы будем прикреплять. Так же необходимо понять в каком порядке объединять снимки. Сначала объединяем самый свежий снимок (дата изменения снимка при включённой виртуалке совпадает с текущей, например 20/05/2010) со снимком более старшим (дата изменения снимка меньше предыдущей, но больше остальных, например 15/05/2010). Получившийся в итоге снимок объединяем со следующим по старшинству. Процедуру повторяем до тех пор пока не остается один снимок, который объединяется с исходным vhd-файлом. Процедура получается следующая:
- Выключаем виртуалку, чьи диски-снимки надо объединить.
- Меняем расширения всех снимков с .avhd на .vhd.
- На всякий случай делаем копии всех преобразуемых файлов (бывших .avhd и исходных .vhd).
- Записываем порядок в котором быдем объединять диски (20/05/2010.vhd => 15/05/2010.vhd =>… => Virtual Disk.vhd), чтобы в процессе не сбиться.
- В оснастке Hyper-V запускаем Edit Disk, выбираем самый новый снимок (20/05/2010.vhd). В окне выбора действия будет доступно только одно действие — Reconnect. Далее надо будет указать родительский снимок (предыдущий относительно того, который последний — 15/05/2010.vhd). При этом, для облегчения выбора, будет подсказка какой диск является родительским к исходному. Выбираем его. Нажимаем Finish.
- Запускаем Edit Disk повторно, выбираем самый свежий снимок. В окне выбора действия должно появится 2 пункта — Compact и Merge. Нас интересует второй. Выбираем его. В окне Summary можно будет посмотреть какой снимок с каким объединяется. Убеждаемся что это нужные нам снимки и запускаем процесс. При больших размерах снимков процесс может длиться достаточно долго.
- По завершении процесса в папке со снимками останется только самый новый снимок (20/05/2010.vhd). Родительский снимок (15/05/2010.vhd) будет удалён. Если в папке остались ещё более старые снимки, то переходим к пункту 5 и повторяем процесс объединения.
- Запускаем снова Edit Disk, в окне выбора действия будет 2 пункта — Compact и Merge. Выбираем второй. По завершении процесса в папке снимков снимков исходного диска не останется — все они будут объединены с исходным vhd-диском.
- Теперь, если мы зайдём в свойства виртуальной машины, то при попытке посмотреть на свойства нашего разбитого на снимки диска будет ошибка — виртуалка не сможет найти последний снимок. Смело можно удалять диск из свойств виртуалки и подключать его заново.
А разве слияние вирт.дисков нельзя выполнить средствами самого гипервизора? Средства же есть (удаление снапшота), как это нет?