Статьи

P2V конвертація фізичного контролера домену на базі Windows Server 2012 R2 в віртуальну машину Hyper-V Generation 2

  1. P2V конвертація фізичного сервера за допомогою MVMC
  2. Перетворення віртуальних дисків в формат VHDX
  3. Налаштування мережі в гостьовій ОС віртуальної машини.
  4. Підтвердження оновлення компонент інтеграції Hyper-V
  5. Видалення програмного забезпечення підтримки апаратних компонент сервера
  6. Конвертація віртуальної машини в формат Generation 2
  7. Видалення неіснуючих пристроїв з ОС віртуальної машини

Згідно досить давно з'явилася інформації, як наприклад в статті   Windows Server 2012 Failover Cluster - Enhanced Integration with Active Directory (AD)   , Ми можемо віртуалізації і розміщення контролера домену в кластері Hyper-V, навіть не дивлячись на те, що цей самий кластер буде стартувати раніше, ніж віртуальний контролер домену всередині цього кластера Згідно досить давно з'явилася інформації, як наприклад в статті Windows Server 2012 Failover Cluster - Enhanced Integration with Active Directory (AD) , Ми можемо віртуалізації і розміщення контролера домену в кластері Hyper-V, навіть не дивлячись на те, що цей самий кластер буде стартувати раніше, ніж віртуальний контролер домену всередині цього кластера. Якщо чесно, я довго не наважувався братися за віртуалізацію контролера домену, однак останнім спілкування з колегами показало, що з їх досвіду, віртуальний контролер домену всередині кластера Hyper-V - це цілком реальний і працездатний сценарій.

У цій замітці ми розглянемо приклад Physical-to-Virtual (P2V) конвертації фізичного сервера в віртуальне середовище на базі гипервизора Hyper-V в складі ОС Windows Server 2012 R2. У розглянутому прикладі фізичний сервер являє собою серверну платформу HP ProLiant DL 360 G5 з ОС Windows Server 2012 R2 і основними серверними ролями AD DS і DNS. І як напевно зрозуміло, з інфраструктурної точки зору сервер являє собою діючий контролер домену.

Для виконання конвертації чинного фізичного сервера в віртуальну машину Hyper-V я скористаюся утилітою Microsoft Virtual Machine Converter (MVMC) 3.0 . Ознайомитися з усіма можливостями цієї утиліти можна в бібліотеці TechNet . На мій погляд, крім переваг, ця утиліта має і ряд певних недоліків. До недоліків я можу віднести наприклад те, що виходить в результаті P2V конвертації віртуальна машина має формат Generation 1., А також те, що кожен логічний диск створюється у вигляді окремого VHD-файлу. Але в цілому це переборні речі і їх ми розглянемо після завершення процедури конвертації за допомогою MVMC. В кінцевому підсумку план наших дій буде наступний:

1. P2V конвертація фізичного сервера за допомогою MVMC.
2. Перетворення віртуальних дисків в формат VHDX.
3. Налаштування мережі в гостьовій ОС віртуальної машини.
4. Підтвердження оновлення компонент інтеграції Hyper-V
5. Видалення програмного забезпечення підтримки апаратних компонент сервера.
6. Конвертація віртуальної машини в формат Generation 2.
7. Видалення неіснуючих пристроїв з ОС віртуальної машини.

Щоб скоротити час конвертації, всі операції будемо виконувати безпосередньо на одному з вузлів віртуалізації. При виборі хоста слід враховувати пару простих правил, дотримання яких допоможе уникнути помилок пов'язаних з нестачею дискового простору як в процесі P2V конвертації, так і в подальшому процесі перетворення ВМ G1 в G2:

А) Для операцій P2V хост віртуалізації повинен мати вільний дисковий простір об'ємом не менше, ніж загальний розмір зайнятого простору на дисках віртуалізуемого сервера. А з урахуванням тимчасових операцій MVMC бажано взагалі орієнтуватися на подвійний об'єм даних.

Б) Для подальших операцій конвертації ВМ G1 в G2 на системному диску хоста віртуалізації, де імовірно розташовані папки профілів користувачів, має бути присутнім вільний дисковий простір об'ємом не менше, ніж загальний розмір зайнятого простору на дисках віртуалізуемого сервера. В процесі конвертації буде створена тимчасова копія віртуального диска у вигляді wim-образу в каталозі% LOCALAPPDATA% \ Temp або C: \ Users \% USERNAME% \ AppData \ Local \ Temp)

P2V конвертація фізичного сервера за допомогою MVMC

Як і домовилися, встановлювати MVMC будемо на той хост віртуалізації, який буде одержувачем нової віртуальної машини. На обраному хості повинна бути встановлена роль Hyper-V і включена "фіча" BITS Compact Server. Роль Hyper-V була встановлена ​​раніше, так як це діє хост віртуалізації, а ось BITS нам потрібно буде встановити додатково, так як за замовчуванням вона виключена. Зробимо це за допомогою PowerShell:

Import-Module ServerManager Install-WindowsFeature -Name "BITS-Compact-Server" -IncludeAllSubFeature -IncludeManagementTools

Import-Module ServerManager Install-WindowsFeature -Name BITS-Compact-Server -IncludeAllSubFeature -IncludeManagementTools

Після установки, запускаємо MVMC і на першому екрані вибираємо тип конвертації - Physical machine conversion

Після установки, запускаємо MVMC і на першому екрані вибираємо тип конвертації - Physical machine conversion

Далі на вкладці Source вводимо повне доменне ім'я фізичної сервера підлягає процедурі віртуалізації, а також облікові дані для адміністративного доступу до цього сервера. Так як в нашому випадку мова йде про контроллер домена, використовуються облікові дані адміністратора домену.

На наступному кроці натискаємо кнопку Scan System, і чекаємо коли в інформаційному вікні System Information з'явиться інформація про конвертованій сервері.

На наступному кроці натискаємо кнопку Scan System, і чекаємо коли в інформаційному вікні System Information з'явиться інформація про конвертованій сервері

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

На кроці VM Configuration вводимо ім'я створюваної віртуальної машини (не повинно збігатися з іменами існуючих на хості віртуалізації віртуальних машин), кількість віртуальних процесорів (ядер) і обсяг оперативної пам'яті.

На кроці VM Configuration вводимо ім'я створюваної віртуальної машини (не повинно збігатися з іменами існуючих на хості віртуалізації віртуальних машин), кількість віртуальних процесорів (ядер) і обсяг оперативної пам'яті

Далі вводимо ім'я хоста віртуалізації, на якому буде створена відповідна віртуальна машина. У моєму випадку вказано ім'я сервера віртуалізації, на якому запущений конвертор.

На наступному кроці Disk за замовчуванням передбачається вибір мережевої папки на хості віртуалізації для збереження створюваного віртуального диска. І знову ж таки, так як екземпляр MVMC і хост призначення в нашому випадку це одна і та ж система, - можемо вказати локальну папку на цьому хості.

І знову ж таки, так як екземпляр MVMC і хост призначення в нашому випадку це одна і та ж система, - можемо вказати локальну папку на цьому хості

На кроці Workspace вказуємо ім'я будь-якої локальної папки, яка буде використовуватися MVMC як проміжне місце при конвертації фізичних жорстких дисків у віртуальні.

Далі на кроці Network Configuration вказуємо віртуальний комутатор Hyper-V, до якого буде підключений мережевий адаптер створюваної віртуальної машини.

Далі на кроці Network Configuration вказуємо віртуальний комутатор Hyper-V, до якого буде підключений мережевий адаптер створюваної віртуальної машини

На кроці Summary переглядаємо коротку зведену інформацію і запускаємо процес конвертації кнопкою Finish

Чекаємо успішного закінчення процесу конвертації ...

Чекаємо успішного закінчення процесу конвертації

Відразу після того, як процес конвертації завершений, вимикаємо фізичний сервер-джерело.

Як бачимо, в результаті конвертації, в зазначеній раніше папці створені окремі віртуальні диски для кожного логічного тому фізичного диска конвертованого сервера. Як бачимо, в результаті конвертації, в зазначеній раніше папці створені окремі віртуальні диски для кожного логічного тому фізичного диска конвертованого сервера

Також створена віртуальна машина формату Generation 1, у якій віртуальні диски підключені до віртуального IDE-контролера. Віртуальний диск з довгою назвою (по мітці томи з фізичної системи) використовується для запуску ОС з другого, основного віртуальному диску.

Тепер потрібно виконати перший перевірки запуск віртуального сервера, щоб переконатися в тому, що віртуалізованних система стартує і працює успішно. Про всяк випадок перед першим запуском можна відключити мережевий адаптер віртуальної машини від віртуального комутатора Hyper-V.

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

Якщо первинний запуск пройшов успішно, можна вважати що основна стадія віртуалізації виконана і всі наступні дії можна виконувати лише за бажанням.

Перетворення віртуальних дисків в формат VHDX

Так як віртуальна машина була створена MVMC з дисками в форматі VHD ми можемо самостійно виконати перетворення дисків в більш "просунутий" формат VHDX. Для цього вимкнемо віртуальну машину і в консолі Hyper-V Manager з меню Actions виберемо пункт Edit disk. Вибравши віртуальний диск на кроці майстра Choose Action виберемо режим конвертації - Convert

Далі виберемо формат VHDX і дочекаємося завершення процедури перетворення.

Після того як диски перетворені змінимо шлях до дисків у властивостях віртуальної машини

Збережемо настройки і знову перевіримо запуск віртуальної машини з віртуальними дисками нового формату.

Налаштування мережі в гостьовій ОС віртуальної машини.

Якщо система стартує і завантажується успішно, можемо випустити її в продуктивне середовище, тобто дозволимо їй взаємодія з мережею. Виконаємо необхідні настройки мережевого інтерфейсу в властивості віртуальної машини, наприклад при необхідності можемо включити використання певного номера VLAN

Після збереження мережевих налаштувань віртуальної машини, всередині гостьової ОС задамо налаштування IP, тобто відновимо раніше використовуваний на фізичному сервері IP адреса і інші настройки мережі. Після цього знову перезавантажити віртуальну машину, щоб переконатися в тому, що тепер вона вже стартує повноцінно взаємодіючи з локальною мережею.

Підтвердження оновлення компонент інтеграції Hyper-V

Щоб переконатися в тому, що в "новоспеченої" віртуальної машині використовуються компоненти інтеграції Hyper-V найактуальнішою версії, доступної на хості віртуалізації, відкриємо консольне підключення до віртуальної машини і в меню Action виберемо пункт монтування образу диска з компонентами інтеграції - Insert Integration Services Setup Disk

У змонтованому в віртуальній системі диску знайдемо і запустимо файл \ support \ amd64 \ setup.exe

Якщо компоненти інтеграції мають актуальну версію, то ми отримаємо приблизно наступне повідомлення:

В іншому випадку необхідно буде провести установку компонент з подальшою перезавантаженням гостьовий ОС віртуальної машини.

Видалення програмного забезпечення підтримки апаратних компонент сервера

Після того як наш сервер став віртуальним, потрібно подбати про те, щоб все програмне забезпечення, яке раніше було встановлено на цей сервер для підтримки апаратних компонент, було акуратно видалено. У нашому прикладі видаленню підлягають всі додатки зі складу HP Insight Software. Також ми можемо видалити встановленого раніше агента ДБЖ, так як тепер вимиканням гостьовий ОС віртуальної машини в разі відключення електроживлення буде керувати хост віртуалізації.

Після видалення ПО знову перезавантажити гостьову систему, щоб переконатися в її успішний запуск.

Конвертація віртуальної машини в формат Generation 2

На даному етапі наш віртуальний сервер повноцінно працює в штатному режимі, проте якщо ми хочемо поліпшити його шляхом перетворення в формат Generation 2, попередньо варто подбати про створення резервної копії робочої ВМ. Просто і зручно це можна зробити наприклад за допомогою System Center 2012 R2 Data Protection Manager (DPM) ...

Як каже один мій знайомий в таких випадках "Тиха українська ніч, але сало треба переховати".

Перетворення в віртуальну машину другого покоління будемо проводити за допомогою відомого PS-скрипта Hyper-V generation 2 VM conversion utility (Convert-VMGeneration) . Якщо говорити спрощено, то принцип роботи даного скрипта полягає в тому, що він нову віртуальну машину другого покоління з новим віртуальним дисків, на який клонує копію основного системного розділу з вихідного віртуального диска ВМ G1 і створює додаткові розділи необхідні для завантаження ВМ G2. Таким чином, вихідна віртуальна машина першого покоління залишається незайманою, і якщо в процесі конвертації G1> G2 виникнуть труднощі непереборного характеру, то нам ніхто не заважає продовжити використання вихідної віртуальної машини.

Отже, завантажуємо і копіюємо скрипт Convert-VMGeneration.ps1 на хост віртуалізації, де в даний момент працює наша віртуальна машина.

Перед початком конвертації ще раз переконаємося в тому, що на диску з профілями користувачів (як правило це диск C: \) достатньо місця для створення тимчасової копії віртуального диска ВМ (в процесі конвертації буде встановлено тимчасову wim-образ в каталозі% LOCALAPPDATA% \ Temp )

Додатково переконаємося в тому, що всередині віртуальної машини виключена підтримка середовища відновлення WinRE (вимога автора скрипта конвертації). Зробити це можна консольної командою:

reagentc

/ disable

Вимкнемо віртуальну машину.

Запустимо на хості віртуалізації скрипт конвертації:

. \ Convert-VMGeneration.ps1 -VMName "KOM-DC01" -Path "D: \"

Як бачимо, перша спроба запуску скрипта завершується помилкою.

Проблема полягає в тому, що в поточній конфігурації віртуальна машина має два різних віртуальних диска для двох логічних розділів.

Проблема полягає в тому, що в поточній конфігурації віртуальна машина має два різних віртуальних диска для двох логічних розділів

На першому диску (Disk 0) міститься інформація необхідна для завантаження ОС, але не міститься самої ОС. При цьому скрипт намагається використовувати для конвертації саме цей диск. Так як в результаті роботи скрипта завантажувальний розділ фактично буде створено заново, ми можемо спробувати видалити наявний завантажувальний диск. Для цього вимкнемо віртуальну машину і видалимо з конфігурації ВМ перший віртуальний диск, який має мітку тому в віртуальної ОС "System Reserved" (диск об'ємом приблизно в 350MB).

Для цього вимкнемо віртуальну машину і видалимо з конфігурації ВМ перший віртуальний диск, який має мітку тому в віртуальної ОС System Reserved (диск об'ємом приблизно в 350MB)

Тобто ми залишимо у властивостях ВМ тільки один диск, той на якому розташована гостьова ОС Windows Server 2012 R2. Після цих змін не потрібно намагатися запустити віртуальну машину (з цього все одно не вийде нічого хорошого), а відразу пробуємо виконати скрипт конвертації:

. \ Convert-VMGeneration.ps1 -VMName "KOM-DC01" -Path "D: \" -IgnoreWinRE

Ключ IgnoreWinRE тут доданий для того, щоб уникнути повідомлення після якого перетворення припинялося з помилкою (незважаючи на те, що в гостьовій ОС підтримка WinRE вимкнена):

WinRE is configured. Run reagentc / disable inside guest first, or use IgnoreWinRE parameter
Completed with error. Trace status code 700

Після початку роботи скрипта конвертації нам буде задано страхітливе попередження про те, всі дані на одному з дисків доступних на поточний момент в хостовой системі будуть знищені. Позитивну відповідь на увазі продовження роботи скрипта:

Перш, ніж натиснути Yes, відкриємо на хості віртуалізації оснащення управління дисками і переконаємося в тому, що в системі з'явився новий віртуальний диск, який змонтований під порядковим номером зазначеним у повідомленні скрипта (в нашому прикладі це Disk 7). Це і є той новий віртуальний диск, який створений скриптом конвертації, для клонування на нього вихідного віртуального диска (він також змонтований скриптом в нашому прикладі як Disk 6)

Отже, після натискання Yes в буде вироблено клонування даних з одного віртуального диска на інший з додаванням додаткових розділів, необхідних для ВМ другого покоління.

Отже, після натискання Yes в буде вироблено клонування даних з одного віртуального диска на інший з додаванням додаткових розділів, необхідних для ВМ другого покоління

Після закінчення роботи скрипта відповідні розділи будуть автоматично отмонтировать

Після закінчення роботи скрипта відповідні розділи будуть автоматично отмонтировать

При необхідності перейменуємо вихідну віртуальну машину першого покоління ...

При необхідності перейменуємо вихідну віртуальну машину першого покоління

Перевіримо конфігурацію новоствореної віртуальної машини другого покоління.

Як і раніше, перед першим запуском відключимо про всяк випадок віртуальний мережевий адаптер від віртуального комутатора Hyper-V. Після спробуємо запустити віртуальну машину. На перший запуск піде якийсь час, так як гостьова система знову повинна оновити інформацію про обладнання.

Якщо гостьова ОС завантажилася успішно, аутентіфіціруемся в ній і перевіримо настройки мережевої карти. Вони повинні бути збережені. Якщо все в порядку, у властивостях віртуальної машини повернемо доступ мережевого адаптера до віртуального комутатора і знову перезавантажити віртуальну машину. На даному етапі наш віртуальний сервер буде завантажений вже повністю в продуктивному вигляді і його сервіси стануть доступні з мережі.

Тепер можна спокійно видалити стару віртуальну машину (в нашому випадку це вихідна ВМ, раніше перейменована в KOM-DC01-OLD) покоління G1 і перенести готову ВМ G2 в кластер, якщо він використовується.

При необхідності можна включити вимкнений до конвертації в G2 WinRE

reagentc

/ enable

Видалення неіснуючих пристроїв з ОС віртуальної машини

На поточний момент наш віртуальний сервер вже є віртуальною машиною Hyper-V другого покоління. Завершальним важливим дією є видалення з гостьової ОС всіх старих пристроїв-"фантомів" та належних до них драйверам за допомогою утиліти керування пристроями (Device Manager).

І знову ж таки, перед маніпуляціями з диспетчером пристроїв бажано створити резервну копію віртуальної машини на DPM.

Видаляти старі пристрої будемо описаним раніше методом.

Встановлюємо системну змінну для включення відображення пристроїв-привидів в оснащенні управління пристроями і наступною командою (не закриваючи вікна командного рядка) запускаємо оснащення:

set

devmgr_show_nonpresent_devices = 1 start devmgmt.msc

У відкритій оснащенні в меню View вибираємо пункт "Show hidden devices" ... У відкритій оснащенні в меню View вибираємо пункт Show hidden devices

Розгортаємо кожен вузол типів пристроїв і видаляємо всі пристрої відображаються як неактивні.

В процесі видалення деяких пристроїв може бути доступна опція видалення драйвера пристрою "Delete the driver software for this device". Так як ці драйвери більш не потрібні в гостьовій віртуальної системі, можна включати ради опцію.

По завершенню перезавантажуємо гостьову ОС віртуальної машини, щоб переконатися в тому, що вона успішно стартує і працює.

***

На цьому етапі можна сказати, що роботи по конвертації фізичного контролера домену на базі Windows Server 2012 R2 в віртуальну машину Hyper-V Generation 2 завершені і тепер, все що нам залишається зробити - переконатися в працездатності прикладної частини віртуального сервера, наприклад перевірити стан ролі контролера домену за допомогою таких інструментів як DCDIAG.

схоже

Новости