Архітектура Hyper-V
Hyper-V – це технологія віртуалізації на базі низькорівневої оболонки (або інакше "гіпервізора") для окремих 64-розрядних версій Windows. Гіпервізор є ключовим компонентом технології віртуалізації. Це процесор-залежна платформа віртуалізації, що дозволяє кільком ізольованим операційним системам використовувати загальну апаратну платформу.
Hyper-V підтримує ізоляцію за розділами. Розділ – це логічна одиниця ізоляції, підтримувана гіпервізором, у якому працюють операційні системи. У гіпервізора Майкрософт повинен бути принаймні один кореневий (або по-іншому "батьківський") розділ під керуванням Windows. Стек віртуалізації запускається в батьківському розділі і має прямий доступ до апаратних пристроїв. Потім кореневий розділ породжує дочірні розділи, у яких розташовуються гостьові ОС. Кореневий розділ створює дочірні за допомогою API-інтерфейсу гіпердзвінка.
У розділах немає доступу до фізичного процесора і вони не обробляють переривання процесора. Натомість вони мають віртуальне уявлення процесора і виконуються у віртуальному адресному просторі, яке є приватним кожному за гостьового розділу. Гіпервізор керує перериваннями процесора та перенаправляє їх у відповідний розділ. Крім того, Hyper-V може апаратним чином прискорювати перетворення адрес між різними гостьовими віртуальними адресними просторами за допомогою модуля управління введенням/виводом пам'яті (IOMMU, Input Output Memory Management Unit), який працює незалежно від апаратного управління пам'яттю, використовуваного процесором.Модуль IOMMU використовується для зміни зіставлення адрес фізичної пам'яті з адресами, які використовують дочірні розділи.
Дочірні розділи також не мають прямого доступу до інших апаратних ресурсів обладнання і мають віртуальне представлення ресурсів у вигляді віртуальних пристроїв (VDev). Запити до віртуальних пристроїв перенаправляються через шину VMBus або через гіпервізор до пристроїв, які знаходяться в батьківському розділі, який обробляє ці запити. VMBus — це логічний канал, яким здійснюється взаємодія між розділами. У батьківських розділах знаходяться постачальники служб віртуалізації (VSP, Virtualization Service Provider), які підключаються до шини VMBus та обробляють запити на доступ до пристроїв від дочірніх розділів. У дочірніх розділах знаходяться клієнти служб віртуалізації (VSC, Virtualization Service Client), які перенаправляють запити пристроїв через VMBus шину до постачальників VSP батьківського розділу. Цей процес прозорий для гостьової ОС.
Віртуальні пристрої також можуть використовувати функцію віртуалізації Windows Server під назвою Enlightened I/O для підсистем зберігання, мережі, графічної підсистеми та підсистеми введення. Enlightened I/O - це спеціалізована, орієнтована на віртуалізацію реалізація протоколів зв'язку високого рівня (наприклад SCSI), які використовують шину VMBus безпосередньо, в обхід рівня емуляції пристроїв. Це забезпечує більш ефективну взаємодію, але потребує наявності гостьової системи з підтримкою Enlightened I/O, яка знає про гіпервізор та VMBus Технологія Hyper-V Еnlightened I/O та ядро з підтримкою визначення гіпервізора надаються при встановленні компонентів інтеграції Hyper-V.Компоненти інтеграції, до яких належать драйвери клієнта віртуальних серверів (VSC), також доступні іншим клієнтським операційним системам. Для Hyper-V необхідний процесор із підтримкою апаратної віртуалізації, реалізованої в таких технологіях, як Intel VT або AMD Virtualization (AMD-V).
На наступній схемі представлено загальний огляд архітектури середовища Hyper-V.
Глосарій
- APIC, Advanced Programmable Interrupt Controller - Поліпшений програмований контролер переривань. Пристрій, що дозволяє призначати рівні пріоритетів відповідним висновкам щодо переривань.
- Дочірній розділ - Розділ, в якому розміщується гостьова операційна система. Доступ до фізичної пам'яті та пристроїв дочірній розділ здійснює через шину віртуальної машини (VMBus) або гіпервізор.
- Гіпервиклик - Інтерфейс для зв'язку з гіпервізором. Інтерфейс гіпердзвінка забезпечує доступ до оптимізації, що надається гіпервізором.
- Гіпервізор — це програмний рівень, розташований між обладнанням та однією або декількома операційними системами. Його основним завданням є надання ізольованих середовищ виконання, які називаються розділами. Гіпервізор управляє доступом до базового обладнання та визначає його пріоритет.
- IC, Integration component - Компонент інтеграції. Компонент, що забезпечує взаємодію дочірніх розділів з іншими розділами та гіпервізором.
- Стек введення-виводу - стека введення-виведення.
- MSR, Memory Service Routine - Процедура служби пам'яті.
- Кореневий розділ - Іноді званий батьківським розділом. Керує функціями на рівні машини, наприклад драйверами пристроїв, живленням та гарячим підключенням/вимкненням пристроїв.Кореневий (або батьківський) розділ є єдиним розділом, який має прямий доступ до фізичної пам'яті та пристроїв.
- VID, Virtualization Infrastructure Driver - Драйвер інфраструктури віртуалізації. Надає розділи служби керування розділами, служби керування віртуальними процесорами та служби керування пам'яттю.
- VMBus - канальний механізм взаємодії, що використовується для взаємодії між розділами та перерахування пристроїв у системах з кількома активними віртуалізованими розділами. VMBus встановлюється із службами інтеграції Hyper-V.
- VMMS, Virtual Machine Management Service - Служба управління віртуальними машинами. Відповідає за керування станом усіх віртуальних машин у дочірніх розділах.
- VMWP, Virtual Machine Worker Process - Робочий процес віртуальної машини. Користувальницький компонент стека віртуалізації. Робочий процес надає служби керування віртуальною машиною з екземпляра Windows Server 2008 у батьківському розділі гостьовим операційним системам у дочірніх розділах. Служба управління віртуальними машинами створює окремий робочий процес кожної запущеної віртуальної машини.
- VSC, Virtualization Service Client - Клієнт служби віртуалізації. Примірник синтетичного пристрою, який знаходиться в дочірньому розділі. Клієнти VSC використовують апаратні ресурси, які надаються постачальниками служб віртуалізації (VSP) у батьківському розділі. Вони взаємодіють із відповідними постачальниками VSP у батьківському розділі через шину VMBus для задоволення запитів введення-виведення на пристрій дочірніх розділів.
- VSP, Virtualization Service Provider - Постачальник служб віртуалізації.Розміщується у кореневому розділі та забезпечує підтримку синтетичних пристроїв для дочірніх розділів через шину віртуальної машини (VMBus).
- WinHv, Windows Hypervisor Interface Library - Бібліотека інтерфейсу гіпервізора Windows. Бібліотека WinHv є важливою сполучною ланкою між драйверами операційної системи в розділі та гіпервізором, що дозволяє драйверам звертатися до гіпервізору, використовуючи стандартні правила виклику у Windows.
- WMI, Windows Management Instrumentation — служба керування віртуальною машиною надає API-інтерфейси на основі інструментарію керування Windows (WMI) для керування віртуальними машинами.
Як працює Hyper V у системі Windows – функції та можливості віртуальної машини
Багато людей цього не знають: Windows 10 поставляється з потужною платформою віртуалізації – Hyper-V, яка тягне за собою примарне існування поряд з Virtualbox і Vmware Workstation Pro.
Як і у конкурентів, за допомогою Hyper-V ви запускаєте гостьову систему як віртуальну машину у віконному режимі - завжди в ізольованому середовищі. Таким чином, зміни усередині віртуальної машини Hyper-V не впливають на Windows як хост-систему. Це особливо корисно для тестових середовищ. Це означає, що ви можете безпечно експериментувати із програмним забезпеченням на віртуальному ПК та виконувати фінансові операції ізольовано.
На відміну від Virtualbox та програм VmWare, Hyper-V від Microsoft призначений для гостьових операційних систем Windows, хоча ви також можете використовувати низку дистрибутивів Linux.
Що відрізняє Hyper-V від Virtualbox та VmWare
Загалом, Hyper-V має ті ж функції, що й інструменти віртуалізації Virtualbox, VmWare Workstation Pro та VmWare Player. Кожна віртуальна машина Hyper-V працює ізольовано і, отже, може призвести до збою всієї системи (гіпервізора) у разі власного збою. Знімки можна використовувати для збереження поточного стану у віртуальному середовищі та повернення системи до попереднього стану в пізніший час. Для жорстких віртуальних дисків, які можна легко створити об'ємом більше 2 ТБ, Hyper-V використовує формат VHDX.
Технологія Hyper-V заснована на функціях віртуалізації процесорів x64 від Intel та AMD. Тому – і в цьому Hyper-V відрізняється від Virtualbox та Vmware – для Hyper-V абсолютно необхідні відповідний 64-бітний процесор та 64-бітна версія Windows.
Hyper-V також вимогливий до пам'яті. Для активації середовища віртуалізації потрібно щонайменше 4 ГБ ОЗУ. Однак, динамічне керування пам'яттю є однією з особливостей Hyper-V: віртуальним машинам завжди виділяється рівно стільки оперативної пам'яті, скільки зараз необхідно.
Виділення пам'яті обмежене лише максимальним розміром, встановленим користувачем. Ще одне обмеження: Hyper-V доступний лише у Windows Pro та Enterprise, але не в Windows 10 Home.
Щоб перевірити системні вимоги, відкрийте програму «Параметри» за допомогою комбінації клавіш Win+I і перейдіть до Система → Про систему. Або клацніть правою кнопкою миші кнопку «Пуск», а потім виберіть пункт контекстного меню «Система». Відповідну інформацію про операційну систему можна знайти у розділі «Характеристики Windows».
Якщо Hyper-V неможливо активувати у Windows, незважаючи на те, що на вашому головному комп'ютері виконуються достатні апаратні та системні вимоги, функція віртуалізації процесора може бути вимкнена в BIOS.У деяких комп'ютерних системах ця функція вимкнена. Однак, для Hyper-V потрібна підтримка функцій апаратної віртуалізації Intel VT або AMD-V відповідного процесора.
Для перевірки перезавантажте комп'ютер і увійдіть до BIOS за допомогою функціональної клавіші, що відображається на екрані. Потім знайдіть у меню BIOS відповідний запис Intel VT або AMD-V. Зазвичай її можна знайти у пункті меню, як «Додаткові функції CPU». Активуйте функцію віртуалізації, збережіть налаштування та перезавантажте комп'ютер. Однак підтримка старих моделей процесорів і материнських плат може бути відсутнім.
Встановіть Hyper-V та настройте параметри за замовчуванням
Перш ніж ви зможете використовувати функції віртуалізації Hyper-V у Windows, необхідно вибрати та встановити відповідні компоненти. Це робиться протягом кількох хвилин.
Хоча Hyper-V є фундаментальною частиною Windows Pro та Enterprise, він не встановлюється автоматично. Попередньо необхідно активувати необхідні компоненти.
Для цього введіть Увімкнення або вимкнення компонентів Windows у полі введення пошуку поряд із меню «Пуск». З'явиться нове вікно зі списком, які компоненти Windows вже встановлені, які ще можна встановити. Знайдіть у списку Hyper-V і поставте навпроти нього галочку.
Два підпункти «Платформа Hyper-V» та «Інструменти керування Hyper-V» разом із відповідними компонентами застосовуються автоматично. Підтвердьте зміну, натиснувши OK . Після невеликого очікування, Windows попросить перезавантажити комп'ютер. Під час перезавантаження Hyper-V буде налаштовано.
Потім вам потрібно вказати налаштування віртуальної мережної картки.Це дозволяє контролювати, як віртуальним ПК у Hyper-V дозволено доступ до мережі і, отже, до підключення до Інтернету.
Для цього запустіть диспетчер Hyper-V зі списку програм у меню «Пуск». Інтерфейс користувача з вікном, розділеним на три колонки, здається незвичайним. Спочатку натисніть на ім'я Windows комп'ютера ліворуч. Зазвичай, це єдиний запис у розділі «Диспетчер Hyper-V». Потім натисніть «Диспетчер віртуальних комутаторів» у стовпці «Дії» у крайньому правому кутку. Відкриється ще одне вікно, де ви зможете налаштувати віртуальну мережеву карту.
Щоб віртуальні ПК могли обмінюватися даними без обмежень, виберіть параметр «Зовнішній». Підтвердьте дію, натиснувши Створити віртуальний комутатор , введіть ім'я та завершіть процес, натиснувши OK . Мережеве з'єднання тепер буде ненадовго перервано.
Управління доступом до мережі в Hyper-V
При налаштуванні доступу до мережі Hyper-V через віртуальний комутатор є три налаштування:
- Внутрішній: якщо вибрати цей параметр, віртуальний ПК не має доступу до Інтернету. На реальному ПК (хост-ПК) дозволено лише зв'язок між усіма запущеними віртуальними комп'ютерами та підключення до хост-ПК. У режимі «Внутрішній» віртуальні машини не можуть взаємодіяти із зовнішньою мережею, але утворюють власну мережу разом із хост-комп'ютером.
- Зовнішній: віртуальний ПК поводиться як справжній комп'ютер у локальній мережі з власною IP-адресою. Він має прямий доступ до мережі, а отже, і до Інтернету. Також можливий зв'язок між хост-комп'ютером та віртуальною машиною. Примітка. У диспетчері Hyper-V можна створити лише одну зовнішню мережу для кожної доступної мережевої карти, але потім призначити в цю мережу декільком віртуальним ПК.
- Приватний: цей параметр дає змогу здійснювати зв'язок між окремими віртуальними машинами на головному комп'ютері за допомогою Hyper-V.
Створіть віртуальний ПК за допомогою диспетчера Hyper-V
Нова віртуальна машина налаштовується у правому стовпці, натиснувши «Швидко створити» та «Створити → Віртуальна машина». Помічник почне проводити вас через налаштування. Натисніть кнопку «Далі» у наступному вікні, введіть ім'я віртуального ПК з Windows. місці», ви зможете вказати диск та папку, в якій будуть зберігати дані віртуального ПК. Натисніть «Далі» та прийміть «Покоління 1» за промовчанням, натиснувши «Далі».
Потім ви визначаєте, скільки пам'яті має бути доступне віртуальній машині. Для більшості версій Windows початковим значенням є 4096 МБ. . Це означає, що віртуальні ПК, які не використовують усю виділену ним оперативну пам'ять, ділять пам'ять, що залишилася один з одним.
На наступній сторінці майстра виберіть мережу, яку ви створили для віртуальних ПК. Натисніть «Далі», щоб налаштувати віртуальний жорсткий диск. .
У наступному вікні майстра ви визначаєте, як потрібно встановити операційну систему для віртуальної машини. Зазвичай використовують опцію «Встановити операційну систему із завантажувального CD/DVD-ROM», а потім вибирають «Фізичний привід CD/DVD» або «Файл образу (ISO)» – залежно від того, чи є у вас інсталяційний CD/DVD або хочете використовувати ISO-образ для встановлення. Завершіть процес, натиснувши «Далі» та «Готово».
Налаштуйте гостьову систему: щоб запустити віртуальний комп'ютер, виберіть віртуальну машину в крайньому правому куті диспетчера Hyper-V у розділі "Дії". Потім натисніть команду меню «Пуск». Щоб підключитися до віртуальної машини, у диспетчері Hyper-V натисніть кнопку «Підключитися» в області меню віртуальної машини. Тепер починається налаштування операційної системи. Ви також можете використовувати область "Дії", щоб пізніше вимкнути систему та назавжди зберегти стан системи.
Подробиці конфігурації віртуального ПК можна вказати на панелі «Дії» за допомогою команди «Параметри». Тут ви вказуєте, наприклад, кількість процесорів, ОЗУ, налаштування BIOS та інтерфейси.
Збереження стану системи віртуального ПК
За допомогою контрольної точки – того, що Microsoft називає миттєвими знімками – Hyper-V зберігає стан кожного віртуального диска, пов'язаного з віртуальною машиною, а також весь вміст диска, включаючи файли програм. За допомогою такої контрольної точки можна відновити віртуальну машину до попереднього стану – будь-які зміни, внесені за цей час, будуть скасовані.
Створити контрольну точку можна швидко: натисніть "Контрольна точка" на панелі дій диспетчера Hyper-V праворуч.Після створення контрольних точок ви можете виконувати додаткові дії з керування ними. Дія «Повернення» відновлює віртуальну машину до стану, у якому було створено контрольну точку.
Вам слід використовувати контрольні точки щоразу, коли ви оновлюєте операційну систему або програму або перед зміною конфігурації віртуальної машини. Для віртуального ПК можна створити кілька контрольних точок. Однак, контрольні точки займають місце на диску, і в міру того, як з часом створюється більше контрольних точок, продуктивність віртуального ПК може знижуватися під час роботи. Тому бажано регулярно видаляти непотрібні контрольні точки.