Виртуальные машины не стартуют из-за нехватки места на диске

Сегодня я хочу обратить ваше внимание на известный факт, который, с появлением в Hyper-V динамической памяти, стал ещё более важен. Как вы знаете, новая виртуальная машина в выключенном состоянии представляет собой всего два файла: VHD диск с содержимым виртуальных дисков и XML файл с конфигурацией. По сути, VHD диска может и не быть, если машина загружается с сети, виртуальной дискеты или образа CD. При включении виртуальной машины Hyper-V немедленно резервирует BIN файл, равный размеру памяти виртуальной машины. В случае динамической памяти этот файл создаётся размером со стартовое значение динамической памяти машины, который постепенно растёт с ростом текущего объёма предоставленной памяти. Никакой записи в данный файл ни при включении, ни при работе машины не происходит. Однако, если вы выберите опцию сохранения машины, или же у вас в некий момент кончится место на диске, система сохранит память машины в этот BIN файл. Гипервизору нужно быть уверенным, что для этого на диске всегда есть место, поэтому оно резервируется при старте виртуальной машины. И если уже при старте у вас недостаточно свободного дискового пространства для сохранения максимального объёма памяти машины на диск, она не запустится. Вы получите ошибку: «Failed to initialize», с комментарием «Failed to create memory contents file»:

 

Ничего принципиально нового тут нет, однако следует об этом помнить и понимать, как расшифровывается такое сообщение.