Discrepancy between VHDX size and what the OS reports

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?

0
задан 21 July 2017 в 19:17
3 ответа

Логика?

  • Когда-то он был заполнен, и содержимое было удалено.
  • ОС всегда выделяет новые блоки (копирование при стратегии записи)таким образом увеличивая размер VHDX.
  • Кто-то запустил какой-то инструмент для очистки в виртуальной машине, произвольно перезаписав весь диск

Подобные вещи.

Hyper-V не считает, что диск заполнен. Он выделяет новые блоки по мере их написания - а затем вообще не заботится о них. Логически это небольшое отличие от фактического отслеживания того, заполнен диск или нет.

-1
ответ дан 5 December 2019 в 07:44

Виртуальный диск имитирует любой установленный вами размер, о чем сообщит гость.

Если резервная физическая память заполняется, запись должна быть остановлена, иначе возможно повреждение. Использование гостевой файловой системы не обязательно указывает, когда это происходит из-за удаленных файлов или других операций записи в «свободное» пространство. Это классическая проблема с разреженными файлами или тонким выделением ресурсов.

1
ответ дан 5 December 2019 в 07:44

Итак, вот что я пробовал, полууспешно:

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 ТБ, и это здорово. Но я не могу допустить, чтобы это происходило все время, есть несколько серверов с одинаковой / похожей работой, и я не вижу такого поведения ни на одном из них. Буду обновлять позже.

0
ответ дан 5 December 2019 в 07:44

Теги

Похожие вопросы