Vmware как очистить диск виртуальной машины

Обновлено: 06.07.2024

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

Самыми главными компонентами виртуальной машины являются файлы виртуальных дисков. В данный момент на рынке присутствует множество вендоров как платформ виртуализации, так и средств управления и обслуживания виртуальных машин. Однако не все поставщики систем виртуализации используют свои форматы виртуальных дисков. Например, не так давно появившаяся, но стремительно набирающая популярность платформа 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 в сентябре), будет обладать еще большим набором возможностей по работе с виртуальными дисками и их обслуживанию.


По умолчанию VMware создает «растущие» диски, размер которых увеличивается по мере добавления данных. К сожалению, они не сжимаются автоматически при удалении данных. Вам нужно будет почистить или сжать диски, чтобы освободить место на жестком диске.

Процесс немного отличается в разных версиях VMware. Мы рассмотрим процесс для VMware Player, VMware Fusion и VMware Workstation здесь.

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

Во-первых, убедитесь, что вы не используете предварительно выделенный диск

Этот процесс работает только с растущими или «разреженными» дисками. Предварительно выделенные диски всегда имеют максимальный размер. Если у вас есть предварительно выделенный диск, который вы хотите сжать, перед продолжением необходимо преобразовать его в растущий диск .

Ваша виртуальная машина, вероятно, имеет растущий диск. VMware Player может создавать только растущие диски, VMware Fusion всегда использует растущие диски, если вы не выделите дисковое пространство в настройках виртуальной машины после его создания, а VMware Workstation создает растущие диски, если вы не зайдете в пользовательские настройки и не отметите «Выделить все дисковое пространство сейчас». »При создании новой виртуальной машины.

На VMware Workstation или VMware Player щелкните правой кнопкой мыши виртуальную машину и выберите «Настройки». Проверьте, отображается ли «Предварительно выделено» рядом с размером диска в представлении «Сводка» или нет.


В VMware Fusion выберите виртуальную машину и нажмите Виртуальная машина> Настройки> Жесткий диск> Дополнительные параметры. Проверьте, установлен ли флажок «Предварительное выделение дискового пространства» в разделе «Дополнительные параметры» или нет.


VMware Player

У VMware Player нет удобной кнопки «Очистить диск», которую вы можете увидеть в платных продуктах VMware, но вы все равно можете сделать это с помощью нескольких опций в своем интерфейсе.

В VMware Player сначала выключите виртуальную машину. Вы не можете сжать его диск, если он включен или приостановлен.

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


Выберите опцию «Жесткий диск» в списке устройств на вкладке «Оборудование».

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


Когда VMware завершит процесс дефрагментации, нажмите кнопку «Компакт» в разделе «Дисковые утилиты». VMware сжимает файлы виртуального жесткого диска (.vmdk), чтобы освободить место.


VMware Player не поддерживает снимки, поэтому у вас не будет снимков, занимающих дополнительное место на вашем компьютере.

VMware Fusion

В VMware Fusion сначала отключите виртуальную машину. Вы не можете сделать это, когда виртуальная машина включена или приостановлена.

В главном окне VMware Fusion выберите виртуальную машину и щелкните значок «Обновить дисковое пространство» справа от его использования в правом нижнем углу окна. Вы не увидите актуальную информацию об использовании диска для виртуальной машины, пока не сделаете это.


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

Чтобы просмотреть снимки, выберите виртуальную машину в главном окне библиотеки виртуальных машин и нажмите кнопку «Снимки» на панели инструментов. Выберите снимок и нажмите «Удалить», чтобы удалить его.

Конечно, после удаления снимка вы не сможете восстановить свою виртуальную машину до этого момента времени.


Рабочая станция VMware

В VMware Workstation сначала отключите виртуальную машину, которую вы хотите сжать. Вы не можете завершить этот процесс, если он включен или приостановлен.

Выберите виртуальную машину, которую вы хотите сжать, в главном окне и нажмите ВМ> Управление> Очистить диски.


Инструмент проанализирует диск выбранной виртуальной машины и покажет, сколько места можно восстановить. Чтобы освободить место, нажмите «Очистить сейчас».


VMware Workstation также позволяет создавать моментальные снимки, которые содержат полный «моментальный снимок» состояния виртуальной машины в момент их создания. Это может занять много места, если виртуальная машина значительно изменилась с тех пор. Вы можете освободить дополнительное пространство, удалив снимки, которые вам больше не нужны.

Чтобы просмотреть снимки для виртуальной машины, выберите виртуальную машину в VMware Workstation и нажмите VM> Snapshot> Snapshot Manager.


Чтобы удалить снимок, который вам больше не нужен, щелкните его правой кнопкой мыши в окне диспетчера снимков и выберите «Удалить». Он будет удален с вашего компьютера.

Конечно, после удаления снимка вы не сможете восстановить свою виртуальную машину до того предыдущего момента времени.


Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
  • VMware Technology Network
  • :
  • Global
  • :
  • Russian
  • :
  • Russian Discussions
  • :
  • Очистка всех дисков на всех виртуальных машинах, ч.
StarWash
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend
Очистка всех дисков на всех виртуальных машинах, через командную строку.

Здравствуйте, нуждаюсь в описанном в теме. За любую помощь буду безмерно благодарен! Спасибо!

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

Команда "Сжатие" тоже подойдёт.

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

Для сжатия виртуальных дисков их свободное пространство должно быть "заполнено нулями", так сказать. Ну и диски должны быть thin.

а команда сжатия диска, если через шелл, то vmkfstools -K /path/to/disk.vmdk

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

"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -k "C:\Virtual Machines\123\123.vmdk"

Я пробовал вот так, проценты идут, но диск не сжимается. В чём "косяк"?

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

C:\Program Files\VMWare\VMWare Tools\VMwareToolboxCmd.exe disk shrink c:\

Нашел еще нечто вот такое, из самой виртуальной машины запускал. Не получилось.

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

Эммм. У Вас какие виртуальные машины? На чем?

Ту команду, которую я написал выше, нужно использовать в консоли esxi сервера.

У Вас esxi или локальные виртуальные машины на vmware workstation?

StarWash
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend
tabaccopie
  • Mark as New
  • Bookmark
  • Subscribe
  • Mute
  • Email to a Friend

Разобрались, хорошо

1. Удалите сначала снапшоты у виртуальной машины, если есть.

2. Дефрагментируйте диск, а потом сожмите его. Все с помощью vmware-vdiskmanager. Вот здесь описано, как сделать с примерами Examples Using the VMware Virtual Disk Manager

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

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

"C:\Program Files (x86)\VMware\VMware Workstation\vmware-vdiskmanager.exe" -k "C:\Virtual Machines\123\123.vmdk"

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

Вот так это выглядит, спокойно доходит до 100%, выключается. Эффекта нет.

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

если этот файл уже снапшот, то консолидируйте его с основным файлом диска.

И работайте дальше уже с основным диском, а не со снапшотом.

Причем сначала надо будет сделать

vmware-vdiskmanager -d -- дефрагментация, о чем я уже написал выше.

а только потом уже

vmware-vdiskmanager -k -- сжатие.

Возможно ваш диск сильно фрагментирован и поэтому операция сжатия не дает эффекта.

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

Без моментальных снимков и связанных клонов

Начнем с важной оговорки. Не следует применять описанные в статье методы, если в VMware Workstation используются моментальные снимки или связанные клоны. Виртуальные машины, запускаемые с моментального снимка или связанного клона, выполняются с виртуальных дисков, которые являются оверлеями исходной виртуальной машины. Если попытаться дефрагментировать исходную виртуальную машину или клон, уровень сложности значительно повышается, а производительность неизбежно падает. Оверлеи уже уменьшают размер пространства, занимаемого виртуальными дисками; скорее всего, место, использованное для клонированного диска, увеличится.

Обратите внимание, что методы, описанные в статье, вполне применимы для очистки полных клонов (full clone) VMware. Полный клон создается из точной копии первоначальной исходной виртуальной машины, но не привязан к ней. Если нет уверенности, является ли определенная машина VMware клоном, моментальным снимком или исходной машиной, то посмотрите сведения о машине в VMware Workstation. У клонов и моментальных снимков явно указан источник клона или моментального снимка, как показано на рисунке 1. Машина на рисунке 2 не связана и просто показывает версию VMware Workstation.

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

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

Во-первых, если наблюдается значительное снижение производительности виртуальной машины, то машину, вероятно, следует почистить. Во-вторых, я сравниваю размер файла 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. Теперь все готово к началу работы.

  1. Откройте командную строку из учетной записи с административными правами
  2. Введите команду

чтобы сделать папку 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 редки, и регулярной серьезной чистки не требуется. Но если выясняется, что виртуальный диск занимает слишком много места, с помощью описанного метода можно быстро решить проблему.

Читайте также: