1

Эта функция замедляет удаление файлов на родной ОС без причины, однако особенно полезна для компактных образов виртуальных машин. Некоторые форматы, например VirtualBox ' .vdi позволяют не только динамически расти на основе распределения пространства после создания файла изображения, но также заменять блоки, состоящие исключительно из нулей, ссылками, которые уменьшают изображение до минимального размера, который лишь немного больше, чем пространство, фактически занимаемое гостевой ОС.

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

Нужно использовать такие инструменты, как zerofree для ext2/3/4 или другие способы, которые полностью заполняют файл изображения до того, как компактирование с помощью обнаружения нулевых блоков может иметь место на хосте. Если хост-система не поддерживает внутреннюю дедупликацию, это очень хлопотно. В конце концов, виртуальная машина не может использоваться в течение некоторого времени, вплоть до часов, потому что обнуление требует эксклюзивного или только для чтения доступа к данным.

Можно сжать файл образа виртуальной машины без выполнения команд внутри виртуальной машины, уменьшив блоки или экстенты, которые содержат только 0, потому что они никогда не были затронуты или стали равными 0 по другим несистематическим (и невероятным) причинам. Я ищу максимизацию эффекта. И, конечно же, потребности в памяти для образов виртуальных машин можно уменьшить с помощью дедупликации, что, однако, является другой вещью.

1 ответ1

0
  1. Чтобы выполнить такую операцию (сжать диск), на конце диска должны быть пустые блоки / сектора, поэтому вам следует выполнить дефрагментацию файловой системы.
  2. Также нельзя ожидать, что программное обеспечение VM знает все возможные файловые системы. Таким образом, вам также необходимо уменьшить файловую систему (требуется пункт 1)
  3. И в конце вы должны сжать ваш раздел (ы), чтобы освободить дисковое пространство на конце виртуального диска (необходимо указать пункты 1 и 2)

Для меня это способ уменьшить виртуальные диски ВМ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .