Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Удаление файлов в Ubuntu 20.04 из под VMWare  (Прочитано 507 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Echoworld

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Проблема следующая, тестирую различные дистрибутивы в среде виртуализации вмваре, так вот при удалении файлов в виртуальной убунте, постоянно увеличивается размер виртуального диска, скачиваем допустим торрент размером 50 Гб, после его удаляем, выключаем виртуалку, размер виртуального диска увеличивается на 50 гб. Тоже самое и с любыми другими удаляемыми файлами. Из-за чего это может быть и возможно ли это каким-либо образом исправить ?

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4716
  • Capture the truth
    • Просмотр профиля
Re: Удаление файлов в Ubuntu 20.04 из под VMWare
« Ответ #1 : 03 Ноябрь 2020, 00:45:31 »
Echoworld, не используйте в виртуалке диски динамического размера.
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Radeon R7 260X :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн valrust

  • Активист
  • *
  • Сообщений: 285
    • Просмотр профиля
Re: Удаление файлов в Ubuntu 20.04 из под VMWare
« Ответ #2 : 03 Ноябрь 2020, 02:03:19 »
Из-за чего это может быть и возможно ли это каким-либо образом исправить ?
Это происходит из-за особенностей реализации виртуальных дисков в системах виртуализации.

Для Linux диск это упорядоченный набор блоков одинакового размера. Linux может считать данные или записать данные в любой блок. Поэтому еще диски называют блочные устройства с произвольным доступом. Для того, что бы записать данные в какой-то блок диска, Linux отправляет контролеру диска команду, в которой указывает номер блока и данные для записи. Контролер диска сохраняет эти данные в указанный блок и сообщает Linux, что  запись закончилась.

Когда Linux работает внутри вириальной машины, то вместо контролера диска команды для диска обрабатывает система виртуализации. И для того, что бы сохранить данные полученные от Linux она их сохраняет в файл виртуального диска. Таким образом файл виртуального диска начинает увеличиваться.

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

Бывают исключения и некоторые системы виртуализации поддерживают команду TRIM. Например, это реализовано в VirtualBox, но там есть куча ограничений и гостевая операционная система должна отправлять TRIM, что бы уменьшился размер файла с вириальным диском.

Если виртуальные машины используете для тестов, то создавайте новый файл для виртуального диска, а распухший файл удаляйте.
« Последнее редактирование: 03 Ноябрь 2020, 23:29:52 от valrust »

Оффлайн Echoworld

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Удаление файлов в Ubuntu 20.04 из под VMWare
« Ответ #3 : 03 Ноябрь 2020, 22:56:44 »
valrust, Благодарю за мат.часть ! Сделал для себя вывод, чтобы хоть как-то избегать подобных ситуаций, либо надо пробрасывать физический базовый диск и ставить на него систему, либо просто чаще делать снэпшоты и в случае подобных инцидентов вовремя откатываться.
« Последнее редактирование: 03 Ноябрь 2020, 22:58:19 от Echoworld »

 

Страница сгенерирована за 0.067 секунд. Запросов: 25.