Будет ли заполнение нулями увеличивать размер образа виртуального ящика динамического диска
Я в основном использовал образы дисков фиксированного размера для виртуальной коробки Oracle, но я подумываю переключиться на образы динамических дисков, так как я слышал, что динамические образы похожи по производительности на образы фиксированного размера, кроме случаев расширения.
Одна операция, которую я часто выполняю, заключается в том, чтобы заполнить образ диска фиксированного размера нулем, прежде чем выполнять его резервное копирование с помощью программы zip (чтобы уменьшить размер архива zip). У меня вопрос: когда я заполню нулями динамический диск, увеличится ли размер диска до максимального заявленного значения? (Для моего конкретного случая я использую sdelete -z
на перегородках windows.)
Еще один вопрос: есть ли способ обнуления разделов без увеличения размера диска?
Благодарю.
-- РЕДАКТИРОВАТЬ --
Чтобы уточнить, причина, по которой я спрашиваю, заключается в том, что я хочу сохранить размер сжатых образов виртуальных ящиков на минимальном уровне. Нулевое заполнение изображения фиксированного размера делает работу, так как заполненная нулями часть почти ничего не вносит в сжатое изображение. Однако, если я переключаюсь на динамический диск, заполнение нулями, похоже, лишает цели использования динамически изменяемых изображений.
Вторая часть моего вопроса на самом деле спрашивает, существует ли лучшая альтернатива, чем заполнение нулями, которая может удалить неиспользуемые сектора без увеличения размера диска.
1 ответ
Я только что проверил это (используя sdelete -z
в ВМ) и нулевое заполнение диска не приведет к значительному увеличению размера образа динамического диска. Virtualbox достаточно умен, чтобы признать, что при записи нулей в уже пустой блок на диске не требуется повторная запись блока.
Но даже если это произойдет, то это не так уж и плохо, поскольку заполнение диска нулем также позволит вам снова сжать его с помощью инструментов Virtualbox на вашем хосте: как уменьшить размер файла VDI VirtualBox?
Когда я заполнил свою виртуальную машину нулем, размер изображения увеличился с ~14,5 ГБ до ~15,5 ГБ, но не полностью выделил все дисковое пространство, которое было бы приблизительно 48 ГБ.
Фактически ноль заполняет диск (через sdelete -z
) позволит вам должным образом освободить любое пространство, которое было записано, но с тех пор было освобождено операционной системой вашей виртуальной машины, тогда вы можете выполнить команду VBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compact
на хост-машине, чтобы правильно сжать образ динамического диска до минимального размера.