Під катом вас чекає розповідь про те, як встановити та налаштувати Hyper-V Server і елегантно обійти обмеження цієї платформи за допомогою Лінукса.
Все стандартно настільки, що навіть писати нема про що. ISO образ беремо звідси по гордовитою посиланням «Free Download».
Весь процес установки займає кілька хвилин і закінчується стандартним запрошенням для адміністратора. Після завдання пароля відкривається незвично голий десктоп з двома вікнами консолі.
В принципі, якщо вдуматися, це не так вже й страшно: адже завдання нашого сервера - запускати віртуальні машини, а пасьянс можна і де-небудь в іншому місці розкласти.
Конфігурація: система
До речі про оновлення системи: обрізання до Server Core було зроблено для скорочення attack surface, іншими словами зменшення кількості сервісів і програмних компонент, які можуть містити уразливості, а відповідно повинні регулярно патч. А оскільки установка патчів часто вимагає перезавантаження сервера, то зменшення кількості оновлюваних компонент сервера буде вести не тільки до збільшення його безпеки, а й доступності.
Конфігурація: Hyper-V
З якихось причин під час установки не створюється ніяких віртуальних світчей, так що віртуальні машини за замовчуванням не мають зв'язку із зовнішнім світом. Виправимо це - створимо найпростіший світч-бридж до фізичного адаптера.
Запустимо powershell в другій консолі. Так, обрізання сервера до консольних програм змушує йти на жертви, але ж ми переслідуємо благородні цілі (див. Вище).
1) Дізнаємося під якими іменами фігурують адаптери. Для цього виконаємо команду Get-NetAdapter
2) Створимо віртуальний світч прив'язаним до адаптера Ethernet 5
Для створення віртуальної машини - все готово.
Створення віртуальної машини
Швидше за все нам знадобиться ISO образ для установки операційної системи, його ми копіюємо звичним для Windows способом - по мережі через доларові кулі на нашому сервері.
Тепер створимо машину.
Вставимо в створений за замовчуванням DVD дисковод ISO образ
На майбутнє - коли буде потрібно витягнути диск з віртуального дисковода потрібно виконати Set-VMDvdDrive -VMName <имя машины> -Path $ null
Ну начебто, все ... Можна запускати!
Мммм, пробіг прогрес у верхній частині вікна powershell, мабуть все запустилось. Перевіримо командою Get-VM
Все добре - машинка працює.
Однак, як же поглянути на екран ?!
Секундочку ... а як-же подивитися на екран установки, куди мишкою тикати? Загалом - де консоль? локально - ніяк: її немає на сервері!
Що пропонує Microsoft - ви можете поставити RSAT (remote system administration tools) на клієнтську станцію. За допомогою цих інструментів можна підключатися до консолі віртуальних машин, і, до речі, звідти-ж створювати і запускати віртуальні машини через mmc snap-in Hyper-V. Однак є цікаві особливості:
Ідея прийшла звідки не чекали ... Чомусь б не використати віртуальну машину з Linux в якості RDP-проксі?
Подарунок для всіх
Ви можете завантажити образ даної машини (371MB) і розгорнути його за допомогою безкоштовної версії Veeam Backup Replication на Hyper-V сервер. Користувач root має пароль 123qweASD. Для зміни пароля потрібно запустити спочатку passwd, а потім не забути vncpasswd.
Використовуючи RDP клієнта, заходимо на дану машину, додаємо Hyper-V сервер, вибираємо віртуальну машину і ... voilà - тепер можна продовжити установку операційної системи
Як це працює
Як RDP сервера використовується xrdp.
Скрипт опитування хостів і запуску консолей написаний на Bash. Писав на ньому вперше - прошу поблажливості до кострубато.
Опитування хостів на наявність запущених віртуальних машин і їх ідентифікаторів зроблений через WMI. Спасибі утиліті wmic, написаної на основі бібліотеки від Samba 4.
Дещо про майбутнє
висновок
Hyper-V Server - хороша система щоб починати розвиток ІТ невеликої компанії. Повна безкоштовність - гарна підмога коли бюджет обмежений. І в подальшому цей гипервизор дозволить легко і без зайвих витрат додавати «ентерпрайзние» можливості: розвивати потужність додаючи нові сервера, впроваджувати більш хитрі мережеві схеми, надавати відмовостійкість через кластеризацію і т.п.
Сподіваюся, що ця розповідь і апплаінс допоможуть вам використовувати цю платформу ефективно з перших кроків.