Как я уменьшаю динамично рост диск VDI от VirtualBox?

Мои динамично растущие виртуальные диски (VDI) от различных установок Ubuntu в Виртуальном Поле на самом деле постоянно "растут" действительно.

Удаление файлов в виртуальной машине не освобождает место, которое мой файл VDI занял от пространства на жестком диске хоста.

Как я уменьшаю эти файлы для возвращения неиспользованного пространства на жестком диске к хосту?

35
задан 7 April 2014 в 21:45

2 ответа

Динамично растущий Виртуальный файл виртуального жесткого диска Поля способен к росту по требованию виртуальной машины до максимального размера, который мы определили в установке этого файла. Это однако не освобождает пространство файлов, мы удалили в госте ОС.

В случае, если диск вырос слишком много, мы можем уплотнить его снова, если неиспользуемое место заполнено нулями, и диск находится в формате VDI.

Для ext2 к расширению 4 файловых системы это может быть сделано от гостя Ubuntu с zerofreeутилитой Install zerofree командной строки *.

zerofree /dev/sdxX

Этому нужен диск не использоваться и быть размонтированным. Нам поэтому, вероятно, придется связать его временно с другим VM, который мы создали с этой целью, или мы должны загрузить продуктивную среду Ubuntu на этом VM.

Замена /dev/sdxX с ext2 ext3 или ext4 отформатировал рассматриваемый раздел.

Больше чем на одном разделе мы мои должны повториться zerofree для каждого раздела. Следует иметь в виду, что путем заполнения нулями виртуальный файл будет временно расти к, он - максимальный размер.

После того как все неиспользованное дисковое пространство заполнено нулями, с которыми мы затем уменьшаем диск

VBoxManage modifyhd <name>.vdi --compact

Это значительно уменьшит размер файла нашего файла VDI.

* В госте Windows мы можем заменить неиспользуемое место утилитой sdelete.

34
ответ дан 16 November 2019 в 11:02

Вот некоторые альтернативные способы обнулить свободное пространство на диске (который может быть самой трудоемкой частью). Впоследствии, необходимо будет все еще работать VBoxManage modifyhd <disk> --compact для уплотнения файла фактической дисковой емкости.

<час> Эта команда может обнулить диск, в то время как это размонтировано:
apt-get install zerofree
zerofree -v /dev/sdxN

<час> Здесь пример того, как заставить dd периодически печатать вывод:
dd if=/dev/zero of=temp-file-on-disk bs=20M

# run this to get the process ID of the dd command
pgrep -l '^dd 

<час> Здесь dd - как программа, которая будет автоматически периодически печатать вывод:
apt-get install dcfldd
dcfldd if=/dev/zero of=temp-file-on-disk bs=20M
# then put the process ID on the command line to "kill -USR1" # this will tell dd to print the current status (in another terminal) kill -USR1 $(pgrep -l '^dd

<час> Здесь dd - как программа, которая будет автоматически периодически печатать вывод:
apt-get install dcfldd
dcfldd if=/dev/zero of=temp-file-on-disk bs=20M
| awk '{print $1}')

<час> Здесь dd - как программа, которая будет автоматически периодически печатать вывод:
apt-get install dcfldd
dcfldd if=/dev/zero of=temp-file-on-disk bs=20M
1
ответ дан 16 November 2019 в 11:02

Другие вопросы по тегам:

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