- Уменьшение образов виртуальных машин в VMware Workstation/Fusion
- Очистка дисков
- Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности
- Как уменьшить размер диска VMware
- 6 ответов
- Уменьшение размера виртуального диска на ESXi
- Уменьшение раздела внутри гостевой ОС
- Уменьшение размера VMDK файла виртуальной машины VMware
- Уменьшение размера виртуального диска с помощью VMware vCenter Converter Standalone
- Дефрагментация и сжатие дисков VMware Workstation
- Без моментальных снимков и связанных клонов
- Определение необходимости дефрагментации виртуальных дисков
- Шаг 1. Очистка из гостевой операционной системы
- Шаг 2. Используйте инструменты VMware для дефрагментации и сжатия
- Шаг 3. Дефрагментация хост-диска
- Автоматизация сжатия диска
Уменьшение образов виртуальных машин в VMware Workstation/Fusion
При использовании виртуальных машины с дисками типа Thin Provision (которые создаются с минимальным размером и увеличиваются по мере наполнения их данными) диски сильно разрастаются со временем, но при этом фактическое количество данных не всегда сильно возрастает. Это происходит в связи с тем, что в виртуальном диске появляются сектора которые были использованы гостевой операционной системой и потом освобождены, но фактически там остаются данные, которые уже не нужны но место на виртуальном диске занимают. Эти данные можно перезаписать нулями с дальнейшим уменьшением размера «тонкого» диска. Как это сделать — описано в нашей статье.
Очистка дисков
Для виртуальных машин под управлением Windows есть функция Clean Up Disks.
Для VMware Workstation:
Выделяем нужную, выключенную, виртуальную машину и переходим в меню:
VM->Manage->Clean Up Disks
В появившемся окне нажимаем Clean un now.
Для VMware Fusion:
Выделяем нужную, выключенную, виртуальную машину и в панели меню нажимаем Settings.
Далее выбираем раздел General и нажимаем Clean Up Virtual Machine.
Для виртуальных машин под управлением Linux очистка делается из консоли самой виртуальной машины, соответственно виртуальная машина должна быть запущена и должны быть установлены утилиты VMware Tools.
Я предпочитаю пользоваться пакетом open-vm-tools. Как его установить, описано в статье Установка Open VMware Tools.
После установки этих утилит, запускаем из консоли гостевой ОС команду:
vmware-toolbox-cmd disk shrink /
Процесс очистки занимает некоторое время. После его окончания мы получим очищенную виртуальную машину.
Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности
Быть уверенным в своей IT-инфраструктуре — это быть уверенным в завтрашнем дне.
Как уменьшить размер диска VMware
мой образ Ubuntu VMware диск вырос до 5 ГБ физического размера файла. Это динамично растущий диск с максимальной емкостью 8 ГБ. Я очистил некоторые вещи внутри дистрибутива Linux, и теперь внутри него занимает 3 ГБ. Очевидно, что физический размер файла не уменьшается автоматически. Есть ли способ (если это возможно бесплатно) уменьшить этот диск до
Мне нужно это, чтобы соответствовать изображению на DVD.
6 ответов
Я нашел решение — вы должны сжать жесткий диск:
Виртуальная Машина-Настройки-Общие-Очистка Виртуальной Машины
Дефрагментация (не нужно ничего размонтировать)
игнорировать любые ошибки. Некоторые файлы, такие как символические ссылки и файлы устройств, не могут быть дефрагментированы.
ноль-заполнить все неиспользуемое пространство, так что VMware знает, что это действительно не используется:
dd if=/dev/zero of=wipefile bs=1M; sync; rm wipefile
выполнить операцию сжатия:
sudo vmware-toolbox-cmd disk shrinkonly
откройте VMware Toolbox в гостевой системе (как root) и сожмите диск. (документации)
Если у вас нет VMware Tools, вы можете сжать диск вручную в два шага. Во-первых, освободите место на виртуальном диске с помощью такого инструмента, как zerofree. Zerofree составляет доступно в Ubuntu, но так как для этого требуется, чтобы файловая система гостевой ОС была смонтирована только для чтения, вы можете запустить ее с живого компакт-диска. Расстались Магия как сообщается, включает zerofree.
после обнуления свободного места, откройте настройки виртуальной машины и сжать виртуальный диск.
из командной строки в Ubuntu в номерах.
(протестировано на Ubuntu 14.04 LTS guest + Windows 10 Host + VMWare Workstation 12.1.1 )
VMWare harddisk изменение размера:
расширение динамического виртуального жесткого диска в VMWare легко и больше не требует инструмента командной строки vmware-vdiskmanager.exe расположенного в C:\Program Files\VMware\VMware Workstation\ .
для изменения размера используйте следующую команду (Откройте командную строку, нажав WIN+R и введите cmd): » C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe» -x NEWSIZE «diskname.vmdk «
процедура:
- скачать здесь
- установить
- открыть
- Выберите раздел, нажмите Изменить размер / переместить, перетащите ручку на всю ширину
- Нажмите Кнопку «Применить»
- соглашаемся перезагрузить
- во время запуска не нажимайте никаких клавиш
- пусть загрузочный модуль выполняет свою задачу
- убедитесь, что размер системного раздела Windows увеличен.
для визуального изложения шагов и дополнительной информации см. здесь.
Уменьшение размера виртуального диска на ESXi
В этой статье мы рассмотрим, как уменьшить размер виртуального диска (vmdk) в VMWare ESXi. В отличии от процедуры расширения диска виртуальной машины VMWare, которую можно выполнить на-лету без выключения ВМ, процедура уменьшения размера vmdk файла на гипервизоре VMWare ESXi задача более сложная, и выполнить ее непосредственно через графический интерфейс vSphere Client в принципе нельзя. Клиент vSphere не позволяет вам указать меньший размер виртуального диска.
Перед тем, как уменьшить размера виртуального диска на хосте VMWare ESXi необходимо:
- Удалить все снапшоты виртуальной машины (иначе вы можете повредить виртуальный диск)
- Создать полную резервную копию виртуальной машины, или предварительно сделайте копию vmdk и flat файла, который вы хотите уменьшить. Воспользуйтесь командами:
cp vmname.vmdk backup_vmname.vmdk
cp vmname-flat.vmdk backup_vmname-flat.vmdk
Процедура уменьшения размера виртуального диска состоит из двух этапов:
- Уменьшение раздела внутри гостевой ОС;
- Уменьшение размера VMDK файла виртуальной машины VMware на VMFS (NFS) хранилище.
Уменьшение раздела внутри гостевой ОС
В первую очередь необходимо уменьшить размер дискового раздела внутри гостевой операционной системы. Если у вас в ВМ запущена Windows, воспользуйтесь диспетчером управления дисков diskmgmt.msc (операция Shrink Volume доступна во всех поддерживаемых версиях Windows, для старых версий Windows для уменьшения размера раздела используется утилита sdelete) или используйте сторонние утилиты (например, Acronis Disk Director). Если этого не сделать, то после уменьшения размера виртуального диска можно получить неработоспособную файловую систему.
Допустим, вы хотите хотим уменьшить размер диска на 40 Гб. Значит размер тома должен быть уменьшен на 40960 Мб (40 Гб x 1024). Именно это значение нужно ввести в поле мастера Shrink Volume. После уменьшения размера раздела на диске справа от вашего основного раздела останется некоторое количество неразмеченного (Unallocated) пространства (в нашем примере 40 Гб).
Уменьшение размера VMDK файла виртуальной машины VMware
Теперь нужно уменьшить размера VMDK файла на файловой системе VMWare VMFS.
- Выключите виртуальную машину, размер виртуального диска которой вы хотите уменьшить;
- Подключитесь по SSH к консоли гипервизора ESXi, на котором зарегистрирована ВМ (можно воспользоваться putty или встроенным ssh клиентом Windows);
- Перейдите в каталог, в котором хранится vmdk файл ВМ (путь можно узнать в свойствах виртуального диска в графическом клиенте vSphere)
cd /vmfs/volumes/datastore/test-VM - Выведите содержимое конфигурационного файла виртуального диска (с расширением *.vmdk) с помощью команды cat:
# cat test_vm_3.vmdk
Размер vmdk диска задается в секции #Extent description (после символов RW). В данном случае указана цифра 167772160 (80 Гб *1024*1024*1024 / 512) - Я хочу уменьшить виртуального vmdk диска с 80 до 40 Гб. Это значит, что в секции Extent description нужно указать значение: 83886080 (40 Гб*1024*1024*1024 / 512). Задайте новый размер виртуального диска с помощью текстового редактора ( vi или nano );
- Я использую редактор vi: # vi test_vm_3.vmdk
- В редакторе vi с помощью стрелки вниз перейдите на строку с размером диска и нажмите i (для перехода в режим редактирования). Укажите новый размер виртуального диска. Нажмите ESC , чтобы выйти из режима редактирования и :wq -> Enter чтобы сохранить изменения;
- Осталось склонировать или смигрировать (Storage VMotion) виртуальную машину на другое хранилище (datastore). После перемещения файлов виртуальной машины в ее свойствах отобразится новый размер виртуального диска;
Итак, мы рассмотрели один из вариантов выполнения операции уменьшения размера виртуального vmdk диска в VMWare ESXi. Если требует уменьшить размер тонкого диска VMWare за счет неиспользуемого места, рекомендуем воспользоваться этой инструкцией.
- Уменьшение размера виртуального диска путем конвертации виртуальной машины с помощью VMware vCenter Converter. При конвертации нужно указать размер нового диска меньше, чем исходный (об этом в следующем разделе);
- Можно склонировать содержимого виртуального диска с помощью стороннего софта (например, Acronis True Image или Symantec Ghost32). Операция выполняется путем добавления в виртуальную машину нового диска меньшего размера и клонирования на него содержимого большего диска. После этого большой диск можно удалить.
Уменьшение размера виртуального диска с помощью VMware vCenter Converter Standalone
Еще один способ уменьшения размера виртуальных дисков у ВМ на VMWare с помочью GUI — воспользоваться бесплатным конвертером — VMware vCenter Converter Standalone.
- Конвертация V2V выполняется медленно;
- На датасторе должно быть достаточно места для разрешения новой ВМ;
- У новой ВМ будет новый MAC адрес.
- не требуется открывать в консоль vCenter или ESXi хоста;
- создается точная копия VM;
- источник не поломается при ошибке в настройках параметров задачи конвертирования.
Укажите адрес ESXi хоста.
Выберите исходную ВМ.
Укажите параметры новой ВМ.
Перейдите в режим редактирования диска (Data to copy -> Edit).
Выберите режим копирования: Select volumes to copy.
Укажите новый размер диска в новой ВМ. Как вы видите, на диске в гостевой занято 48 гб, а размер самого диска – 150. Мы уменьшим размер виртуального диска до 60 Гб.
Запустите процесс конвертирования ВМ. После окончания отключите исходную ВМ и включите новую. Проверьте, что размер диска уменьшился. После этого исходную ВМ можно удалить.
Дефрагментация и сжатие дисков VMware Workstation
В течение многих лет я использовал VMware Workstation для тестирования программного обеспечения, технической поддержки и виртуализации приложений. Выяснилось, что в результате большого количества циклов использования, особенно после обновлений операционной системы, реальное дисковое пространство, занятое виртуальным диском, намного превышает по объему виртуальное пространство, что порой приводит к снижению производительности. Потерянное пространство не всегда удается вернуть с помощью графических инструментов VMware Workstation, но очистить диски можно с использованием специальных процедур и загружаемого инструментария VMware
Алекс Ангелопулос (aka@mvps.org) — старший ИТ-консультант, специализируется на технологиях автоматизации административных задач
Без моментальных снимков и связанных клонов
Начнем с важной оговорки. Не следует применять описанные в статье методы, если в VMware Workstation используются моментальные снимки или связанные клоны. Виртуальные машины, запускаемые с моментального снимка или связанного клона, выполняются с виртуальных дисков, которые являются оверлеями исходной виртуальной машины. Если попытаться дефрагментировать исходную виртуальную машину или клон, уровень сложности значительно повышается, а производительность неизбежно падает. Оверлеи уже уменьшают размер пространства, занимаемого виртуальными дисками; скорее всего, место, использованное для клонированного диска, увеличится.
Обратите внимание, что методы, описанные в статье, вполне применимы для очистки полных клонов (full clone) VMware. Полный клон создается из точной копии первоначальной исходной виртуальной машины, но не привязан к ней. Если нет уверенности, является ли определенная машина VMware клоном, моментальным снимком или исходной машиной, то посмотрите сведения о машине в VMware Workstation. У клонов и моментальных снимков явно указан источник клона или моментального снимка, как показано на рисунке 1. Машина на рисунке 2 не связана и просто показывает версию VMware Workstation.
Рисунок 1. Детали описания клонированной виртуальной машины |
Рисунок 2. Детали описания несвязанной виртуальной машины |
Определение необходимости дефрагментации виртуальных дисков
Проблемы производительности и размера виртуального диска, вызванные фрагментацией, зависят от многих факторов. Я пользуюсь двумя простыми практическими правилами.
Во-первых, если наблюдается значительное снижение производительности виртуальной машины, то машину, вероятно, следует почистить. Во-вторых, я сравниваю размер файла Virtual Machine Disk Format (VMDK), в котором содержится диск, с данными об использованном пространстве самой виртуальной машины. Это сравнение неправомерно, если пространство дисков VMware выделено заранее. Дефрагментация полезна и для дисков фиксированного размера, но размер VMDK-файла всегда будет максимально возможным для диска виртуальной машины.
Чтобы напрямую определить пространство, используемое файлом, щелкните правой кнопкой мыши на виртуальной машине в списке VMware Favorites и выберите пункт Settings из контекстного меню. В открывшемся окне Virtual Machine Settings (как показано на приведенном экране) выберите жесткий диск в столбце Device слева (на вкладке Hardware). Затем обратитесь к области Capacity в правой половине окна. Значение Current size показывает текущий размер файла на диске. Далее загрузите гостевую операционную систему и посмотрите ее данные о размере используемого пространства. Если гостевая операционная система сообщает о гораздо меньшем используемом пространстве, чем указано для VMDK-файла, то рекомендуется дефрагментировать и сжать диск.
Экран. Настройки виртуальной машины |
Шаг 1. Очистка из гостевой операционной системы
Первый шаг — дефрагментация диска из гостевой операционной системы. Это удобный момент для общего обслуживания, в том числе обновления операционной системы и приложений. После обновления немедленно увеличиваются дефрагментация и используемое пространство. После дефрагментации закройте виртуальную машину.
Шаг 2. Используйте инструменты VMware для дефрагментации и сжатия
В VMware Workstation предусмотрены функции для подключения и сжатия виртуального диска, доступные при нажатии кнопки Utilities в окне Virtual Machine Settings, но они редко существенно влияют на размер виртуального диска. Например, у меня был VMDK-файл Windows 2000 Professional с большим излишком пространства. Гостевая операционная система Windows 2000 сообщила, что использует только 2,31 Гбайт, но размер файла на диске был 6,6 Гбайт. В результате применения инструментов графического интерфейса уменьшить требования к пространству на диске не удалось. Вместо этого я рекомендую использовать загружаемые средства командной строки VMware, vmware-vdiskmanager и vmware-mount, для радикального сжатия дисков.
Сначала получите инструменты с сайта VMware. Необходимо зарегистрироваться, а затем выполнить поиск инструмента для загрузки. В среде Windows 7 с VMware Workstation 7.1 я использовал комплект VMware Virtual Disk Development Kit (VDDK), в состав которого входят оба инструмента. Установите VDDK и обязательно запомните, в какую папку. В 32-разрядных системах Windows это обычно папка с именем вроде C:\program files\vmware\vmware virtual disk development kit\bin; в 64-разрядных системах Windows — C:\program files (x86)\vmware\vmware virtual disk development kit\bin. Теперь все готово к началу работы.
- Откройте командную строку из учетной записи с административными правами
- Введите команду
чтобы сделать папку VDDK текущим каталогом (исходный текст фрагмента A в листинге). Таким образом, инструменты VMware (а самое главное, вспомогательные DLL-библиотеки) находятся в начале пути поиска команды. Владельцам 64-разрядной Windows настоятельно рекомендуется выполнить этот шаг, как описано, даже если вам известен более удобный способ. Если поиск выполняется в первую очередь по другим путям, часто происходят сбои инструмента подключения виртуальных дисков VMware, vmware-mount.
3. Дефрагментируйте файл виртуального диска с помощью инструментария VMware. В командной строке выполните команду
с параметром -d (дефрагментация) и указанием полного пути к файлу виртуального диска. Исходный текст фрагмента B в листинге показывает эту команду для файла VMDK с местоположением E:\win2k pro\w2kprodisk1.vmdk.
4. На данном этапе нужно сопоставить файл как диск с использованием команды vmware-mount. Необходимо указать неиспользованный символ диска и путь к файлу VMDK. Исходный текст фрагмента C в листинге сопоставляет диск Z файлу W2kProDisk1.vmdk.
5. Чтобы подготовить диск к сжатию, используйте команду
с параметром -p (подготовить) и символом диска, к которому подключен файл VMDK, а не путем к файлу VMDK. Неправильный выбор символа диска — вторая причина проблем при первой попытке сжатия диска; это единственный шаг, который зависит от символа диска. Исходный текст фрагмента D в листинге представляет верную процедуру для файла, подключенного как диск Z. На экран выводится постоянно обновляемый индикатор очистки диска (в процентах). Очищается не диск в целом, а пустое место в файле.
6. Затем отключите диск с помощью команды
как показано в исходном тексте фрагмента E листинга. В этой команде параметр «d» означает «снять».
7. Наконец сожмите файл VMDK с использованием команды
как показано в исходном тексте фрагмента F в листинге. Здесь «k» — мнемоническое сокращение слова «shrink» (сократить); другой вариант — буква «s».
На этом операция завершается. Эффективность данного метода может быть чрезвычайно высокой. Упомянутый ранее файл диска Windows 2000 (занимавший 6,65 Гбайт в то время как гостевая операционная система использовала только 2,3 Гбайт пространства) был сжат до всего лишь 2,32 Гбайт. Этот процесс можно повторить для каждой гостевой операционной системы, занимающей слишком много места.
Шаг 3. Дефрагментация хост-диска
В качестве завершающего шага для улучшения производительности из основной операционной системы дефрагментируйте физический диск, на котором расположены виртуальные машины. Если причиной снижения производительности или слишком большого занимаемого пространства была фрагментация дисков, этот шаг должен устранить проблему.
Автоматизация сжатия диска
Проще всего выполнять обслуживание гостевой операционной системы вручную по мере необходимости, но операции дефрагментации и сжатия диска VMware легко автоматизировать. Они все равно запускаются из командной строки.
Пакетный файл ShrinkVmdk.cmd можно загрузить, чтобы автоматизировать шаг 2 описанного выше процесса. В этом файле предполагается, что диск Z не используется; если это не так, то следует изменить строку
в начале пакетного файла, чтобы указать незанятый символ диска.
После установки VDDK можно открыть окно командной строки с расширенными полномочиями и выполнить сценарий с полным путем к VMDK-файлу, который нужно дефрагментировать. С использованием пакетного файла можно дефрагментировать тестовый файл виртуального диска, применив команду
По моему опыту, проблемы с виртуальными дисками VMware редки, и регулярной серьезной чистки не требуется. Но если выясняется, что виртуальный диск занимает слишком много места, с помощью описанного метода можно быстро решить проблему.