Hyper-V в Windows 81 (частина 3).
Продовжуємо розкривати тему клієнтського Hyper-V в Windows 8.1. Минулого разу ми розгорнули віртуальну машину і справили її базове налаштування. І оскільки Hyper-V має досить широкі можливості по налаштуванню віртуальних машин, то сьогодні ми розглянемо параметри ВМ більш грунтовно, звернувши увагу на деякі цікаві можливості.
Виробляти настройку віртуальної машини можна як до, так і після установки операційної системи. Також перед тим, як приступати до налаштування, варто мати на увазі, що деякі операції - додавання пристроїв, зміна налаштувань пам'яті, процесора і т.п, можуть бути недоступні на працюючій ВМ.
Для зміни параметрів відкриваємо Hyper-V Manager, вибираємо віртуальну машину, натискаємо на ній правою клавішею миші і вибираємо пункт меню «Параметри».
обладнання
На вкладці «Установка устаткування» ми можемо додати віртуальній машині додатковий SCSI-контролер, а також мережевий або Fibre Channel адаптер.Для ВМ першого покоління при необхідності завантаження по мережі можна додати застарілий (legacy) мережевий адаптер.
на вкладці BIOS (у ВМ першого покоління) можна змінити порядок завантаження віртуальної машини. Так наприклад, для завантаження з дискети вибираємо відповідний пункт і кнопкою «Вгору» піднімаємо його вище за інших.
У ВМ другого покоління замість BIOS використовується UEFI, а відповідна вкладка називається Вбудоване ПЗ (Firmware) . У другому поколінні ВМ не використовуються legacy пристрою, і для завантаження можна вибрати звичайний мережевий адаптер або SCSI-диск, а також включити механізм безпечного завантаження (Secure Boot).
Налаштування пам'яті
Вкладка «Пам'ять» відповідає за настройки оперативної пам'яті. Тут є два варіанти настройки.
Якщо не зазначено чекбокс «Увімкнути динамічну пам'ять», то віртуальній машині при старті виділяється фіксований обсяг пам'яті, вказаний в пункті «ОЗУ для запуску».Цей обсяг незмінний і не залежить від споживання пам'яті всередині ВМ.
Якщо ж включено використання динамічної пам'яті, то обсяг пам'яті віртуальної машини визначається вже не одним параметром, а кількома:
• ОЗУ для запуску - визначає обсяг пам'яті, необхідний віртуальній машині для старту.Якщо на хості не буде відповідного обсягу ОЗУ, то машина не стартує;
• Мінімальний обсяг ОЗУ - задає мінімальний обсяг пам'яті, який можна виділити машині. Мінімальний обсяг може бути менше, ніж обсяг для запуску, що дозволяє після старту забрати у машини невикористану пам'ять;
• Максимальний обсяг ОЗУ - задає максимальний обсяг пам'яті, який може бути виділений віртуальній машині.
Використання динамічної пам'яті дозволяє більш гнучко управляти розподілом пам'яті. Наприклад, для гарантованого запуску машині можна виділити 4 ГБ пам'яті, а на випадок бездіяльності задати мінімум в 512 МБ. До речі, максимальний і мінімальний обсяг пам'яті можна змінювати на живу, прямо в процесі роботи ВМ.
І додатково можна задати:
• Буфер пам'яті - параметр, призначений для того, щоб тримати певний обсяг пам'яті вільним, на випадок незапланованих навантажень. Наприклад, якщо буфер дорівнює 20% - система завжди буде намагатися забезпечити, щоб у віртуальної машини було вільно не менше 20% пам'яті.Значення буфера задається у відсотках і залежить від поточного споживання пам'яті;
• Вага пам'яті - визначає пріоритет віртуальної машини при розподілі пам'яті. У разі нестачі пам'яті система відбирає пам'ять у віртуальних машин з найменшим пріоритетом, і віддає тим, у кого пріоритет найбільш високий.
Примітка. Нагадаю, що механізм динамічного виділення пам'яті забезпечується сервісами інтеграції, встановленими в гостьовій ОС. Крім того, цей режим може підтримуватися не в усіх операційних системах. Ну і якщо цікаво, то більш детальну інформацію про роботу динамічної пам'яті можна дізнатися з цієї статті.
Налаштування процесора
Далі йде вкладка «Процесор». Тут ми можемо вказати кількість віртуальних процесорів, що виділяються цієї ВМ. В якості віртуального процесора може виступати або фізичне ядро процесора, або обчислювальний потік (при використанні Hyper-Threading).Hyper-V дозволяє виділити до 64 процесорів для однієї ВМ. Також зверніть увагу на поле «Відсоток від загального обсягу системних ресурсів», в якому відображається відсоток від загальної процесорної потужності, виділений даної ВМ. У моєму випадку це одне ядро чотирьох ядерного процесора, що становить 25% від загальної потужності.
Треба сказати що Hyper-V досить економно використовує обчислювальні потужності, тому виділені одній машині ядра можуть одночасно використовуватися і іншими машинами. При наявності вільних ресурсів процесора система динамічно розподіляє їх між віртуальними машинами в залежності від навантаження.Також на випадок нестачі ресурсів є деякі додаткові настройки:
• Резерв для віртуальних машин - задає відсоток ресурсів, зарезервований за віртуальною машиною. При нестачі ресурсів процесора, тобто коли фізичний процесор завантажений на 100%, ті з віртуальних машин, у яких заданий цей параметр, повинні гарантовано отримати свій резерв;
• Межа для віртуальних машин - цей параметр жорстко обмежує відсоток споживання ресурсів процесора віртуальної машиною.Задавши значення межі ми говоримо, що віртуальна машина ні за яких умов не може використовувати більше процесорної потужності, ніж їй дозволено. Межа задається на кожен віртуальний процесор окремо, наприклад можна виділити машині 1 процесор і задати ліміт 50% від його потужності;
• Відносна вага - визначає пріоритет ВМ при розподілі ресурсів і представляє з себе безрозмірну величину в межах від 0 до 10000.Вага грає роль тільки в разі нестачі процесорних ресурсів. Чим більше вага - тим вище пріоритет і тим більше ресурсів повинна отримати машина. Майте на увазі, що на відміну від резерву вага зовсім не гарантує отримання необхідних ресурсів, а лише підвищує шанси на їх отримання.
Також в настройках процесора можна перейти на вкладку "Сумісність" і поставити галочку у відповідному чекбокс. Це кілька обмежить можливості процесора, але дасть можливість перенести віртуальну машину на комп'ютер з іншим типом процесора, наприклад з Intel на AMD.
Налаштування дискової підсистеми
Як і в звичайних комп'ютерах, у віртуальних машин є контролери дисків IDE і SCSI . Оскільки це важливо, зупинимося на деяких їх відмінностях.
Контролер IDE є застарілим пристроєм і присутній тільки в ВМ першого покоління.Як і в залізному варіанті, віртуальний контролер IDE має два порти, по два канали на кожному, що дає можливість підключення всього 4 пристроїв. Контролер IDE не підтримує гарячу заміну, тому для операцій з IDE-дисками необхідно вимикання ВМ. У першому поколінні ВМ системний диск може бути підключений тільки до IDE контролера.
Віртуальний SCSI контролер є повністю синтетичним пристроєм. У ВМ першого покоління він може використовуватися для підключення дисків з даними (НЕ завантажувальних), а для другого покоління може використовуватися і для завантаження системи. SCSI контролер підтримує гарячу заміну дисків і дозволяє підключити до 64 пристроїв.
Для того, щоб підключити до ВМ віртуальний жорсткий диск або DVD вибираємо відповідний контролер, виділяємо потрібний пристрій і тиснемо «Додати».
Для підключення існуючого диска треба натиснути на кнопку «Огляд» і вибрати потрібний VHD-файл, або по кнопці «створити» створити порожній віртуальний диск з потрібними параметрами.Також тут можна перевірити властивості і відредагувати віртуальний диск, вже підключений до ВМ.
Також в Hyper -V є можливість підключити до будь-якого з контролерів у віртуальній машині фізичний жорсткий диск безпосередньо, минаючи основну систему. Для цього треба галочку у відповідному полі та вибрати зі списку диск.Для того, щоб цей вибір був доступний і диск з'являється в списку, він повинен бути підключений до системи і знаходиться в стані Offline. Майте на увазі, що підключений таким чином жорсткий диск стає недоступним для використання в основній системі.
також в додаткових властивостях диска є можливість включити управління якістю обслуговування і вказати для віртуального диска мінімальну та максимальну кількість дискових операцій (IOPS).Це дозволяє регулювати навантаження, створювану віртуальними машинами на дискову підсистему комп'ютера. Для орієнтиру наведу середні значення IOPS для різних типів дисків:
7200 об/хв SATA - 75-100 IOPS
10000 об/хв SATA - 125-150 IOPS
SSD SATA 3Гбіт/c - 8000-10000 IOPS
SSD SATA 6Гбіт/с - 60000-120000 IOPS
І ще одна цікава можливість, про яку варто згадати - це загальний доступ до віртуального жорсткого диска (Shared VHDX).Чисто теоретично ви можете взяти віртуальний SCSI-диск і підключити його одночасно до кількох віртуальних машин, отримавши таким чином загальне сховище. Це дуже зручно для так званої гостьової кластеризації, тобто створення кластерів з віртуальних машин. Чому теоретично - тому що в якості сховища для спільних віртуальних дисків може використовуватися або загальний кластерний ресурс (Cluster Shared Volume, CSV) або файлова кулі на відмовостійкість файловому сервері, яка також вимагає наявності CSV.Зберігання загальних дисків локально або на звичайній мережевий кулі не підтримується.
Налаштування мережі
Переходимо на вкладку «Мережевий адаптер» і приступаємо до налаштування мережевих параметрів. В основних налаштуваннях можемо отримати доступ до віртуальних комутатор, до якого підключений даний мережевий адаптер.Нагадаю, що у ВМ може бути кілька мережевих адаптерів, кожен з яких може бути підключений до різних віртуальним комутаторів. А при використанні VLAN-ів можна активувати їх підтримку і вказати для адаптера відповідний VLAN ID.
Крім того, для кожного віртуального мережевого адаптера можна включити управління пропускною спроможністю мережі і вказати мінімальні і максимальні значення.
Розкриваємо додаткові властивості мережевого адаптера і переходимо на вкладку «Апаратне прискорення». Тут є дві настройки, які допомагають прискорити обробку мережевого трафіку:
• Черга віртуальної машини (VMQ) - включення цієї настройки дозволяє перенести основне навантаження по обробці мережевих пакетів, адресованих віртуальній машині, з центрального процесора хостовой системи на процесор мережевого адаптера.Це можливо при апаратній підтримці VMQ мережним адаптером і встановлених в гостьовій ОС сервісах інтеграції.
• Розвантаження завдань IPSec (IPSec offload) - при використанні шифрування IPSec дозволяє перенести обробку трафіку з центрального процесора на мережевий адаптер хоста, знижуючи навантаження на процесор.Також вимагає апаратної підтримки з боку мережевого адаптера.
Потім йдемо на вкладку «Додаткові параметри», де нас чекає багато цікавих налаштувань:
• MAC-адресу - можемо залишити динамічний, на розсуд Hyper-V, або вказати вручну;
• Включити спуфинг MAC-адрес - включення цього пункту дозволяє підміну MAC -адреси в заголовку вихідних мережевих пакетів.За замовчуванням Hyper-V забороняє спуфинг MAC-адреси, і якщо ВМ намагається в вихідних пакетах підмінити MAC відправника (тобто свій) на інший MAC-адресу, то такі пакети блокуються. Дозвіл спуфинга може знадобитися наприклад для балансування мережного навантаження (NLB);
• Охоронець DHCP (DHCP Guard) - при використанні DHCP забезпечує віртуальній машині отримання IP адрес тільки від авторизованих DHCP-серверів;
• Захист оголошення маршруту (Router advertisement guard) - блокує пакети редиректу і отримання маршруту (router advertisement) від невідомих маршрутизаторів;
• Захищена мережа (Protected network) - ця установка забезпечує міграцію ВМ на інший вузол кластера при розриві з'єднання з мережею на даному віртуальному адаптер.Для забезпечення можливості міграції потрібно кластер Hyper-V, що можливо тільки в серверних ОС;
• віддзеркалення портів (Port mirroring) - за допомогою цього механізму можна здійснювати моніторинг трафіку віртуальної машини. Для настройки зеркалирования на одній ВМ, трафік якої буде аналізуватися, вибирається режим Джерело (Source), на другий, з якої буде здійснюватися моніторинг, ставиться режим Призначення (Destination).Після цього весь вхідний і вихідний трафік на порт джерела копіюється і перенаправляється на порт призначення, залишається тільки встановити необхідне програмне забезпечення для аналізу. Обов'язкова умова для віддзеркалення - обидві ВМ повинні бути підключені до одного віртуального свічу;
• Об'єднання мережевих карт (NIC Teaming) - технологія, що дозволяє об'єднати кілька фізичних адаптерів в групу, забезпечивши відмовостійкість і збільшення пропускної здатності.У Windows 8.1 немає можливості включити NIC Teaming на рівні хоста, і ця настройка дозволяє задіяти його на рівні віртуальної машини. Наприклад, якщо в ВМ є два віртуальних мережевих адаптера, підключених через два віртуальних комутатора типу External до двох різним фізичним мережевих адаптерів, то можна конфігурувати NIC Teaming всередині віртуальної машини.Для того, щоб Hyper-V розумів, що адаптери об'єднані в групу, і потрібно включити це налаштування у властивостях кожного віртуального адаптера, що входить в тімінг. Ця можливість працює лише в тому випадку, якщо в якості гостьової ОС використовується Windows Server 2012. Подробиці роботи та налаштування NIC Teaming в Windows Server 2012 описані тут.
Налаштування управління
Опускаємося нижче і переходимо до розділу «Управління». З цікавого тут варто заглянути в «Служби інтеграції» і подивитися, які служби доступні в віртуальній машині.
Онлайнові служби інтеграції являють собою сервіси, які запускаються в гостьовій системі і взаємодіють з хостом, забезпечуючи можливість завершення роботи ВМ з оснащення Hyper-V, синхронізацію часу з основною системою, перевірку працездатності машини (пульс), архівацію з використанням служби тіньового копіювання (VSS) та інші корисні речі.Для того, щоб використовувати ці можливості, служби інтеграції повинні бути встановлені в гостьовій операційній системі і цією системою підтримуватися.
Також ми можемо визначитися з тим, що повинно відбуватися з віртуальною машиною при включенні і виключенні комп'ютера.
Переходимо на вкладку «Автоматичне дію при запуску» і вибираємо одну з трьох дій:
• Нічого - в цьому випадку при старті комп'ютера машина залишиться виключеною незалежно від свого попереднього стану;
• запускати автоматично, якщо вона була запущена при зупинці служби - машина стартує автоматично тільки в тому випадку, якщо до виключення вона була запущена;
• Завжди запускати дану віртуальну машину автоматично - після старту комп'ютера машина запуститься автоматично в будь-якому випадку , незалежно від попереднього стану.
І якщо обраний автоматичний запуск, то можна вказати тимчасову затримку, яка повинна до старту ВМ. Ця затримка може знадобитися в тому випадку, якщо машини повинні стартувати не всі відразу, а в певній послідовності.
На вкладці «Автоматичне дію при завершенні» також вибираємо один з трьох варіантів:
• Зберігати стан віртуальної машини - при виключенні стан ВМ, включаючи вміст пам'яті, зберігається в файл.Відповідно при запуску віртуальна машина продовжить роботу рівно з того моменту, на якому була зупинена. Зверніть увагу, що для забезпечення цього режиму Hyper-V при старті ВМ резервує місце на диску, рівне об'єму оперативної пам'яті, що використовується цією машиною;
• Завершувати роботу віртуальної машини - при завершенні роботи комп'ютера виртуалка просто вимикається, т.е відбувається вимикання харчування за аналогією з фізичним комп'ютером;
• Завершувати роботу операційної системи на віртуальній машині - в цьому варіанті при виключенні комп'ютера відбувається штатний завершення роботи віртуальної машини. Для забезпечення цього режиму в віртуальній машині повинна бути встановлена і запущена відповідна служба інтеграції.
Налаштування за допомогою PowerShell
І зовсім небагато про PowerShel. За допомогою PowerShell можна виробляти все ті ж настройки, що і з графічної оснастки. Для прикладу виведемо стан віртуальної машини WKS82:
Get-VM -VMName WKS82
Зробимо налаштування процесора і пам'яті:
Get-VM -VMName WKS82 | Set-VM -ProcessorCount 2 -DynamicMemory -MemoryMinimumBytes 512MB -MemoryMaximumBytes 4096MB -MemoryStartupBytes 1024MB
І поставимо дії при включенні і виключенні комп'ютера:
Set-VM -Name WKS82 -AutomaticStopAction ShutDown - AutomaticStartAction StartIfRunning -AutomaticStartDelay 30
На цьому закінчимо з настройками.У наступній статті ми розглянемо основні дії, які можна виробляти з віртуальними машинами.
.