Меню

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

Дефрагментация динамического диска виртуальной машины Hyper-V

Все гипервизоры для Windows, позволяющие работать с виртуальными машинами и устанавливаемыми на них гостевыми ОС, в числе своих возможностей также предусматривают и какие-то операции по работе с виртуальными дисками машин. Hyper-V в этом плане можно считать продвинутым: у него есть отдельный специальный функционал по созданию, конфигурации и изменению виртуальных дисков. Этот функционал реализован в мастерах создания и изменения дисков, а также интегрирован в параметры виртуальной машины.

И вот одной из возможностей этого функционала является дефрагментация диска машины, если он динамического типа. Это операция по сжатию фактического объёма, занимаемого файлом диска VHD (либо же VHDX) . Давайте рассмотрим эту операцию.

Одной из характеристик виртуальных дисков являются их типы – фиксированный и динамический. Первый занимает на физическом жёстком диске ровно столько объёма, сколько мы указываем для него номинально при создании. И такой диск не вместит в себя по факту данных больше, чем его номинальный объём. Тип динамический не зависит от своего номинального объёма: он по факту на физическом диске занимает ровно столько места, сколько данных суммарно на него помещено. И его проблема в том, что после удаления данных с него его фактический объём на физическом диске не уменьшается. И такой диск по итогу различных передвижек данных может увеличиться в фактическом объёме до огромных значений. Его файл даже может захламить собой весь раздел физического диска. Чтобы этого не произошло для виртуальных машин Hyper-V, в которых используются динамические диски, необходимо время от времени проводить гигиеническую процедуру – дефрагментацию их дисков. Как её провести?

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

Открываем параметры выключенной машины.

Слева окна параметров кликаем диск машины. И для начала посмотрим его свойства. В основной части окна возле нашего диска жмём кнопку «Проверить».

Откроется окошко его свойств, и здесь в числе сведений о характеристиках диска будут данные его объёма – номинального в графе максимального размера и фактического в графе текущего размера. В нашем случае фактический объём – 13,07 Гб.

Пока что это немного, но всё равно мы можем уменьшить фактический объём, сделать это, так сказать, на перспективу роста файла диска. Закрываем окно свойств диска и возвращаемся к кнопкам возле диска машины в её параметрах. И теперь нажимаем кнопку «Правка».

Запустится мастер изменения диска, на первом его этапе жмём «Далее».

На этапе выбора действия выбираем «Дефрагментировать».

И жмём «Готово».

Пару секунд будет выполняться дефрагментация. Затем мы снова вернёмся в окно параметров машины. И теперь можем посмотреть, насколько была эффективна проведённая нами процедура. Снова жмём кнопку возле диска «Проверить», смотрим его свойства. Текущий размер теперь у нас отображается 8,6 Гб.

Т.е. операция по дефрагментации динамического диска высвободила больше 4 Гб места на физическом диске. При больших оборотах работы с данными в среде виртуальной машины это будут, соответственно, значительно большие объёмы расчищенного на физическом диске места.

Читайте также:  Прицепное устройство для легкового автомобиля нужно ли разрешение

Включение и настройка шифрования BitLocker не представляет особой сложности, что, однако, не исключает появления проблем. Читать далее

Для шифрования дисков и томов в Windows 10 предусмотрена встроенная функция BitLocker, позволяющая шифровать как Читать далее

Нередко у пользователей возникает необходимость создать полный список всех имеющихся файлов в какой-либо папки или Читать далее

Программные средства для виртуализации операционных систем от разработчика VMware – пожалуй, лучшие из числа гипервизоров Читать далее

Дефрагментация и сжатие дисков 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. Теперь все готово к началу работы.

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

Adblock
detector