Что нужно знать об использовании Disk2VHD
Существует бесчисленное множество инструментов для преобразования физических файлов в виртуальные. Хотя многие из этих инструментов имеют премиальную цену, по крайней мере один из них доступен бесплатно — Microsoft Disk2VHD. Disk2VHD — это один из инструментов Windows Sysinternals, его можно скачать здесь.
Disk2VHD — удивительно легкий инструмент. На самом деле размер загрузки составляет менее 1 Мб. Кроме того, интерфейс инструмента не может быть проще. Просто выберите тома, которые вы хотите преобразовать, проверьте имя пути и нажмите «Создать». Вы можете увидеть, как выглядит интерфейс на снимке экрана ниже (также есть интерфейс командной строки):
Это интерфейс Disk2VHD.
Учитывая простоту этого инструмента, на первый взгляд может показаться, что о процессе физического преобразования в виртуальный говорить особо нечего. Однако простота интерфейса несколько обманчива. Хотя я использовал Disk2VHD для успешного преобразования физических файлов в виртуальные, у меня также было много неудачных преобразований. Со временем я узнал, что есть некоторые вещи, которые могут привести к тому, что процесс преобразования пойдет плохо. В этой статье я хочу поделиться с вами некоторыми рекомендациями по использованию инструмента Disk2VHD.
Первая лучшая практика, о которой я хочу упомянуть, — убедиться, что у вас установлена самая последняя версия инструмента. Как и все инструменты Sysinternals, Disk2VHD иногда обновляется. Текущая версия — 2.01, и инструмент не обновлялся с 2014 года, но вы никогда не знаете, когда может быть выпущено новое обновление.
Еще одна важная вещь, которую нужно знать о Disk2VHD, заключается в том, что вы должны быть осторожны с тем, как вы обрабатываете полученный файл виртуального жесткого диска. Как я уверен, вы, вероятно, знаете, последние несколько версий Windows позволяли вам монтировать виртуальный жесткий диск, дважды щелкнув по нему. Таким образом, вы можете получить доступ к содержимому виртуального жесткого диска.
На первый взгляд это звучит как удобная возможность. В конце концов, вы теоретически можете создать виртуальный жесткий диск, открыть его, добавить на виртуальный жесткий диск несколько файлов драйверов, а затем отключить виртуальный жесткий диск и связать его с виртуальной машиной. На самом деле, я пробовал эту технику сам. Вообще говоря, техника работает хорошо, но есть один большой нюанс.
Когда вы выполняете преобразование из физического в виртуальный, Disk2VHD не уничтожает содержимое физического сервера как часть процесса преобразования. Когда преобразование завершено, виртуальный диск имитирует физический диск, но физический диск остается нетронутым, а физическая машина остается полностью функциональной. Вот в чем проблема.
Операционная система Windows записывает подпись на каждый диск. Эта подпись используется как механизм, позволяющий Windows идентифицировать диск. Поскольку виртуальный диск является точной копией физического диска, он содержит ту же подпись, что и физический диск, из которого он был создан. Таким образом, если вы смонтируете виртуальный диск, используя ту же физическую машину, на которой был создан виртуальный диск, возникнет конфликт подписи. Windows попытается разрешить конфликт, записав новую подпись на виртуальный диск. При этом Windows делает виртуальный жесткий диск недоступным для загрузки. Если позже вы подключите виртуальный диск к виртуальной машине, виртуальная машина не сможет загрузиться, поскольку база данных конфигурации загрузки диска ссылается на подпись диска, которой больше не существует.
Еще одна важная вещь, которую нужно знать об утилите Disk2VHD, заключается в том, что вы должны быть осторожны при ее использовании в работающей системе. Утилита Disk2VHD работает аналогично тому, как работает приложение резервного копирования. Когда вы запускаете утилиту, она использует службу теневого копирования томов (VSS) для создания моментального снимка преобразуемого диска. Это позволяет конвертировать диск, не опасаясь, что его содержимое будет изменено в процессе конвертации. Это помогает обеспечить целостность полученного виртуального жесткого диска, но обратной стороной этого является то, что любые данные, созданные или измененные на физическом сервере во время или после процесса преобразования, не будут включены в виртуальный жесткий диск. Это означает, что существует вероятность потери данных, особенно в системах с приложениями с высокой транзакцией.
Есть несколько различных способов обойти эту конкретную проблему. Наилучший вариант для серверов приложений с высокой степенью транзакций, которые должны оставаться в сети, — это, вероятно, использование репликации данных, чтобы помочь процессу виртуализации, а не полагаться на Disk2VHD. Возьмем, к примеру, Exchange Server. Хотя теоретически возможно использовать Disk2VHD для физического преобразования Exchange Server в виртуальный, существует вполне реальный риск потери данных, поскольку сообщения будут продолжать отправляться и получаться после начала процесса преобразования.
Лучшим решением может быть ручное развертывание Exchange Server на виртуальной машине. После этого виртуальная машина может быть добавлена в группу доступности базы данных, а копия базы данных (с физического сервера) может быть добавлена на виртуальную машину. Как только все синхронизируется, копию базы данных можно удалить с физического сервера, тем самым оставив виртуальную машину для размещения базы данных Exchange Server. В этот момент физический сервер Exchange может быть удален из группы доступности базы данных, если остается достаточно серверов для сохранения кворума группы доступности базы данных. После завершения удаления Exchange можно вручную удалить с сервера.
С другой стороны, если организации необходимо выполнить физическое преобразование в виртуальное на сервере Exchange, SQL Server или другом сервере приложений с высокой степенью транзакций, но не хватает ресурсов для использования ранее описанного метода, есть способ чтобы помочь утилите Disk2VHD завершить преобразование без потери данных.
Для этого запланируйте некоторое время простоя, а затем остановите и отключите все системные службы, связанные с приложением. Это предотвратит активность приложения во время процесса преобразования и предотвратит потерю данных.
Вывод
Как видите, утилита Disk2VHD упрощает копирование содержимого физического жесткого диска на виртуальный диск. Затем вы можете создать виртуальную машину Hyper-V, подключить виртуальный жесткий диск и запустить виртуальную копию сервера.
Следует иметь в виду, что вам, вероятно, придется внести несколько изменений в виртуальную машину, прежде чем запускать ее в производство. По крайней мере, вам, вероятно, потребуется установить службы интеграции Hyper-V, но вам также может потребоваться внести некоторые изменения в конфигурацию сети. Это связано с тем, что физический сервер, использующий физическую сетевую карту, потеряет свою конфигурацию IP-адреса как часть процесса виртуализации, поскольку виртуальная сетевая карта имеет другое имя, чем имя физической сетевой карты. Таким образом, важно задокументировать конфигурацию IP-адреса сервера перед виртуализацией сервера, чтобы можно было назначить эти настройки виртуальному сетевому адаптеру сервера.