Hyper-V
Hyper-V, кодова назва Viridian[1] (також відомий як Windows Server Virtualization) — це вбудований гіпервізор, який здатен створювати віртуальні машини в системах під керуванням ОС Windows. Hyper-V прийшов на заміну Windows Virtual PC починаючи з Windows 8. Серверний комп'ютер на якому запущено Hyper-V може бути налаштований як декілька віртуальних серверів, на кожному з яких буде функціонувати своя операційна система і різні додатки. Hyper-V вперше з'явився в Windows Server 2008 в 64-бітній версії. Автономний сервер Microsoft Hyper-V Server є безкоштовним, однак постачається без GUI, керування відбувається з командного рядка. ІсторіяБета-версія Hyper-V була включена в деякі версії Windows Server 2008 x64. Фінальна версія була випущена 26 червня 2008 року та розповсюджувалась через Windows Update. З тих пір Hyper-V випускають з кожною версією Windows Server. Hyper-V поширюється в двох варіантах:
Hyper-V Server1 жовтня 2008 року на конференції «Technologies to Change Your Business» (укр. Технології для зміни вашого бізнесу) в Лондоні генеральний директор Microsoft Стів Балмер оголосив про реліз Hyper-V Server 2008. Він включав Windows Server 2008 Server Core і Hyper-V ролі; інші ролі Windows Server 2008 відключені, а служби Windows обмежені. Налаштування ОС, фізичного обладнання та програмного забезпечення виконуються через інтерфейс командного рядка. Підтримується віддалений доступ через підключення до віддаленого робочого стола. Адміністрування та конфігурація ОС і гостьових віртуальних машин, як правило, виконуються через мережу, використовуючи або Консоль керування Microsoft на іншому комп'ютері з Windows, або System Center Virtual Machine Manager. Це дозволяє набагато простіше налаштовувати, а також контролювати Hyper-V Server. АрхітектураHyper-V реалізує ізоляцію віртуальних машин з точки зору розділу. Розділ є логічною одиницею ізоляції, що підтримується гіпервізором, в якому виконується кожна гостьова операційна система. Гіпервізор обов'язково має принаймні один батьківський розділ, який запускає підтримувану версію Windows Server (2008 та пізнішої версії) або Windows 8 (та пізніші). Програмне забезпечення віртуалізації працює у батьківському розділі та має прямий доступ до апаратних пристроїв. Батьківський розділ створює дочірні розділи, на яких розміщуються гостьові ОС. Батьківський розділ створює дочірні розділи за допомогою Hypercall API, який є інтерфейсом прикладного програмування, що надається Hyper-V. Hypercall API надає методи за допомогою яких батьківські розділи обмінюються даними з дочірніми. Дочірній розділ не має доступу до фізичного процесора, а також не обробляє його реальні переривання. Замість цього він має віртуальне представлення процесора і виконується в Гостьовій віртуальній адресі (англ. Guest Virtual Address), який, в залежності від конфігурації гіпервізора, може бути не обов'язково неперервним віртуальним адресним простором. Гіпервізор обробляє переривання процесора і перенаправляє їх до відповідного розділу за допомогою логічного Контролера синтетичних переривань (англ. Synthetic Interrupt Controller або SynIC). Апаратне забезпечення Hyper-V може прискорити трансляцію адрес гостьових віртуальних адресних просторів за допомогою Second Level Address Translation (SLAT), наданого процесором, який називається EPT в Intel та RVI (раніше NPT) в AMD. З приходом Windows Server 2016 для використання ролі Hyper-V підтримка процесором SLAT є обов'язковою (раніше це була лише рекомендація). Дочірні розділи не мають прямого доступу до апаратних ресурсів, вони мають віртуальний вигляд ресурсів з точки зору віртуальних пристроїв. Будь-який запит на віртуальні пристрої переадресовується через VMBus, який керує запитами, на пристрої батьківського розділу. VMBus є логічним каналом, який забезпечує взаємодію між розділами. Відповідь також перенаправляється через VMBus. Якщо пристрої у батьківському розділі також є віртуальними пристроями, вони будуть перенаправлені далі, поки не досягнуть батьківського розділу, де буде отримано доступ до фізичних пристроїв. Батьківські розділи запускають Virtualization Service Provider (VSP), який підключається до VMBus і обробляє запити доступу до пристроїв з дочірніх розділів. Віртуальні пристрої дочірнього розділу запускають Virtualization Service Client (VSC), який перенаправляє запит до VSP у батьківському розділі через VMBus. Весь цей процес є прозорим для гостьової ОС. Віртуальні пристрої також підтримують технологію Windows Server Virtualization, що називається прогресивне введення-виведення (англ. Enlightened I/O), для накопичувачів, мережевих та графічних підсистем, зокрема. Enlightened I/O — це спеціалізована реалізація протоколів зв'язку високого рівня для віртуалізації, подібна SCSI, що дозволяє обходити будь-який шар емуляції пристроїв і працювати з VMBus безпосередньо. Це робить комунікацію більш ефективною, але вимагає, щоб гостьова ОС підтримувала Enlightened I/O. Наразі Enlightened I/O підтримують такі операційні системи, що дозволяє їм працювати швидше як гостьові операційні системи під Hyper-V, в порівнянні з іншими ОС, яким потрібна більш повільна емуляція апаратного забезпечення:
Системні вимогиРоль Hyper-V доступна лише у варіантах x86-64 Standard, Enterprise, Datacenter і Essentials випусків Windows Server 2008 і пізніших версій, а також випуски Windows 8 і пізніші версій Pro, Enterprise і Education. На Windows Server він може бути встановлений незалежно від того, чи є установка повною або базовою. Крім того, Hyper-V може бути доступним як частина операційної системи Hyper-V Server, яка є безкоштовним випуском Windows Server. У будь-якому випадку, хост-комп'ютер повинен відповідати наступним вимогам:
Обсяг пам'яті, призначений для віртуальних машин, залежить від операційної системи:
Кількість ЦП, призначених для кожної віртуальної машини, також залежить від ОС:
Існує також обмеження на кількість одночасно активних віртуальних машин:
Підтримка LinuxУ вересні 2020 року у LKML з'явилася перша серія патчів, що дозволяє роботу Hyper-V лише з операційною системою Linux.[13] Основною причиною запропонованої підтримки є те, що більшість віртуальних машин у хмарному сервісі Microsoft Azure працює саме під Linux. Див. такожПримітки
Посилання |