Тестова серія WS 2016, частина 1 Nano-Server, схуднення контейнерів для Windows; Управління ІТ; LANline
01 червня 2017 р., 8:00 | Від Крістофа Ланге.

Під девізом "Операційна система для хмари" Microsoft додала численні функції до Windows Server 2016 (WS 2016), які покликані підтвердити претензії Microsoft як постачальника базових технологій для хмарних інфраструктур. Ми вже представляли огляд (LANline 3/2017, p. 14ff.). З цього випуску розпочинається серія тестів LANline, в якій детально розглядаються найцікавіші нововведення. Прелюдією є Nano-Server та контейнерні технології, інтегровані в WS 2016.
За допомогою Nano-сервера Microsoft розробила версію WS 2016, яка вимагає дуже мало ресурсів: для базової інсталяції потрібно близько 500 МБ дискового простору та близько 300 МБ оперативної пам'яті. Дуже худа операційна система завантажується протягом десяти секунд. Основному серверу для цього потрібно приблизно півтори хвилини, а варіант графічного інтерфейсу навіть довший.
Контейнер Hyper-V може надаватися хостом Hyper-V або віртуальною машиною Hyper-V, яка працює на фізичному хості.
Nano-Server підтримує лише 64-розрядні програми, не може використовуватися як контролер домену Active Directory і не підтримує групові політики. У Powershell також є деякі обмеження: Поки що серверами Nano не можна керувати за допомогою SCCM (System Center Configuration Manager) та Data Protection Manager. Нано-сервер також не підтримує функцію Інтернет-проксі або NIC-команди для відновлення після відмови та балансування навантаження.
Microsoft позиціонує Nano-Server, який може працювати як на обладнанні, так і на віртуальних машинах, як щадний варіант ОС для кластерів Hyper-V та ферм веб-серверів. Nano-Server також підходить як хост-система для забезпечення контейнерів; інші сценарії застосування - це масштабовані кластери файлів або DNS-сервери. Подібно до WS 2016, Microsoft пропонує Nano-Server як стандарт, так і у вигляді центру обробки даних. Для його використання необхідний контракт на забезпечення програмного забезпечення.
Завдяки більш охайній операційній системі, вона пропонує значно меншу поверхню атаки, ніж повна версія WS 2016. Крім того, потрібно встановити менше виправлень безпеки, що зменшує кількість перезавантажень, необхідних для оновлень.
Локальна консоль Nano-Server обмежена простим текстовим меню для налаштування IP та брандмауера.
Microsoft вже представила основну версію серверної операційної системи в WS 2008. Основний варіант позбавлений графічного інтерфейсу управління, але має локально використовуваний командний рядок і ним можна віддалено керувати за допомогою графічних інструментів. Натомість, Nano-Server пропонує лише локальне текстове меню для базової конфігурації IP та брандмауера; немає локального командного рядка. Віддалене управління відбувається за допомогою Powershell або командного рядка. Платформа Microsoft Azure також пропонує нові веб-інструменти для віддаленого управління серверами, за допомогою яких серверами Nano також можна керувати за допомогою графічного інтерфейсу.
Встановлення віртуального нано-сервера
Nano-Server недоступний як пакет MSI, але має власну процедуру встановлення, яка виконується через Powershell. DVD WS 2016 містить шаблон зображення NanoServer.wim розміром 133 МБ. Адміністратор налаштовує цей шаблон за допомогою інструменту "Генератор зображень Nano Server", який також постачається на DVD. Він створює персоналізовані зображення у форматі VHD, VHDX або ISO, а також може створювати завантажувальний USB-носій. Засіб також можна використовувати для додавання ролей сервера або драйверів пристроїв, а також для приєднання до домену Windows в автономному режимі.
Для тесту LANline ми спочатку створили файли VHDX для двох віртуальних наносерверів на нашому фізичному сервері WS-2016 Hyper-V. Для цього ми імпортували модуль NanoServerImageGenerator у сеансі Powershell. Потім ми запустили командлет New-NanoServerImage з наступними параметрами команд:
New-NanoServerImage -DeploymentType Guest -Edition Datacenter -MediaPath D: \ -BasePath. \ Base -TargetPath. \ NanoServer01.vhdx -ComputerName Nanoserver01 -DomainName w2016dom -EnableRemoteManagementPort
Потім ми змогли призначити створений таким чином файл VHDX новоствореній віртуальній машині в диспетчері Hyper-V, яка потім стала нано-сервером. За допомогою параметра -DomainName інструмент створив обліковий запис комп'ютера для нового нано-сервера в домені Windows.
Надайте нано-сервер на апаратному забезпеченні
Nano-Server також можна встановити безпосередньо на апаратному сервері, наприклад, для роботи кластерів Hyper-V або ферм веб-серверів з вузьким розміром ОС. Тут також використовується командлет New-NanoServerImage, але "Host" вибрано як -DeploymentType, а каталог із файлом зображення Nano-Server вказаний як -TargetPath.
Файл WIM, створений командлетом, тепер можна імпортувати безпосередньо на жорсткий диск сервера. Для тесту LANline ми завантажили сервер Dell із DVD для відновлення Windows PE. Ми скопіювали файл WIM на USB-накопичувач, який підключили до завантаження. Потім за допомогою інструмента Windows diskpart.exe ми встановили розділи, необхідні серверу Nano, на жорсткому диску та скопіювали файл WIM на жорсткий диск за допомогою інструмента командного рядка dism.exe. Перед остаточною перезавантаженням ми вилучили DVD для відновлення та флешку. Потім ми запустили сервер, який тепер надавав свої послуги як нано-сервер.
Під час налаштування нано-серверів обліковий запис комп'ютера в домені Windows можна створити в автономному режимі.
Якщо доступний сервер розгортання Windows, із ним також можна встановити сервери Nano за допомогою файлу VHDX або WIM. Також можливо налаштування за допомогою підготовленого відповідним чином USB-накопичувача. Для масових випусків адміністратори можуть також використовувати Powershell DSC (бажана конфігурація стану) для зберігання даних конфігурації сервера в центральній точці мережі. Потім нано-сервери налаштовуються таким чином, що вони автоматично збирають ці дані під час налаштування.
Згодом адміністратор може додавати функції Windows як на віртуальний, так і на фізичний сервери, а також коригувати конфігурацію зображення. Функції, які в даний час можуть бути використані для Nano-Server, можуть бути розпізнані за пакетами, що містяться на WS-2016-DVD у каталозі NanoServer. Існуючі файли зображень можна редагувати за допомогою командлетів Edit-NanoServerImage та New-NanoServerImage. Зображення або файли VHDX, що підлягають зміні, не повинні мати доступу до Hyper-V або інших процесів.
Дистанційне управління
Стандартним інструментом управління нано-серверами є Powershell. За допомогою нього всі управлінські завдання можна виконувати віддалено. WS 2016 пропонує додаткову опцію з Powershell Direct, яка доступна на серверах з активованою роллю Hyper-V. Це дозволяє виконувати команди Powershell на серверах Hyper-V безпосередньо у віртуальних машинах Windows, які працюють на відповідному хості. Віддалене управління також можливо за допомогою функцій Win-RM (віддалене управління Windows), які можна використовувати за допомогою Powershell або класичного командного рядка.
У більших середовищах доцільно керувати наносерверами за допомогою SCVMM (System Center Virtual Machine Manager). Для цього адміністратор повинен інтегрувати в образ пакети SCVMM, що містяться на серверному DVD.
Контейнер Windows
Для того, щоб зробити Windows Server 2016 придатним для хмари, Microsoft тепер також підтримує технологію контейнерів на основі фактичного стандарту Docker. За допомогою WS 2016 Docker-сумісних контейнерів можна працювати на хостах Windows (фізичних або віртуальних), а також на віртуальних машинах Linux.
Зі стандартною концепцією Docker кожен контейнер працює як інкапсульований додаток на хості, і всі контейнери використовують одне і те ж середовище операційної системи. З контейнерами Hyper-V, Microsoft розробила другий варіант, в якому контейнери працюють у сильно зменшеній ВМ. Кожна віртуальна машина має своє власне ядро Windows, завдяки чому взаємна ізоляція набагато сильніша, ніж у стандартних контейнерах. Програми, розроблені для контейнерів, сумісні з обома типами і можуть мігрувати між контейнерами Windows Server та Hyper-V без змін.
Контейнери сервера Windows працюють безпосередньо на хості, тоді як контейнери Hyper-V працюють в оптимізованій ВМ із власним ядром ОС. Зображення: 4sysops.com
Управління контейнерами здійснюється за допомогою Docker Runtime Engine та відповідних інструментів управління. Крім того, Powershell має набір команд для управління контейнерами, які можна використовувати як альтернативу інструментам Docker. Серверні контейнери Windows вже можна використовувати в будь-якій кількості одиниць за допомогою Standard Edition. Контейнери Hyper-V обмежені двома екземплярами на хост, оскільки вони є віртуальними машинами. Видання Datacenter Edition потрібно для необмеженого використання.
Підтримка контейнерів активується за допомогою команди Powershell командою Install-WindowsFeature контейнери, після чого потрібно перезавантаження. Крім того, адміністратор повинен встановити Docker Engine на сервері. Якщо є підключення до Інтернету, двигун можна зарядити безпосередньо. Після того, як ми налаштували Docker як службу Windows, ми змогли створити контейнер сервера Windows за допомогою команд Docker.
Для контейнера Hyper-V роль хоста Hyper-V повинна бути встановлена на хості. Тоді контейнери Hyper-V можна створити за допомогою інструмента Docker. WS 2016 також підтримує вкладену функцію віртуалізації.
Для цього адміністратор створює віртуальну машину WS-2016 на хості Hyper-V і додає до неї ролі Hyper-V та Containers. На фізичному хості Hyper-V з вимкненою віртуальною машиною потрібно виконати такі команди:
Set-VMProcessor -VMName -ExposeVirtualizationExtensions 1
Get-VMNetworkAdapter -VMName | Set-VMNetworkAdapter -MacAddressSpoofing On
Віртуальну машину тепер можна налаштувати як хост для контейнерів Hyper-V.
На додаток до вищезазначеного управління контейнерами за допомогою інструментів Docker та Powershell, WS 2016 також підтримує Docker Swarm для більш складних програм. Можлива також інтеграція в структуру управління контейнерами DCOS від Mesosphere та Kubernetes Google.
Висновок
За допомогою наносервера Windows Server 2016 Microsoft пропонує операційну систему, яка набагато вища, ніж основний сервер, і особливо підходить для забезпечення Hyper-V та веб-серверних інфраструктур і як платформа для контейнерів. Той факт, що адміністрування нано-сервера можливо лише за допомогою засобів віддаленого управління, не повинен перешкоджати більшим компаніям використовувати новий варіант ОС. Використовуючи Powershell Designed State Configuration, ще більша кількість серверів може бути надана швидко і автоматично, а також централізовано управляти завдяки інтеграції SCVMM.
Microsoft інтегрувала технологію контейнерів, розроблену проектом з відкритим кодом Docker, а також інструменти управління, що надаються комерційним офшотом Docker. Це показує, наскільки важливо для Microsoft представляти серверну платформу Windows у цьому швидко зростаючому сегменті ринку. Користувач має вибір між стандартними контейнерами та краще ізольованими контейнерами Hyper-V, завдяки чому інкапсульовані контейнерні програми працюють без змін в обох середовищах.
Контейнери Docker, запрограмовані для Linux, можуть надаватися віртуальними машинами Linux, що працюють на платформі Hyper-V. Таким чином, Microsoft створила хорошу основу, за допомогою якої ІТ-організація може гнучко використовувати контейнери та переміщувати їх між різними платформами.