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

Обычно я рекомендую несколько вариантов:

Воспользоваться SCVMM и обязательно прочитать вот эту статью о миграции P2V и посмотреть вебкаст о миграции в SCVMM

Применить для миграции VSMT и ADSк

Взять на вооружение инструменты третьих фирм, такие как Paragon Vitalization Manager или Acronis True Image Echo Server

Сегодня у нас появился еще один бесплатный способ сделать то, что нужно, играючи. Компания Sysinternals, ныне входящая в состав Microsoft, выпустила утилиту disk2vhd, которая позволяет конвертировать Windows системы в VHD файлы, не прерывая их работы. Поддерживаются все клиентские и серверные системы, начиная с Windows XP SP2 и Windows Server 2003. Затем VHD файлы можно подключить к системам виртуализации, таким как Hyper-V, Virtual Server или Virtual PC и запустить перенесенные системы. Работает это проще простого. Скачиваем утилиту disk2vhd или запускаем disk2vhd прямо из интернет в той системе, которую собираемся мигрировать. Выбираем, какие разделы конвертировать в vhd, и, если есть необходимость, продолжаем работать в системе, ожидая завершения процесса.

Я решил конвертировать в VHD только раздел MAIN, находящийся на первом физическом диске моей системы. Именно с него загружается система и на нем стоят все нужные приложения.

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

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

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

Обратите внимание, что расположение NTFS раздела MAIN, который мы переносили, абсолютно точно скопировано в виртуальный VHD. Совпадает все вплоть до неразмеченного места, на которое при желании можно расширить NTFS раздел MAIN.

Единственной проблемой, которую я заметил, является несовпадение Windows Experience Index реальной системе и невозможность его пересчитать в виртуальной. Думаю, что это не критично.

Как видите, ничего сложного в процессе переноса работающих ОС в системы виртуализации от Microsoft нет.

Хочу поделиться своим опытом переноса. Нужно было перенести Windows 2008 Enterprise в среду Hyper-V. Сначала предполагал использовать утилиту Disk2vhd, но потом был установлен Acronis Backup Advanced и я воспользовался его встроенной возможностью при создании бекапа конвертировать бекап в виртуальную машину. Для этого достаточно при настройке свойств задания резервного копирования для пункта "Преобразование в виртуальную машину" выбрать Преобразовать, затем выбрать тип машины и месторасположение, где будут созданы файлы.

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

Не всегда импорт возможен. Так при импорте между хостами Hyper-V 2008/2008 R2 проблем нет, но если переносить с хоста Hyper-V 2008/2008 R2 на хост Hyper-V 20012 R2 и выше — непосредственно при самом импорте не будет найдено доступных машин для импорта. Решение такое:

  • Выключить виртуальные машины (VM) на хосте Hyper-V 2008/2008 R2;
  • Остановить службу Hyper-V Virtual Machine Management Service (VMMS) на хосте 2008/2008 R2;
  • Скопировать папки VM на хост Hyper-V Windows Server 2012 R2;
  • Импортировать.

Между Hyper-V 2012 R2/2016 и обратно ещё пока импортировать VM не пробовал.

Проблемы

Далее оказалось, что не пробрасывается на виртуальную машину мышь. При попытке работы мышью в окне виртуальной машины через Подключение к виртуальной машине Hyper-V сразу появлялось сообщение — "ввод с помощью мыши не перенаправлен". Первое найденное решение было переустановить службы интеграции внутри гостевой ОС:

но это ничего не дало. Далее при просмотре Диспетчера устройств обнаружилось, что устройство шина VMBus с восклицательным знаком, а состояние устройства — "Не найдены свободные ресурсы, которые устройство может использовать". Помогла эта статья MS. После выполнения указанных в статье действий и перезагрузки, сразу заработала мышь, появилась виртуальная сетевая карта и виртуальный видеоадаптер.

Дальше — нет доступа к сети, искал, искал, нашёл — криво создался виртуальный коммутатор (в Hyper-V 2008 R2, куда осуществлялся перенос, он называется Виртуальная сеть ), оказывается и такое бывает 🙂

Следующая трабла — не подключается сеанс RDP с других машин. Нашёл — в Конфигурации служб терминалов, в свойствах подключения (имя по умолчанию TCP-RDP), на вкладке Сетевой адаптер — пусто, и сразу выпрыгивает ошибка — "Средству настройки узла сеансов не удалось получить свойства этого подключения. Подключение удалено или его внутреннее состояние повреждено", выбрать новый адаптер при этом нельзя, удалить подключение тоже нельзя — ошибка. Удалось удалить через реестр по адресу: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal serverWinStations:

Отсюда понятно, что перед конвертацией сервера в виртуальную машину эту настройку нужно снять с конкретного сетевого адаптера и выставить настройку — "Все сетевые адаптеры настроены для этого протокола":

Ну и последний пункт переноса — удаление лишних теперь программ и драйверов.

Выводы
  1. Для Windows 2008 в msconfig отметить чекбокс "Определить HAL";
  2. Если это сервер RDP, то в Конфигурации служб терминалов выставить "Все сетевые адаптеры настроены для этого протокола".

При соблюдении этих условий перенос пройдем максимально гладко.

Следующим этапом планирую опробовать для архивирования виртуальных машин прекрасный по отзывам Veem Backup Free Edition.

В предыдущей статье, посвященной виртуализации сетей, мы затронули некоторые теоретические аспекты этого метода объединения сетевых ресурсов компьютеров в единые платформы. Поговорим теперь подробнее о некоторых нюансах виртуализации сети на примере Hyper-V – инструмента аппаратной виртуализации для 64-разрядных систем на основе гипервизора (монитора виртуальных машин) – в Windows Server 2016.

Виртуализация сети Microsoft Hyper-V позволяет нескольким виртуальным сетям (потенциально с перекрывающимися IP-адресами) работать в одной и той же физической сетевой инфраструктуре, благодаря чему каждая виртуальная сеть работает таким образом, будто она является единственной виртуальной сетью.

В виртуализации сети Hyper-V (HNV) пользователь или клиент определяется как «владелец» набора IP-подсетей, развернутых в организации. В качестве клиента может выступать организация или предприятие с несколькими подразделениями, нуждающимися в изоляция сети. Каждый клиент может иметь одну или несколько виртуальных, а каждая виртуальная сеть включать в себя несколько виртуальных подсетей. Виртуальной сетью создается граница изоляции, внутри которой виртуальные машины в виртуальной сети получают возможность для взаимодействия друг с другом. Традиционно такая изоляция применяется при помощи виртуальных локальных сетей с разделенным диапазоном IP-адресов и 802.1-ым тегом q или идентификатором виртуальной локальной сети. Однако в случае использовании HNV для изоляции применяется метод инкапсуляции NVGRE или режим VKSLAN, необходимый для создания сетей наложения с возможностью перекрытия IP-подсетей между клиентами.

У каждой виртуальной сети есть свой уникальный идентификатор домена маршрутизации на узле. Этот идентификатор приблизительно соответствует идентификатору ресурса, необходимому для установления контакта с ресурсом RESTFUL виртуальной сети в сетевом контроллере. Для указания ссылки на ресурс RESTFUL виртуальной сети используются имена универсального кода ресурса (URI), к которому добавляется идентификатор этого ресурса.

Виртуальная подсеть отвечает за реализацию семантики подсети IP третьего уровня для виртуальных машин одной виртуальной подсети. После чего этой сетью образуется широковещательный домен, (аналогичный виртуальной локальной сети) обеспечивающий строгую изоляцию за счет использования поля идентификатора клиента NVGRE (ТНИ) или идентификатора VKSLAN сети. Каждая виртуальная подсеть относится к одной виртуальной сети и ей назначается уникальный идентификатор виртуальной подсети (VSID), который использует особый ключ в заголовке инкапсулированного пакета. Здесь важно, чтобы VSID отвечал требованиям уникальности и находится в диапазоне от 4096 до 2^24–2. Решающим преимуществом виртуальной сети и домена маршрутизации является то, что он дает клиентам возможность использовать собственные топологии сети (например, IP-подсети) в облаке.

Скажем несколько слов и об архитектуре виртуализации сетей Hyper-V. В Windows Server 2016 HNVv2 осуществляется при помощи виртуальной платформы фильтрации Virtual Filtering Platform Azure (VFP), являющейся расширением фильтрации NDIS в коммутаторе Hyper-V. Ключевым принципом работы VFP является то, что подсистема обработки тождеств с внутренним интерфейсом API предоставляется агенту узла SDN для программирования сетевой политики. Самому агенту узла SDN информация о сетевой политике приходит сетевого контроллера по каналам связи Open vSwitch Database Management Protocol (OVSDB) и Windows Communication Foundation (WCF).

Важно отметить, что с помощью VFP программируется не только политика виртуальной сети (например, сопоставление CA-PA) запрограммированная с помощью VFP, но и дополнительной политики, такой как ACL, QoS. В VFP создается слой для каждого типа политики (например, виртуальная сеть), являющийся эксклюзивным набором таблиц правил или потоков. Эта политика лишена каких-либо встроенных функций до тех пор, пока для их реализации не назначаются определенные правила. Каждый слой получает приоритет, после чего уровни назначаются порту согласно возрастанию их приоритета. Правила организуются в группы по большей части соответствуя направлениям и семействам IP-адресов. Группы также получают свой приоритет таким образом, чтобы одно правило группы соответствовало одному заданному потоку.

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