Назад |
Перейти на главную страницу
Виртуальная машина Hyper-V застряла в бесконечном цикле, пытаясь объединить удаленный моментальный снимок с недостаточным дисковым пространством
В настоящее время я столкнулся с проблемой нехватки дискового пространства на размещенном сервере, и я мог бы сделать с некоторой помощью. Ситуация такая:
- Сервер «мой», но он расположен на хостинге, поэтому у меня нет легкого доступа к нему.
- Сервер имеет два физических диска по 250 ГБ в конфигурации RAID1 (т. Е. Представляет один диск 250 ГБ)
- Диск разделен на C: (177 ГБ) и E: (54 ГБ).
- C: свободно около 25 ГБ. При необходимости можно освободить чуть более 50 ГБ (всего).
- Сервер - Win Server 2008 (не R2)
- У меня на сервере несколько ВМ. Проблемный называется SVR03.
- SVR03 имеет динамически расширяемый vhd-файл, который является единственным файлом на E :, и в настоящее время занимает все пространство на этом диске: 54 ГБ.
- SVR03 было снимок, который хранился в обычном месте на C: \ programdata \ microsoft \ windows \ hyper-v \ snapshots. Мы обнаружили, что этот моментальный снимок занимает все больше места на C :, и нам не нужен моментальный снимок, поэтому он был удален через диспетчер Hyper-V. Однако, насколько я понимаю, этот снимок необходимо объединить с vhd, прежде чем он действительно будет удален, и это слияние происходит при выключении виртуальной машины.
- Теперь после завершения работы SVR03 Hyper-V пытается выполнить это слияние снимка с vhd, но из-за недостатка места на E: это не удается. Кажется, что до отказа дойдет примерно до 50%.
- Первоначально он доходил только до 25%, прежде чем сбой, затем я обнаружил дополнительные 2 ГБ нераспределенного пространства на диске, поэтому расширил E :, к сожалению, этого не было достаточно дополнительного места, и vhd расширился, чтобы занять все пространство, кроме снимка не удалось успешно слиться.
- После того, как Hyper-V не может объединиться, он немного подождет, а затем попытается снова.
- Я не могу сжать vhd для SRV03, потому что он используется Hyper-V, пытаясь объединить его.
- Я могу снова запустить SVR03, но та же проблема возникает при выключении.
Как мне выйти из этой ситуации?
Есть ли способ сказать Hyper-V не объединять моментальный снимок, чтобы я мог перемещать файлы? например Я мог бы переместить vhd-файл в другое место, чтобы было больше места (либо очистив место на C:, либо отключив RAID и создав новый F: объемом 250 ГБ). Если бы мне пришлось переместить vhd-файл, все будет в порядке, или снимок каким-то образом связан с текущим местоположением файла?
Есть ли способ отменить удаление снимка, чтобы я мог выключить SVR03, а затем переместить vhd?
Большое спасибо!
Отключение RAID похоже на Плохая идея ™, но у вас все плохо, если вы не можете подключить USB-накопитель к серверу или что-то в этом роде. Вы можете выключить машину, отменить слияние, получить файлы vhd и avhd. После их перемещения Hyper-V больше не будет объединять их автоматически, вам придется делать это вручную. После объединения переместите vhd обратно в исходное расположение, и Hyper-V автоматически обнаружит, что файл avhd исчез.
Вот как я это решил:
- Прикрепил внешний флеш-накопитель. Это частично решает проблему с пространством, но все же оставил меня с машиной, которая продолжала пытаться объединить моментальный снимок при выключении виртуальной машины.
- Остановите службы управления Hyper-V, щелкнув правой кнопкой мыши имя сервера в диспетчере Hyper-V> Остановить службы. Обратите внимание, что это не останавливает ни одну из виртуальных машин и не останавливает доступ к ним через удаленный рабочий стол и т. Д.
- Удаленный рабочий стол на сервер SVR03 и выключите его. Теперь файлы на диске не используются.
- Скопируйте VHD (из E :) и файл моментального снимка AVHD на USB-накопитель.
- Переименуйте исходные файлы VHD и AVHD. Это так (а) Hyper-V не будет пытаться объединить их при запуске, а также (б) при использовании мастера редактирования диска позже вы получите опцию «переподключить».
- Следуя инструкциям Вот, переименуйте файл AVHD в VHD, затем используйте мастер редактирования диска, чтобы отредактировать файл AVHD и повторно подключить его к родительскому VHD. Обратите внимание, что вы не получаете опцию повторного подключения, если исходный файл VHD (на E: в моем случае) все еще существует. Теперь снова используйте мастер редактирования диска, чтобы отредактировать то, что было файлом AVHD, и объединить его с файлом VHD. На это уходит много времени, если вы используете USB-накопитель!
- Теперь мой VHD был больше, чем мой раздел для него, поэтому я избавился от этого диска и изменил размер C: чтобы использовать это пространство, удалил старые файлы VHD и AVHD, а затем переместил объединенный файл VHD в C:
- Создайте новую виртуальную машину с теми же настройками, что и у SVR03, и дайте ей как существующему жесткому диску объединенный файл VHD.
- Запусти и все хорошо!
Если у вас есть AVHD, объедините их все в VHD вручную, Hyper-V выдаст сообщение, что диск имеет контрольные точки и не может быть изменен, поэтому просто удалите застрявший диск (не удаляйте VHD), добавьте новый диск и перейдите к VHD - запустите ВМ как обычно :)