У меня есть виртуальная машина ubuntu 16.04 на сервере Server 2012 R2 Hyper-V.
Размер VHDX (динамически расширяемый VHD) составляет 1,8 ТБ, но внутренняя виртуальная машина сообщает, что используется только 3% диска.
Я не понимаю, почему HV считает, что диск заполнен. С чем может быть связано?
Виртуальный диск имитирует любой установленный вами размер, о чем сообщит гость.
Если резервное физическое хранилище заполняется, запись должна прекратиться или повреждение обязательно. Использование гостевой файловой системы не обязательно указывает, когда это происходит из-за удаленных файлов или других операций записи в «свободное» пространство. Это классическая проблема с разреженными файлами или тонким выделением ресурсов.
Итак, вот что я пробовал, но наполовину успешно:
https://helgeklein.com/blog/2016/11/faster-trimming-compacting-hyper-v-ubuntu-vms/
sudo fstrim -v / -> On the VM
gci -File -Filter *.vhd* -Path D:\VMs -Recurse | % {Mount-VHD $_.FullName -ReadOnly; Optimize-VHD $_.FullName -Mode full; Dismount-VHD $_.FullName} --> On the HV Host
Размер VHDX уменьшился примерно на 1,5 ТБ, и это здорово. Но я не могу допустить, чтобы это происходило постоянно, есть несколько серверов с одинаковой / похожей работой, и я не вижу такого поведения ни на одном из них. Буду обновлять позже.
Логика?
Вроде того.
Hyper-V считает, что диск не заполнен. Он выделяет новые блоки по мере их написания - а затем вообще не заботится о них. Логически это небольшое отличие от фактического отслеживания того, заполнен ли диск или нет.