НАЗНАЧЕНИЕ УТИЛИТЫ
Утилита Cloper — консольная программа для оптимизации откатываемых виртуальных дисков с целью уменьшения размера их файла на физическом диске. Версия утилиты x86 предназначена для использования на 32-х и 64-битных ОС; в случае гостевой 64-битной ОС можно использовать версию утилиты x64. Обе версии утилиты и сопутствующие файлы проекта располагаются по ссылке: https://github.com/kopyurff/cloper.
Утилита тестировалась на VMWare Workstation v.8.0, но схема ее работы должна быть применима ко всем вариантам проигрывателей виртуальных машин, если они не инициализируют все выделенное дисковое пространство при его создании, а только хранят и записывают фактические данные. Если же при первичной инициализации виртуального диска проигрыватель машины выделяет для него столько места, сколько указано для дискового тома, то использование этой утилиты становится бессмысленным.
Утилита используется на виртуальной машине с ОС Windows, к которой в откатываемом режиме подключены исходный диск и целевой эталонный диск. Исходный и целевой диски для создания оптимизированного снимка должны быть копиями одного и того же виртуального диска, а целевой диск должен содержать только исходные эталонные данные без добавленной информации на исходном диске. В общем случае процедура оптимизации заключается в сравнении данных двух копий дисков с низкоуровневой обработкой данных исходного диска таким образом, чтобы физические данные его файлов располагались, по возможности, напротив идентичных физических данных на целевом эталонном диске. После завершения процедур сравнения данные исходного диска клонируются на эталонный диск. Поскольку при клонировании записываются только данные, отличающиеся от содержимого целевого эталонного диска, то его результирующий размер файла на физическом диске существенно уменьшается.
ПРОЦЕДУРЫ ОПТИМИЗАЦИИ
Процедуру оптимизации можно применять к виртуальным дискам с форматами разметки разделов MBR и GPT. Операция сопоставления и другие действия по оптимизации применяются только к разделам с файловой системой NTFS, разделы с другими файловыми системами клонируются как есть. Утилита предоставляет следующие процедуры для оптимизации томов NTFS:
СИСТЕМНЫЕ ТРЕБОВАНИЯ
Для выполнения задачи оптимизации гостевая ОС должна обеспечить доступ к целевым и исходным дискам с использованием функциональности Windows API, активный пользователь ОС, выполняющий задачу, должен иметь административные привилегии. Задачи утилиты можно запускать с использованием версий ОС Windows, начиная с XP SP2 x86/x64. Рекомендуется использовать более старые версии ОС, чтобы минимизировать фоновые изменения данных на диске системой во время задачи оптимизации. Независимо от спецификации задачи утилита активно работает с данными исходного диска во время всех подзадач. Хост-система должна быть способна поддерживать эти действия. Для оптимальной производительности рекомендуется хранить снимки исходного и целевого дисков на разных физических жестких дисках.
В зависимости от производительности гостевой системы, спецификации задачи, объема исходных и целевых данных, вся процедура может занять от 10-20 минут до нескольких часов. Полученный оптимизированный снимок можно получить только после завершения всех указанных процедур. Чтобы избежать фоновых инициализаций целевых данных, рекомендуется выключать гостевую ВМ или отключать целевой диск сразу после завершения задачи. В зависимости от параметризации задачи системные требования к гостевой ВМ могут быть минимальными или требовать значительного объема оперативной памяти. Минимальный объем оперативной памяти является обязательным условием для всех задач, за исключением подзадачи, которая ищет совпадения исходных данных внутри целевых данных. Последняя подзадача может потребовать до 2 ГБ оперативной памяти только для процесса утилиты, она также заметно потребляет процессорное время во время поисковых действий.
Если предполагается дальнейшее использование исходного виртуального диска, рекомендуется выполнить оптимизацию, сохранив его копию. Характер действий с его данными — обычная фрагментация и вероятность их повреждения не выше вероятности повреждения файлов при копировании в другую папку, но за счет внутреннего перемещения данных инициализируются ранее неиспользуемые сектора виртуального диска и в результате размер его физического файла увеличивается до реального объема диска.
ПАРАМЕТРЫ УТИЛИТЫ
Утилита Cloper — это консольная программа с параметрами командной строки и файлом конфигурации. Вызов ее без параметров в командной строке выводит их список с описанием. Предусмотрены следующие параметры командной строки:
При создании файла конфигурации его значения устанавливаются на оптимальные значения, если создается файл с комментариями, то он имеет построчную справку. При первом запуске утилиты для задач оптимизации на виртуальной машине рекомендуется создать новый файл конфигурации. Для запуска утилиты из скриптов автоматизации параметр "RunMode" необходимо изменить на "SILENT", а параметр "PauseAtEnd" на "NOT".
ФАЙЛЫ ПРОЕКТА УТИЛИТЫ
В утилиту Cloper добавлены дополнительные файлы для лучшего соответствия критериям ПО с открытым исходным кодом, для его документирования и, при необходимости, для упрощения работы с исходным кодом. Список файлов с их относительным расположением:
СТАТУС ПРОЕКТА, ПОДДЕРЖКА И ЕГО РАЗВИТИЕ
Текущий набор функционала утилиты и её исходный код работоспособны и могут быть использованы на ОС Windows от XP до версии 11. Текущая версия утилиты публикуется для общего использования как есть. Для решения других аналогичных задач обработки исходных данных виртуальных машин набор возможностей утилиты может быть расширен или улучшен. Для предложений поддержки и развития проекта я доступен по следующим контактам:
E-Mail: kopyurff@yahoo.com, kopyurff@rambler.ru
Мобильный: 8-921-912-44-10