Почему много vmdk файлов

Обновлено: 01.07.2024

В свое время у меня сложилась ситуация, когда, работая с VirtualBox (Oracle VM VirtualBox), у виртуальной машины остался совсем небольшой объем дискового пространства, при этом задача стояла установить программное обеспечение, для которого требовалось в несколько раз больше свободного места, чем на тот момент оставалось на виртуальном диске.

Для тех, кто не в курсе:

VMDK (Virtual Machine Disk) - формат файла, разработанный компанией VMware для использования в качестве образа виртуального диска в виртуальных машинах VMware. VDI (Virtual Disk Image) - специальный контейнер программы VirtualBox, используемый в качестве образа виртуального диска в виртуальных машинах Virtualbox.

В ходе создания и настройки виртуальной машины из предложенных вариантов образов виртуальных дисков я выбрал формат VMDK, пользуясь при этом VirtualBox v.4.3.10 r93012 в Windows 7 Корпоративная с Service Pack 1.

Немного поискав в Интернет я нашел решение, состоящее из нескольких шагов:

Используя VirtualBox и командную строку Windows (cmd) необходимо через обращение к файлу VBoxManage.exe расширить образ *.VMDK, но VBoxManage.exe работает только с "родными" образами *.VDI, поэтому предварительно *.VMDK нужно переконвертировать в *.VDI.

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

ВНИМАНИЕ! Чтобы избежать проблем с политиками безопасности Windows и ограничений на запуск исполняемых файлов, необходимо для файла VirtualBox.exe (в моем случае он находится в папке C:\Program Files\Oracle\VirtualBox) выполнить следующие операции:

  1. наведите курсор на файл и выделите файл VirtualBox.exe нажатием на левую клавишу мыши;
  2. не уводя курсор мыши с файла нажмите на правую клавишу мыши, вызвав контекстное меню;
  3. в появившемся меню выберите найдите и нажмите на пункт Свойства ;
  4. открыть вкладку Совместимость ;
  5. можете смотреть рисунок в конце списка или читать дальше по пунктам;
  6. нажать на кнопку Изменить параметры для всех пользователей;
  7. в появившемся окне найти и установить галочку в пункте Выполнять эту программу от имени администратора ;

закрыть оба окна на кнопки ОК .

Для выполнения шага 1 необходимо открыть командную строку:

  • WinKey (найти на клавиатуре и нажать на кнопку Windows в виде флажка, либо привычным для Вас способом открыть меню пуск)
  • ввести в текстовое поле текст cmd.

нажать сочетание клавиш Ctrl + Shift + Enter

и ввести команду для перемещения в папку с установленной программой VirtualBox (в моем случае это папка C:\Program Files\Oracle\VirtualBox):

cd "C:\Program Files\Oracle\VirtualBox"

и нажав Enter. Далее ввести команду:

VBoxManage modifyhd "C:\Users\schritter\VirtualBox VMs\XPro\XPro.vmdk" --resize 15360

В моем случае цифра 15360 означает, что размер файла станет 15 Гб. Нажать Enter.

Почему появилась ошибка VBOX_E_NOT_SUPPORTED при выводе результатов работы команды?

  1. 0%.
  2. Progress state: VBOX_E_NOT_SUPPORTED
  3. VBoxManage.exe: error: Resize hard disk operation for this format is not implemented yet!

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

  1. VBoxManage clonehd "C:\Users\schritter\VirtualBox VMs\XPro\XPro.vmdk" "C:\Users\schritter\VirtualBox VMs\XPro\clone.vdi" --format vdi
  2. VBoxManage modifyhd "C:\Users\schritter\VirtualBox VMs\XPro\clone.vdi" --resize 15360
  3. VBoxManage clonehd "C:\Users\schritter\VirtualBox VMs\XPro\clone.vdi" "C:\Users\schritter\VirtualBox VMs\XPro\XPro.vmdk" --existing

И наконец долгожданная строка со статусом выполнения задания означает, что операция успешно завершена:

0%. 10%. 20%. 30%. 40%. 50%. 60%. 70%. 80%. 90%. 100%

Так как ранее мы настроили запуск программ от имени администратора, это помогло нам избежать ошибки CO_E_SERVER_EXEC_FAILURE.

Если в ходе выполнения скрипта Вы наблюдаете следующие ошибки:

  1. VBoxManage.exe: error: Failed to create the VirtualBox object!
  2. VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execution failed (extended info not available)

VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or failed to start.

это значит, что Вам нужно обратить внимание на алгоритм Как запустить VirtualBox.exe от имени администратора?, находящийся недалеко от начала этой страницы. Вкратце - настройте запуск VirtualBox.exe от имени Администратора.

Эта ошибка появилась, в моем случае, когда файл конечного образа XPro.vmdk уже существовал, и команда для конвертации файла из *.VDI в *.VDMK не смогла перезаписать его:

  • VBoxManage clonehd "C:\Users\schritter\VirtualBox VMs\XPro\clone.vdi" "C:\Users\schritter\VirtualBox VMs\XPro\XPro.vmdk" --format vmdk

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


Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
  • VMware Technology Network
  • :
  • Global
  • :
  • Russian
  • :
  • Russian Discussions
  • :
  • Что за файлы 00000x.vmdk, и почему они так много з.
_SkyDancer_
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend
Что за файлы 00000x.vmdk, и почему они так много занимают места?

Собственно сабж.. интересует удаление этих файлов, ну и информация почему и как они создаются.

Ну я тут с ними просто напартачил чуток и еле смог потом восстановить их связку, ну на сколько я понял они хранят данные(ну типа виртуальный винт), но! Почему они занимают +24Гб, при том что основной винт win7.vmdk занимает 30Гб и тоже присутствует на диске.

Ну и получается очень интересная штука, в винде пишет что диск имеет 30Гб, а по факту все файлы во общем на моем харде(на хосте) занимают 54Гб..

Что за развод такой? Во общем помогите разрулить с этими файлами а то просто ппц какой-то.

Кстати почитал только что говорят можно как то клонировать диск на другой диск, как это сделать можно скажите?

shteynman
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

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

Файл снапшота если его долго не удалять и активно продолжать работать с диском может по размеру достигнуть размера самого диска

_SkyDancer_
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

Ну в принципе так оно и было у меня. Был один снапшот и он весел себе просто.. Ну попробовал удалить его вот как раз, потом удаление зависло и я отрубил все. После этого ели восстановил все что б работало, но тем не менее файлы все равно остались (ну типа файлы: win7-000001.vmdk, win7-000002.vmdk итд..)..

Ну так вот как их удалить то? Или единственное решение это клонировать сам диск на пример Acronis True Image?

_SkyDancer_
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

Короче это просто жесть с такой ситуацией, но все таки я добился своего, пересобрал все файлы дисков и сделал образ диска акронисом, результат - +25Гб места стало.

Но потом оказалось что конечная машина жестко тупит почему-то. И я попробовал клонировать еще раз старую но уже через саму VMware, и взял клонировать не полный клон а по ссылке, ну и оно создало снепшот, я его взял удалил, и хотел клонировать полностью, как тут просто прозрел аж!! Короче варя сама удалила мне все эти файлы ненужные 00000x.vmdk итд. И теперь у меня старая нормальная машина с одним нормальным файлом и без мусора, о боги спасибо вам.

Короче могу сказать только одно - если удаляете снимки больших размеров лучше ждите окончания процесса любой ценой, даже если зависнет.

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

Самыми главными компонентами виртуальной машины являются файлы виртуальных дисков. В данный момент на рынке присутствует множество вендоров как платформ виртуализации, так и средств управления и обслуживания виртуальных машин. Однако не все поставщики систем виртуализации используют свои форматы виртуальных дисков. Например, не так давно появившаяся, но стремительно набирающая популярность платформа Virtual Iron, хотя и использует открытый гипервизор Xen для управления виртуальными машинами, но работает с виртуальными дисками формата VHD (Virtual Hard Drive) компании Microsoft. Компания VMware разработала свой формат виртуальных дисков — VMDK (Virtual Machine Disk), который, однако, может быть преобразован в другой формат утилитами сторонних производителей.

В данный момент возможности продуктов VMware Workstation позволяют осуществить импорт виртуальных машин и их дисков компании Microsoft, а также образов восстановления Symantec LiveState Recovery Files. Кроме того, VMware предлагает пользователям продукт VMware Converter, в возможности которого входит как конвертация виртуальных машин между различными платформами VMware и их версиями (в том числе VMware ESX Server), так и потоковая миграция с других платформ виртуализации. Сторонние производители также предлагают немало средств для V2V (Virtual-to-Virtual) миграции, например, продукт PowerConvert компании PlateSpin.

Общие сведения об использовании виртуальных и физических дисков виртуальными машинами

Одним из замечательных достоинств виртуальных машин является их простая переносимость на другое физическое оборудование путем обычного копирования папки с файлами виртуальной машины. Все настройки виртуальной машины хранятся в файлах с расширением .vmx в текстовом формате, а файлы виртуальных дисков (.vmdk) содержат в себе все необходимые данные виртуальной машины, либо ссылки на другие vmdk-файлы. Если вы используете виртуальную машину в хостовой системе Windows, вы можете скопировать папку с виртуальной машиной на Linux-хост и запустить ее там, на платформах VMware Workstation или VMware Server.

Диск виртуальной машины VMware Workstation и VMware Server ограничен 950-ю гигабайтами, и этого с лихвой хватит практически для любого варианта использования. Поскольку файлы дисков виртуальных машин являются достаточно большими, необходимо учитывать ограничения на максимальный размер файла в файловой системе хостовой ОС.

Основные типы дисков виртуальных машин VMware

По-умолчанию платформой виртуализации будет выбран адаптер, наиболее подходящий выбранной ранее гостевой системе. Для всех гостевых систем, за исключением Windows Vista, Windows Server 2003, Red Hat Enterprise Linux 3 и NetWare рекомендуется адаптер BusLogic. Для гостевой системы Windows Vista доступен только LSI Logic адаптер. Этот тип адаптера обладает более высоким быстродействием, нежели BusLogic, к тому же, он поддерживается платформой виртуализации VMware ESX Server, что следует учитывать, если вы планируете в дальнейшем миграцию виртуальных машин на эту платформу.

Выбор контроллера виртуальных дисков не зависит от того, какие диски используются на хостовой платформе. Файлы виртуальной машины могут находиться на любом носителе, включая флэш-карты или внешние USB-диски.

Самый простой вариант — создать новый виртуальный диск. Если вы хотите использовать уже сконфигурированный жесткий диск от другой виртуальной машины, выберите вторую опцию. После этого укажите путь к файлу с диском и нажмите «Finish». Работа с жестким диском напрямую рекомендуется только продвинутым пользователям, поскольку некоторые варианты использования могут привести к потере данных виртуальной машины. Об использовании физического диска напрямую будет рассказано позднее.

В VMware Workstation и VMware Server диск виртуальной машины не может быть более 950 ГБ. Величина, которую вы укажете в поле ввода для Disk Size, означает максимальный размер файла виртуального диска. Уделяйте особое внимание этому параметру, поскольку проблема расширения виртуального диска является одной из наиболее часто возникающих. Если вы планируете использовать растущие по мере наполнения диски (growable) указывайте достаточно большой размер (например, 100 ГБ). В то же время помните, что уменьшить размер виртуального диска значительно сложнее, чем увеличить.

Чекбокс «Allocate All Disk Space Now» позволяет создать preallocated или growable виртуальный диск. Если чекбокс отмечен, будет создан виртуальный диск типа preallocated, это означает, что файл виртуального диска сразу займет указанный размер, который не будет изменяться по мере работы с виртуальной машиной. Если чекбокс не отмечен, будет создан диск, растущий по мере наполнения (growable). Этот тип диска работает несколько медленнее, чем preallocated, поэтому их не рекомендуется использовать, если вы планируете устанавливать приложения, требовательные к производительности дисковых ресурсов (например, сервер баз данных).

Чекбокс «Split disk into 2 GB files» позволяет разделить виртуальный диск на несколько файлов, что, конечно, отрицательно скажется на быстродействии, но является единственным решением для файловых систем, не поддерживающих большие размеры файлов (например, FAT32). Не забывайте отметить его, чтобы не столкнуться с этой проблемой в старых файловых системах в самый неподходящий момент.

После того как вы нажмете «Finish», виртуальная машина с настроенным вами диском будет создана. Однако это еще не все типы виртуальных дисков в VMware Server и VMware Workstation. У виртуальной машины может быть несколько виртуальных дисков различного типа, каждый из которых может использоваться для разных случаев.

В группе «Capacity» представлена информация о текущем размере виртуального диска, его возможный максимальный размер и объем доступного места на логическом диске компьютера. На панели «Disk Information» указан тип виртуального диска: preallocated одним файлом.

В этом окне, поставив галку «Independent», вы можете определить тип диска как независимый. Это означает, что на добавленный вами диск никак не будет влиять создание снимков состояния виртуальной машины («снапшотов»). Параметр «Virtual Device Node» позволяет подключить диск к виртуальному слоту SCSI или IDE-контроллера.

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

Также в окне «Advanced» вы можете выбрать тип независимого диска «Persistent» или «Nonpersistent». Первый тип предполагает поведение виртуального диска как обычного устройства хранения — все изменения диска сохраняются по мере работы с ним. Второй тип дисков используется при тестировании программного обеспечения, когда необходимо создание временных дисков для хранения информации на время работы с виртуальной машиной. После ее выключения содержимое такого типа дисков сбрасывается к начальному состоянию. Временные данные при запущенной виртуальной машине хранятся в файлах с расширением *.REDO_xxx. При выключении машины эти файлы удаляются.

Нужно также отметить, что при запущенной виртуальной машине VMware Server или VMware Workstation создаются lock-файлы для каждого из используемых виртуальных дисков с расширением *.lck во избежание доступа к ним из внешних приложений, использования их другими виртуальными машинами и нарушения целостности данных.

Использование физических дисков напрямую

Выбор целевого физического диска для виртуальной машины Выбор разделов для размещения данных виртуальной машины

Укажите необходимые разделы и нажмите «Next», после чего укажите имя виртуального диска и нажмите «Finish». Одни из наиболее оправданных вариантов использования физического диска напрямую — случаи, когда требуется создание диска емкостью более 950 ГБ (до двух терабайт), что, однако, пока не актуально для пользователей настольных персональных компьютеров.

Сводная таблица соответствия расширений файлов типам дисков виртуальных машин

В приведенной далее таблице перечислены типы виртуальных дисков и соответствующие им расширения файлов в папке с виртуальной машиной.

Расширение файла дискаОписание
*.vmdkОписание параметров виртуального диска (со ссылкой на файл с данными диска) или виртуальный диск типа growable одним файлом.
*0000000*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота
*s00*.vmdkЭто расширение используется для файлов данных растущих разделённых дисков (growable split disks)
*0000000*-s00*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для растущих разделённых дисков (growable split disks)
*f00*.vmdkЭто расширение используется для файлов данных не растущих разделённых дисков (preallocated split disks)
*0000000*-f00*.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для не растущих разделённых дисков (preallocated split disks)
*flat.vmdkЭто расширение используется для файлов данных монолитных (не растущих) неразделённых дисков (preallocated monolithic disks)
*0000000*-flat.vmdkЭтот файл содержит изменения, произошедшие с момента создания снапшота X для монолитных (не растущих) неразделённых дисков (preallocated monolithic disks)
*.REDO_xxxЭтот файл содержит изменения диска в режиме незавимый-несохраняющийся (independent-nonpersistent disk)
*.lckИспользуется для блокировки файлов дисков виртуальной машины

Дефрагментация виртуальных дисков

  • дефрагментация диска в гостевой системе
  • дефрагментация диска средствами VMware Server или VMware Workstation
  • дефрагментация дисков хостовой системы

Для первого и третьего пункта вы можете использовать встроенный дефрагментатор Windows или утилиты сторонних производителей. Для дефрагментации диска средствами VMware зайдите в меню «VM», далее «Settings», выберите диск на вкладке «Hardware» и выберите «Defragment» в VMware Workstation 5.5 и VMware Server 1.0 (в VMware Workstation 6 эта опция доступна по кнопке «Utilities»). Далее будет также показана возможность дефрагментации виртуальных дисков средствами утилиты vmware-vdiskmanager.

Использование утилиты VMware DiskMount

Компания VMware предлагает удобное средство использования виртуальных дисков в хостовой операционной системе как обычных логических томов. Утилита DiskMount позволяет монтировать диски виртуальных машин в хостовую операционную систему для удобной работы с содержимым диска. Диски виртуальных машин могут быть смонтированы только в операционных системах Windows 2000/XP/2003/Vista. Чтобы смонтировать виртуальный диск в хостовую систему, необходимо, чтобы виртуальная машина была выключена (монтировать диск виртуальной машины, находящейся в статусе «suspended», также нельзя) и хотя бы один раздел виртуального диска был отформатирован в файловой системе FAT или NTFS.

vmware-mount [параметры] [буква диска:] [\путьквиртуальному диску]

  • /v:N Монтирует заданный том виртуального диска (по-умолчанию N=1)
  • /p Выводит доступные разделы (тома) на виртуальном диске
  • /d Размонтирование виртуального диска из хостовой системы
  • /f Принудительное размонтирование виртуального диска из хостовой системы в случае технической проблемы
  • /? Выводит информацию о доступных параметрах

Пример использования Diskmount:

vmware-mount h: “C:My Virtual Machinesw2003std.vmdk”

Использование утилиты vmware-vdiskmanager

Компания VMware вместе с продуктами VMware Server и VMware Workstation поставляет также консольную утилиту для работы с виртуальными дисками vmware-vdiskmanager. Эта утилита является мощным средством преобразования виртуальных дисков, которое органично дополняет утилиту VMware Diskmount. Найти утилиту vdiskmanager можно в папке, куда установлены продукты VMware Server или VMware Workstation.

Применять vmware-vdiskmanager могут не только конечные пользователи, преобразующие виртуальные диски к требуемому формату, но и сторонние разработчики, пишущие различные утилиты для работы с виртуальными машинами. Утилита vdiskmanager используется в соответствии со следующим синтаксисом:

vmware-vdiskmanager.exe | :

Описание параметров утилиты vdiskmanager:

ПараметрДействие
Основные параметры
-cСоздание диска (необходимо указать дополнительные параметры)
-dДефрагментация виртуального диска
-kСжатие виртуального диска (уменьшение объема свободного места)
-n Переименование диска (в параметре необходимо указать целевой диск)
-pПодготовка смонтированного диска с указанным параметром к сжатию
-qОтключение логов
-r Конвертация диска (необходимо указать тип целевого диска)
-x Расширение диска до требуемой емкости
Дополнительные опции создания виртуальных дисков и их конвертации
-a Используется только с ключом -c.
Указывает тип адаптера (ide, buslogic, lsilogic)
-s Указывает емкость виртуального диска. Емкость может быть определена в секторах, килобайтах, мегабайтах, гигабайтах. Диапазоны допустимых значений:
Адаптер ide : [100.0Mb, 950.0Gb]
Адаптер scsi: [100.0Mb, 950.0Gb]
-t Указывает тип диска (от 0 до 3).
Типы дисков:
0: Растущий по мере наполнения (growable), один файл.
1: Растущий по мере наполнения, разделенный на файлы по 2 ГБ.
2: Монолитный диск (preallocated), один файл.
3: Монолитный диск (preallocated), разделенный на файлы по 2 ГБ.

  1. vmware-vdiskmanager.exe -c -s 850Mb -a ide -t 0 myIdeDisk.vmdk
    Создание виртуального диска (-c) емкостью 850 МБ (-s 850Mb), с адаптером IDE (-a ide), типом growable одним файлом (-t 0) и именем myIdeDisk.vmdk.
  2. vmware-vdiskmanager.exe -d myDisk.vmdk
    Дефрагментация виртуального диска myDisk.vmdk.
  3. vmware-vdiskmanager.exe -r sourceDisk.vmdk -t 0 destinationDisk.vmdk
    Конвертация диска (-r) с именем sourceDisk.vmdk в тип growable одним файлом (-t 0) с именем destinationDisk.vmdk
  4. vmware-vdiskmanager.exe -x 36Gb myDisk.vmdk
    Расширение диска myDisk.vmdk до емкости 36 ГБ.
  5. vmware-vdiskmanager.exe -n sourceName.vmdk destinationName.vmdk
    Переименование диска с именем sourceName.vmdk в destinationName.vmdk
  6. vmware-vdiskmanager.exe -k myDisk.vmdk
    Сжатие виртуального диска с именем myDisk.vmdk
  7. vmware-vdiskmanager.exe -p m:
    Подготовка диска M хостовой системы к сжатию (виртуальный диск должен быть сначала смонтирован в хостовую систему утилитой VMware Diskmount).

Самым частым вариантом использования утилиты vdiskmanager является расширение виртуальных дисков до требуемого размера. Однако задача расширения виртуального диска является не такой тривиальной, какой кажется на первый взгляд. Если необходимо расширить независимый виртуальный диск, то его расширение сводится к двум операциям: использованию vmware-vdiskmanager для расширения диска и расширению раздела на неразмеченную область в гостевой системе. Однако для дисков, участвующих в создании мгновенных снимках системы («снапшотов»), проблема дополняется и устранением конфликтов между снапшотами.

Рассмотрим пример расширения независимого диска. Чтобы расширить его до 10 ГБ используйте vmware-vdiskmanager следующим образом:

vmware-vdiskmanager.exe -x 10Gb .vmdk

Выберите расширенный недавно диск (E) и введите команду extend, чтобы расширить раздел на всё доступное место на диске: DISKPART> select volume=2 Volume 2 is the selected volume. DISKPART> extend DiskPart successfully extended the volume.

Стоит отметить, что эти действия не применимы к динамическим дискам Windows, поскольку они не могут быть расширены командой extend.

Заключение

В отношении возможностей работы с виртуальными дисками платформы VMware Workstation и VMware Server являются самыми продвинутыми из присутствующих в данный момент на рынке. Множество типов, режимы SCSI и IDE эмуляции и большой набор средств для обслуживания и конвертации виртуальных дисков, позволяют весьма гибко настраивать параметры виртуальных машин и управлять ими. Встроенные возможности импорта виртуальных дисков в формате VHD компании Microsoft позволяют просто осуществить миграцию с платформ Virtual PC и Virtual Server, без применения программного обеспечения других производителей. Консольное приложение vmware-vdiskmanager открывает большие возможности не только для обычных пользователей, но и для разработчиков ПО под платформы виртуализации. Безусловно, компания VMware продолжит совершенствование своих продуктов, в том числе и в отношении виртуальных дисков. Будем надеяться, что планируемая к выходу осенью бесплатная платформа VMware Server 2.0 (которую обещают представить на конференции VMworld 2007 в сентябре), будет обладать еще большим набором возможностей по работе с виртуальными дисками и их обслуживанию.

У меня есть файл на диске 150 ГБ (.vmdk, без предварительного выделения), где хранится моя виртуальная машина.

файл в настоящее время составляет 20 ГБ, но он растет с каждым днем, хотя я не храню ничего нового в гостевой файловой системе.

Я искал в течение нескольких часов, для того, чтобы уменьшить максимальный размер этого диска, чтобы он никогда не доходил до 150 ГБ (я хотел бы установить ограничение в 30 ГБ и посмотреть, что произойдет, когда виртуальная машина достигнет этого размера).

  • преобразование образа диска с помощью VMware Converter → это не работает, инструмент позволяет только создать полную копию или "связанный клон".
  • создание новой пустой виртуальной машины нужного размера для копирования 20 ГБ данных на новую .vmdk → я не могу найти способ выполнить копирование или даже подключить новый диск к моей существующей виртуальной машине (так что я выполняю копирование с помощью гостевой ОС).
  • глядя на .файл vmx для проверки максимальный размер не был установлен в простом тексте (это не так).

хотя эта задача кажется технически довольно простой (нет никакого сложного сокращения, просто простое изменение предела размера), у меня здесь действительно нет идей.

есть ли решение вообще ?

обычная процедура уменьшения размера .vmdk диск является:

дефрагментировать диск через гостевую систему, выбрав режим дефрагментации, который объединяет пустое место в конце диска. Для гостя Windows необходимо очистить корзину и выключите спящий режим и пейджинг, возвращая их после завершения дефрагментации.

обнулить все неиспользуемое пространство на диске.
Для Windows используйте программа : sdelete -c .
Для Linux : dd if=/dev/zero of=/mytempfile && rm -f /mytempfile .

сжать диск (Что может занять довольно много времени).
VMware Workstation: меню VM / управление / очистка дисков.
Или используйте: vmware-vdiskmanager.exe -k [VMDK PATH] .
для ESX : vmkfstools --punchzero [VMDK PATH] .

следующая команда преобразует .файл VMDK с расширяемый в предопределенные :

если вы хотите изменить размер диска, при этом диск по-прежнему в формате growable (примеры здесь).

файл в настоящее время 20 ГБ, но он растет каждый день, хотя Я не храню ничего нового в гостевой файловой системы.

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

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

A. используйте только 30GB разбейте на разделы и оставьте свободное пространство. Если вы уже разделили больше места, то вам нужно сжать/удалить его, создать новый раздел, а затем сбросить его с нулями и пробить его, как описано в @harrymc . По мере того как космос в unpartitioned области никогда не используемый фактически диск Никогда не будет расти за 30GB.

B. создайте снимок и восстановите его после использования. После создания моментального снимка ВМ сохраняет данные в новый файл образа. При восстановлении без сохранения или создания новых снимков, все измененные данные удаляются и освобождается место.

C. создайте новый виртуальный диск объемом не более 30 ГБ, добавьте его в качестве нового диска в текущую виртуальную машину, переместите все данные на новый виртуальный диск с помощью инструмента резервного копирования. Вы можете использовать живой Linux для клонирования.

эта работа только для разреженного VMDK (без предварительного выделения) дефрагментация требуется перед сжатием, чтобы убедиться, что используемое пространство является смежным

дефрагментация в Windows

в виртуальной машине Windows необходимо сначала запустить дефрагментацию диска из-под Windows. Дефрагментация в Windows гарантирует, что все используемые пространства являются смежными. Затем можно уменьшить размер виртуальный диск.

сжатие виртуального диска

для сжатия виртуального диска:

Откройте Панель управления VMware Tools / Toolbox:

В Windows:

дважды щелкните значок VMware Tools на панели задач или выберите Пуск >Панель управления > VMware Tools.

В Linux:

откройте терминал и выполните следующую команду:

vmware-toolbox

Примечание.: В Workstation 9.X (Windows) и выше, сжатие выполняется автоматически при очистке диска. Поэтому этот вариант удаляется из панели инструментов VMware. Перейдите к VM > управление > очистка Диски. Это не доступно в версии VMware Workstation для Linux 9.х и позже.

перейдите на вкладку сжатие. Выберите диск, который требуется сжать. Щелчок Приготовьтесь к сжатию, затем следуйте инструкциям на экране. Осторожно: не завершите работу виртуальной машины или хоста пока диск уменьшается. Кроме того, не пытайтесь отменить процесс. Прерывающий этот процесс может причинить непоправимый ущерб вашему виртуальному диску и вам возможно, не удастся снова запустить виртуальную машину.

VirtualBox. Виртуальные диски. Их типы. Расширение виртуального носителя. главное изображение

Во время работы с VBox так вышло, что однажды мне не хватило места на виртуальном диске. Почитав гайды в интернете, нашёл как увеличить размер диска. Только ничего не получилось. Оказалось, что при создании диска, был выбран фиксированный размер дискового пространства.

Задачи
  1. Разобраться с типами дисков
  2. Расширить виртуальный диск с фиксированным объёмом
  3. Завершить расширение диска в гостевой ОС
  4. Не потерять данные на расширяемом виртуальном диске

1. О типах виртуальных носителей

Выдержка из документации, приведена ниже. Ссылка на доку. Искать часть 5.2. Disk Image Files (VDI, VMDK, VHD, HDD)
Файл образа диска виртуальной машины находится на хостиг-системе и воспринимается гостевой системой, как жёсткий диск определённой геометрии. Когда гостевая ОС читает с диска или записывает на него, VBox перенаправляет запрос в файл образа.

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

VBox поддерживает типы виртуальных носителей:

  • VDI. Собственный тип, формат контейнера жёсткого диска от VBox
  • VMDK. Популярный открытый формат контейнера, используется многими другими продуктами виртуализации
  • VHD. Тип виртуального носителя, который использует Microsoft
  • HDD. Также поддерживаются файлы изображений Parallels версии 2

Варианты создания диска внезависимости от выбранного типа виртуального носителя:

  • Фиксированный размер. Если создаём образ с фиксированным размером, то на хостинг-системе будет создан файл образа примерно такого же размера, как и емкость виртуального диска. Таким образом, для диска размером 10 ГБ у нас будет файл размером 10 ГБ
    • Макимальный объём диска, расширить нельзя.
    • Максимальный объём диска можно увеличить.

    2. Решение проблемы

    Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант - динамически расширяемый.

    1. Запустить VirtualBox.
    2. Открыть менеджер виртуальных дисков (сочетанием клавиш Ctrl + D)
    3. Во вкладке Жесткий диск, выбрать из списка тот, который расширяем
    4. Ниже, во вкладке Атрибуты, увеличиваем объём диска с помощью бегунка
    5. Так же можно увеличить объём диска, вручную прописав его размер в окошке справа от бегунка
    6. Подтверждаем
    7. После короткого ожидания, размер диска увеличен
    8. Далее необходимо запустить гостевую ОС и расширить диск уже там

    Расширение дискового пространства. Тип VDI, VHD, VMDK. Вариант - фиксированный.

    1. Открыть менеджер виртуальных носителей
    2. Выбрать диск
    3. Сверху, кнопки с вариантами действий над диском
    4. "Копировать"
    5. В открывшемся окне необходимо открыть "Экспертный режим"
    6. В правой части окна "Хранение на жёстком диске"/"Storage on physical hard disk", нужно выбрать Динамически расширяемый вариант создания диска
    7. Подтвердить копирование
    8. Займет какое-то время
    9. В менеджере виртуальных носителей появится копия диска, только уже тип диска будет динамический.
    10. Выбрать диск и расширить его
    11. После расширения, копию расширенного диска необходимо примонтировать в виртуальной машине, вместо старого

    3. Расширение дискового пространства в гостевой системе

    Гостевая ОС, Windows