I have an ubuntu 16.04 VM on a Server 2012 R2 Hyper-V server.
The VHDX (dynamically expanding VHD) size is 1.8TB but the VM inside reports that only 3% of the disk is used.
I don't understand why HV thinks that the disk is full. What can the be related to?
Логика?
Подобные вещи.
Hyper-V не считает, что диск заполнен. Он выделяет новые блоки по мере их написания - а затем вообще не заботится о них. Логически это небольшое отличие от фактического отслеживания того, заполнен диск или нет.
Виртуальный диск имитирует любой установленный вами размер, о чем сообщит гость.
Если резервная физическая память заполняется, запись должна быть остановлена, иначе возможно повреждение. Использование гостевой файловой системы не обязательно указывает, когда это происходит из-за удаленных файлов или других операций записи в «свободное» пространство. Это классическая проблема с разреженными файлами или тонким выделением ресурсов.
Итак, вот что я пробовал, полууспешно:
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 ТБ, и это здорово. Но я не могу допустить, чтобы это происходило все время, есть несколько серверов с одинаковой / похожей работой, и я не вижу такого поведения ни на одном из них. Буду обновлять позже.