Как уменьшить размер виртуального диска virtualbox
Я пытаюсь выяснить, как изменить размер файла VDI. Я новичок в VirtualBox, и мне нужно многому научиться. Но я думаю, что понял основы. Я уже установил Windows 7 в качестве моего первого гостя. Хост также Windows 7. Я не был уверен, сколько дискового пространства выделить, поэтому я выбрал VDI размером 40 ГБ и фиксированный размер для увеличения производительности. Но сейчас я изменил свое мнение и хочу добавить еще 10 ГБ. Я перебираю программу и читаю содержимое меню Справка, но это не помогает. Здесь объясняются контроллеры дисков, SAS, SATA, SCSI, yada, yada, но не то, что я ищу.
Я искал ответы во всемирной паутине, форум VirtualBox говорит, что вы должны использовать Gparted, если вы хотите самый простой метод (в некоторых модах есть стикеры). Некоторые пользователи обсуждают использование команды dd . Но это все, что связано с Linux. Кроме того, в SU много вопросов, касающихся увеличения и уменьшения размеров файлов VDI, но все они касаются использования Linux в качестве хоста и Windows в качестве гостя.
Я нашел этот хороший пост в блоге о том, как это сделать с помощью команды modifyhd VBoxManage. Этот парень также делает это на Linux в качестве хоста ОС. Он даже хотел того же размера (50 ГБ) для своего файла VDI, что и я для своего файла, какое совпадение. Так что я подумал, что все равно попробую, сделаю или сломаю. Что может пойти не так? . а? Ну, это ужасный сюрприз, который я получил.
Скажите, что сейчас?! . не можете изменить размер виртуальных жестких дисков формата VDI? Вы не говорите? Не поддерживает свой собственный формат? Теперь как насчет этого .
Неужели нет простого способа изменить размер файла VDI, желательно с помощью нескольких кликов внутри VirtualBox? Что-нибудь в процессе?
- VBoxManage.exe modifyhd --resize может увеличить (но не уменьшить) логический размер образа диска (размер, видимый гостевой ОС).
- VBoxManage.exe modifyhd inputfile.vdi --compact может уменьшить размер образа физического диска (размер файла образа на диске, видимый операционной системой хоста). Это, однако, не меняет размер логического диска. Обратите внимание, что это работает только в том случае, если в гостевой ОС сначала было обнулено свободное место.
- modifyhd работает только с вариантом динамического формата ("динамически размещаемое изображение").
- modifyhd работает только с VDI и VHD форматами изображений.
- Если вы используете моментальные снимки, вам придется клонировать последний VDI моментального снимка из подпапки "Снимки".
Подробнее см. Раздел 8.23.VBoxManage modifyhd в руководстве.
Причина, по которой уменьшение размера логического диска VDI еще не было реализовано, состоит в том, чтобы предотвратить повреждение данных, которое может произойти, и в результате вы получите не загружаемые виртуальные машины. Поэтому при использовании параметра --resize новый размер диска должен быть больше текущего размера. Он не может быть меньше или равен текущему размеру. Другими словами, размер диска 40 ГБ можно изменить только до 41 ГБ или больше, его нельзя изменить до 40 ГБ (это просто глупо) или 39 ГБ или меньше.
Старые версии VirtualBox создавали файлы VDI как "фиксированный" вариант формата. Новая настройка по умолчанию теперь создает варианты "динамического" формата при создании новых файлов VDI (образ виртуального диска). (Я предполагаю, что это так с момента введения варианта динамического формата, в зависимости от того, какая версия была представлена.)
Показать VDI информацию о текущем диске.
Введите команду: vboxmanage.exe showhdinfo path\inputfile.vdi
Видите, где написано "фиксированный дефолт"? Вот почему он выдает ошибку выше, когда вы пытаетесь изменить его размер.
Клонировать старый файл VDI в новый файл VDI.
Вуаля! Старый файл теперь клонирован в новый файл. Поскольку в новых версиях VirtualBox по умолчанию используется вариант "динамического" формата, вам не нужно это явно определять. Хотя, если вы работаете с более старой версией VirtualBox, вам может потребоваться установить параметр "динамический" (если он вообще доступен), чтобы обеспечить лучшую совместимость и / или гибкость с будущими версиями VirtualBox.
Показать информацию VDI о клонированном диске.
Видите, как сейчас написано "динамический дефолт"? Как мило!
(На стороне заметка! Причина, по которой здесь указывается физический размер 7806 МБ, заключается в том, что я использовал опцию --compact в исходном файле VDI, пытаясь обеспечить преобразование в вариант динамического формата. Просто то, что я прочитал на форуме VirtualBox, оно предположительно работало бы со старыми версиями, так что я подумал, что могу попробовать. Это не сработало.)
Изменение размера клонированного диска.
Успех! Никакого формата фигня больше нет. Только не забудьте изменить размер нового клонированного диска, а не исходного. Имейте в виду, что размер выражается в МБ. Я считаю, что вы можете использовать, например, 51200 а также 50G (или, возможно, "ГБ"). Существует также опция --resizebyte которую можно использовать для выражения размера в байтах.
Показать информацию VDI об измененном диске клона.
Это оно! Отсюда нужно добавить этот клонированный диск в качестве нового VDI для виртуальной машины. Вы делаете это внутри VirtualBox. Я не буду вдаваться в это. Если вы смогли прочитать и понять это до сих пор, то вам, вероятно, больше не нужно руководствоваться. Вы можете удалить старый "исправленный" файл или оставить его в качестве резервной копии. Убедитесь, что вы протестировали новый файл VDI, прежде чем удалить исходный файл.
Заметка! Вы не сразу увидите новый размер клонированного диска. Вы должны загрузить виртуальную машину вместе с ней, а затем использовать инструмент управления разделами, чтобы расширить раздел для заполнения виртуального диска (или создать больше разделов). Для Windows просто запустите diskmgmt.msc и вы сможете расширить раздел там.
Вот довольно простой процесс, который помог мне изменить размер диска фиксированного размера VirtualBox (v. 4.3.16) на динамический диск 60 ГБ на моем Mac (OS X 10.9.4) с Linux (Ubuntu 14.04), работающей в качестве гостевой ОС:
В терминале на Mac вставьте компакт-диск в каталог с файлом VDI и введите следующее:
В разделе хранилища приложений VirtualBox добавьте mydiskClone.vdi в качестве второго HD, затем запустите ВМ в обычном режиме.
В оболочке гостевой ОС введите:
Перезагрузите гостя. Когда он вернется, снова зайдите в оболочку и введите:
Завершение работы гостевой ОС.
В разделе хранения приложений VirtualBox снова установите mydiskClone.vdi в качестве загрузочного диска. Затем запустите гостевую ОС и проверьте новый размер диска, используя свойства "Компьютер" в файловом браузере.
Клонирование на самом деле является лучшим решением, и есть более простой способ сделать это.
В меню «Файл» выберите «Virtual Media Manager», затем нажмите «Копировать». Источником будет ваш исходный жесткий диск vdi фиксированного размера, а местом назначения будет что-то новое по вашему выбору (включая опцию нового).
ОК, так что я сделал это без клонирования.
У меня был VDI-файл объемом 100 ГБ (фиксированный формат) с Ubuntu. Работает нормально. Я хотел освободить место в хосте за счет сокращения виртуальной машины.
Удалил ненужные файлы. 45 ГБ бесплатно. Мне нужно только 30 ГБ, чтобы освободиться.
У меня только один раздел, поэтому я не могу ничего сделать из гостевой Ubuntu. Установил Ubuntu Live в ВМ и загрузился с нее.
Используется gparted для сокращения раздела до 70 ГБ. Создан новый раздел в неиспользуемом пространстве в ext4 .
Свободное место в новом разделе (30 ГБ).
Мой новый раздел был /dev/sda3 .
VBoxManage modifyhd "ubuntu.vdi" compact
Это заняло некоторое время, но это сработало!
Вот как я изменил размер / увеличил / расширил фиксированный образ VDI (мой процесс их сжатия находится в другом ответе):
- Используйте VirtualBox для создания нового диска нужного размера (размер ДОЛЖЕН быть как минимум таким же, как и у оригинала). Для этого откройте настройки VirtualBox для гостевой виртуальной машины, перейдите в раздел "Хранилище", щелкните контроллер жесткого диска (например, "SATA"), а затем нажмите «+», чтобы добавить жесткий диск. Затем настройте новый диск по своему усмотрению.
- Загрузите gparted live ISO и настройте гостевую виртуальную машину для загрузки с нее (опять же, Настройки хранилища).
- Сделайте резервную копию текущего хранилища вашей гостевой виртуальной машины.
- Загрузите гостевую виртуальную машину (должна загрузиться в gparted live). Изнутри gparted окружающей среды:
- Используйте приложение gparted, чтобы проверить, что ваш существующий диск - "/dev/sda", и что ваш новый (больший) диск - "/dev/sdb" (верхний правый выпадающий).
- Закройте приложение gparted.
- Откройте терминал с правами root (щелкните правой кнопкой мыши на рабочем столе -> Терминалы -> терминал с правами root).
- Введите следующую команду: dd if=/dev/sda of=/dev/sdb status=progress bs=128M и дождитесь его завершения. Это скопирует исходный диск на новый побайтный диск, включая MBR и т.д. (Примечание: это может занять некоторое время, в зависимости от размеров исходного диска, скорости диска на хосте и т.д.). (Примечание: если вашей гостевой виртуальной машине выделено более 1 ГБ ОЗУ, вы можете изменить параметр "bs" на «bs = 256M», что может немного увеличить скорость копирования).
- Снова откройте приложение gparted
- Выберите новый (больший) диск (должен быть /dev/sdb) в правом верхнем раскрывающемся списке.
- Разверните раздел (ы) по желанию. Чтобы развернуть раздел, который не находится в конце, вам может потребоваться переместить разделы после того, который (-ые) вы хотите расширить. В зависимости от особенностей вашей схемы разбиения вам может потребоваться сделать это в несколько этапов, например, увеличить последний раздел до конца, а затем уменьшить его, переместив все в конец. В моем случае моим последним разделом был linux-swap, поэтому я просто удалил его, расширил основной раздел по желанию, а затем заново создал раздел swap в конце (следя за тем, чтобы повторить его исходную схему разбиения).
- Применять изменения.
- На этом этапе у вас должен быть новый диск фиксированного размера со всем исходным содержимым и большим пространством, чем у исходного. Вы можете смонтировать новый диск в gparted live env и проверить.
- Завершите работу гостевой виртуальной машины (gparted live) и удалите ISO-образ с диска виртуальной машины.
Несмотря на то, что вышеописанное отлично сработало для меня несколько раз, кажется, если использовать LVM, потребуется еще несколько шагов. (ПРИМЕЧАНИЕ. Если используется LVM, вы можете просто добавить новый диск нужного размера, а затем добавить этот диск в группу томов.) В CentOS 6.6, где используется LVM, мне также пришлось увеличить пространство внутри LVM. Поэтому после загрузки нового диска, созданного выше, я сделал что-то вроде этого (различные части этого будут зависеть от имен вашей установки):
Получить информацию о настройке LVM:
Расширить физический объем (PV) (группа томов (VG) автоматически будет отражать то же увеличение):
Расширить логический том (LV):
Расширить файловую систему:
Как-то поздно на вечеринку здесь, но я добавлю свои 2 цента. Сначала я скажу, что это запутанный процесс, который сведет с ума большинство случайных пользователей, пытающихся разобраться. Почему Oracle не включил это в графический интерфейс VBox - загадка.
Шаг 2: Затем вам нужно расширить основной раздел, чтобы использовать новое пространство. Загрузите gparted iso и создайте новую виртуальную машину в VBox, используя ее в качестве источника IDE. Затем используйте существующий диск VDI в качестве диска SATA. Не создавайте виртуальный диск для этой машины. Загрузите новую машину, и у вас будет запущен gparted Gui. Это может занять пару перезагрузок, чтобы разобраться в себе.
После запуска gparted вы увидите разделы вашего диска vdi, размер которых вы хотите изменить. ВАЖНО: Вам нужно будет удалить расширенный раздел и пространство подкачки, чтобы иметь возможность увеличить размер основного раздела, поэтому не выделяйте все новое пространство для PP. После того, как вы это сделаете, вам нужно будет указать оставшееся пространство для нового расширенного раздела и создать в нем новое пространство для файла подкачки. Я обнаружил, что это намного проще, чем суетиться с командной строкой.
Не кусок пирога, но это выполнимо . мне потребовалось около полдня на изучение сети, чтобы понять это. Запуск win8.1 / Ubuntu на VBox
Вот как я изменил размер / уменьшил / уменьшил фиксированный образ VDI (мой процесс его расширения находится в другом ответе в этой же теме):
Сначала краткая справка о том, зачем мне это нужно (поскольку существует множество сценариев для сокращения VDI, некоторые из которых могут оказаться невозможными при таком подходе): Несколько лет назад я создал фиксированный VDI для гостевой системы Windows Server и оценил его в 600 ГБ. Я не помню, почему я выбрал этот размер, но на сегодняшний день я использовал только 100 ГБ в этом госте и хочу вернуть большую часть оставшегося места. Так что в моем случае я хочу сохранить все данные в гостевой системе и просто хочу освободить неиспользуемое пространство в гостевой системе.
(Следующие шаги в основном сделаны из моей памяти о том, что я делал это за последние 2 часа, поэтому извиняюсь, если что-то здесь упустил.)
- Определите, насколько большим вы хотите новый размер. Естественно, вы, вероятно, захотите оставить гостю дополнительное пространство сверх того, что он в настоящее время потребляет. Размер должен быть не меньше, чем данные на исходном / исходном диске, округленные до ближайшего ГБ.
- Используйте VirtualBox для создания нового диска фиксированного размера с размером, определенным на предыдущем шаге. Для этого откройте настройки VirtualBox для гостевой виртуальной машины, перейдите в раздел "Хранилище", щелкните контроллер жесткого диска (например, "SATA"), а затем нажмите «+», чтобы добавить жесткий диск. Затем настройте новый диск по своему усмотрению.
- Загрузите gparted live ISO и настройте гостевую виртуальную машину для загрузки с нее (опять же, Настройки хранилища).
- Сделайте резервную копию текущего хранилища вашей гостевой виртуальной машины.
Загрузите гостевую виртуальную машину (должна загрузиться в gparted live). Изнутри gparted окружающей среды:
Предполагая, что ваш "оригинальный" диск - / dev / sda, а "новый" - / dev / sdb (если нет, измените следующую команду соответствующим образом), тогда мы будем копировать каждый раздел по одному. Для каждого раздела, отмеченного на шаге выше, введите в терминале следующую команду:
и дождаться его завершения. Это скопирует раздел 1 с исходного диска в раздел 1 на байтовом диске нового диска.
Повторите команду для каждого оставшегося раздела:- Это может занять некоторое время в зависимости от размеров разделов, скорости диска на хосте и т.д.).
- Если вашей гостевой виртуальной машине выделено более 1 ГБ ОЗУ, вы можете изменить параметр "bs" на «bs = 256M», что может немного ускорить копирование.
Получите ISO-образ установки или восстановления Windows (в идеале тот, который соответствует вашей версии ОС) и настройте гостевую виртуальную машину для загрузки с нее (опять же, Настройки хранилища).
Запустите гостевую виртуальную машину и выберите загрузку с CD / DVD.
-
Так как каждая версия установки / восстановления Windows отличается, я не могу дать здесь точных шагов для всех. Но идея состоит в том, чтобы выбрать опцию "Восстановить" и найти путь к командной строке. В моем случае с Windows Server 2012 мне пришлось: (а) выбрать свой язык / локаль; (б) выберите "Ремонт компьютера" в левом нижнем углу; (c) Выберите "Устранение неполадок"; (d) Выберите "Командная строка".
Эта последняя команда должна найти вашу установку Windows и предложить добавить ее в BCD. Ответьте "Y".
У виртуальных динамических дисков VDI , созданных в программе VirtualBox есть одна особенность, которая при определённых обстоятельствах может доставить пользователю некоторые неудобства. При копировании на них массивов данных динамические виртуальные диски имеют свойство расширяться, но если затем вы удалите с такого диска все файлы, его размер останется прежним. Таким образом виртуальная машина может раздуться до весьма значительных размеров, заняв на физическом носителе неоправданно много места.
Ключ resize, предназначенный для изменения размера виртуального диска VirtualBox в данном случае бесполезен, так как работает он только в одну сторону — в сторону расширения диска. Чтобы сжать виртуальный диск, необходимо использовать другой ключ — compact. Но перед тем как приступать к сжатию, нужно удалить с виртуального диска все ненужные файлы, а затем выполнить его зачистку с помощью утилиты Sdelete , созданной известным программистом Марком Руссиновичем и входящей в пакет средств администрирования Windows Sysinternals . Также необходимо удалить все снимки виртуальной машины, в противном случае вы можете получить ошибку.
П римечание: утилита Sdelete используется для очистки разделов и дисков в ОС Windows, для очистки дисков в Linux следует использовать утилиту ZeroFree .
Sdelete имеет маленький вес и не требует установки.
Поместите её внутри запущенной виртуальной машины в корень системного раздела, а затем, открыв от имени администратора командную строку, выполните такие команды:
cd C:\
sdelete.exe -s -z C:Аналогичным образом зачистите свободное пространство пользовательского раздела.
sdelete.exe -s -z D:
После этого завершите работу виртуальной машины, от имени администратора откройте в базовой системе командную строку и последовательно выполните две этих команды:
cd C:\Program Files\Oracle\VirtualBox
VboxManage.exe modifyhd "D:\Oracle VM VirtualBox\Windows 10 x86 Ent 1607.vdi" --compactПервой командой мы переходим в расположение утилиты VboxManage.exe , а второй производим сжатие виртуального диска с помощью команды modifyhd и ключа compact. Путь к файлу VDI у вас будет свой, также не забывайте о прямых кавычках, если в пути или имени файла есть пробелы. Процедура сжатия занимает больше времени, чем расширение (на это нужно всего несколько секунд) , так как утилите приходится работать с реально занятым дисковым пространством.
А теперь, наверное, самый интересный вопрос. Как и от каких виртуальных разделов будет отнято дисковое пространство?
От обеих, причём забрано будет всё виртуальное пространство, на котором нет файлов, — именно на столько будет сжат файл VDI . Однако визуально в самой виртуальной машине ничего не изменится. Разделы в ней по-прежнему будут иметь «свободное место», а сам размер дисков видимо останется таким же, каким он был до сжатия. Но это все, конечно, пустяки. Главное, что таким образом вы уменьшите размер файла VDI , высвободив тем самым место на физическом жёстком диске.
Рано или поздно пользователи VirtualBox сталкиваются с тем, что диск (динамический) гостевой системы стал занимать много места на хост системе.
Диск в гостевой системе 25 ГБ. Занято в Windows только 13 ГБ, но на хост системе диск занимает почти 19 ГБ.
Вывод команды VBoxManage
Для ещё большей наглядности скриншот
Диск в менеджере носителей
Как сжать VDI диск
Шаг 1. Выполняем дефрагментацию диска (зачем?!) в гостевой системе (только для Windows).
Шаг 2. Заполняем диск нулями
Для гостевой системы Windows
Для Windows есть специальная утилита SDelete.
Для гостевой системы Linux
Для Linux вариантов несколько:
Или через утилиту zerofree
Или через утилиту sfill (входит в состав пакета secure-delete ; только для Debian)
Шаг 3. Выключаем гостевую машину.
Шаг 4. Запускаем modifymedium с опцией compact .
Для хост системы с Mac
Для хост системы с Linux
Для хост системы с Windows
На тот случай, если при создании виртуальной машины вы не угадали с размером, в Oracle VirtualBox есть штатная возможность изменить размер виртуального диска. Правда из графической оснастки изменить размер диска не получиться, для этого придется воспользоваться консольной утилитой VboxManage.exe, входящей в состав VirtualBox.
Увеличение размера
Открываем командную строку и переходим в директорию C:\Program Files\Oracle\Virtual Box (директория установки VirtualBox по умолчанию). Выведем информацию о виртуальном диске WKS2.vdi командой:
VboxManage.exe showhdinfo C:\VM\WKS2.vdi
В строке Logical size указан максимальный размер диска — 25600 Мб (25 Гб). Увеличим его до 30 Гб (30720 Мб) следующей командой:
VboxManage.exe modifyhd C:\VM\WKS2.vdi −−resize 30720
И затем еще раз посмотрим данные о диске.
После увеличения размера виртуального диска надо зайти в гостевую систему и увеличить размер логического диска. Cделать это можно из оснастки управления дисками (discmgmt.msc), выбрав в контекстном меню пункт «Расширить том». Эта возможность есть во всех ОС Windows, начиная с Vista\Server 2008. В других операционных системах придется воспользоваться сторонними программами, например Acronis Disk Director.
Как увеличить/уменьшить размер диска
Для изменения размера диска нужно запустить vboxmanage с опцией modifymedium . В прошлых релизах VirtualBox опция называлась modifyhd или modifyvdi .
For compatibility with earlier versions of VirtualBox, the "modifyvdi" and "modifyhd" commands are also supported and mapped internally to the "modifymedium" command.
Для хост системы Mac/Linux
Для хост системы Windows
Увеличим диск с 25 ГБ до 30 ГБ. Размер указывается в МБ. 30 ГБ = 30*1024 = 30720.
Далее остаётся только расширить диск внутри гостевой ОС
Уменьшение размера
Возможна и обратная ситуация, когда необходимо уменьшить размер дискового пространства, занимаемого виртуальной машиной. В этом случае алгоритм действий другой.
Сначала заходим в гостевую систему и удаляем все лишнее. Затем произведем очистку свободных секторов диска с помощью утилиты Sdelete от Sysinternals. Утилита не требует установки, ее достаточно распаковать и запустить из командной строки команду Sdelete.exe -s -z .
Примечание. В Linux для очистки диска можно воспользоваться утилитой ZeroFree.
После очистки выключаем виртуалку, открываем командную строку на хостовой машине и выполняем команду:
VboxManage.exe modifyhd C:\VM\WKS2.vdi −−compact
Эта команда сжимает образ виртуального диска, уменьшая место, занимаемое им на диске. При этом логический размер диска останется без изменения. Уменьшить размер диска с помощью ключа resize не получится, этот способ работает только в сторону увеличения.
В заключение скажу, что увеличение размера возможно только для динамических дисков формата VDI или VHD, а сжатие — только для VDI-дисков. Все остальные варианты не поддерживаются, по крайней мере на данный момент. И еще, перед изменением размера диска не поленитесь сделать его резервную копию, на всякий случай 🙂
У меня есть виртуальная машина VirtualBox, в которой настроен очень большой размер жесткого диска (больше, чем у хоста). По моей ошибке программа на виртуальной машине генерировала множество файлов журналов, и размер файла VDI продолжает расти, пока на хосте не останется свободного места.
Теперь я удалил файлы журналов, но размер файла VDI не уменьшается после использования VBoxManage.exe modifyhd "C:\Virts\mybox-i386.vdi" compact
Есть ли способ действительно сжать размер файла VDI? Спасибо!
Вы должны сделать следующие шаги:
-
Запустите defrag в гостевой системе (только для Windows)
Обнулить свободное пространство:
С гостем Linux запустите это:
С гостем Windows загрузите SDelete от Sysinternals и запустите это:
(замените C: на букву диска VDI)
Отключение гостевой ВМ
Теперь запустите команду modifymedium VBoxManage с параметром --compact :
С хостом Linux запустите это:
С хостом Windows запустите это:
С хостом Mac запустите это:
Это уменьшает размер VDI.
Просто запустите команду по UUID вместо имени файла:
Я на хосте Windows 7 с гостями Windows. Вот пакетный файл, который я записал в Compact все VDI в дереве папок.
Я оставил ссылки в комментариях, чтобы вы могли (вроде) рассказать, как это работает.
Это не прямой ответ сам по себе, так как я решаю проблему, а не вопрос. Вместо того, чтобы периодически сжимать образ, это решение использует Discard для автоматического удаления неиспользуемых блоков в образе диска виртуальной машины хоста.
Это решение требует гостевой файловой системы, которая поддерживает непрерывную TRIM. Вики Linux Arch содержит список файловых систем, поддерживающих операции TRIM.
FDE и cryptoroot специально не рассматриваются, так как существуют проблемы безопасности, и ни одно из других решений этого вопроса не позволит также сжать. Вики Linux Arch содержит информацию об устройствах TRIM и dm-crypt.
Теоретически, это будет работать для всех гостей Linux на хостах VBox, использующих хранилище VDI.
Конфигурация хоста
Когда VBox завершен, а виртуальные машины не запущены, добавьте поддержку Discard на свои диски, установив discard и nonrotational для каждого диска в файле конфигурации для VM. В настоящее время discard отсутствует в графическом интерфейсе, но не nonrotational как флажок «Твердотельный накопитель». (ссылка: форумы vbox, поддержка отмены)
Загрузите виртуальную машину и убедитесь, что включена поддержка TRIM:
Гостевая конфигурация
Если LVM используется, измените настройку сброса в /etc/lvm/lvm.conf . (ссылка: Debian Wiki, пример lvm.conf)
В fstab добавьте опцию discard к файловым системам, которые вы хотите автоматически удалить (ref: debian wiki, пример fstab)
Перемонтируйте файловые системы, чтобы они выбрали новые параметры.
Обрежьте свободные блоки вручную с помощью fstrim . fstrim использует смонтированную файловую систему, а не блочное устройство, поддерживающее ее. Вместо установки непрерывного сброса в fstab , это можно сделать на еженедельном кроне. (Еженедельный cron рекомендуется для физических твердотельных накопителей, которые могут иметь сомнительную поддержку TRIM, но здесь это не актуально, поскольку базовые твердотельные накопители обрабатываются операционной системой хоста. См. Предупреждение об ssd trim).
На этом этапе размер файловых систем внутри ВМ и размер образов ВМ должны быть довольно близки по значению.
Читайте также: