ADG Оставить заявку
Блог Инфраструктура 4 мин чтения

Windows Server 2016 RC: разворачиваем Nano Server и учимся жить без RDP

Windows Server 2016 RC вышел с Nano Server - минимальным образом без GUI и RDP. Разворачиваем на тестовом стенде: 500 МБ, только PowerShell Remoting, и это непривычно.

Контекст момента

Windows Server 2016 Release Candidate вышел летом 2016 года с Nano Server как минимальной инсталляцией без GUI и RDP, ориентированной на контейнеры и облако

Microsoft выкатили Release Candidate Windows Server 2016. До GA, судя по всему, остаётся немного - RC это уже почти то что выйдет в продакшн. Среди всего что там изменилось, один компонент вызвал наибольшее любопытство: Nano Server. Потратили пару дней на тестовый стенд - делимся впечатлениями.

Что такое Nano Server

Если коротко - это Windows без Windows в привычном смысле. Нет GUI, нет RDP, нет MSI-установщика в его классическом виде, нет даже 32-битной подсистемы. Образ диска для разворачивания в Hyper-V получается примерно 500 МБ. Для сравнения: Server Core, который раньше считался «лёгким» вариантом, - это несколько гигабайт.

Microsoft позиционирует Nano Server как платформу для контейнеров, облачных ролей и микросервисов. Идея понятна: меньше поверхность атаки, меньше патчей, быстрее перезагрузка. На бумаге выглядит правильно.

Как разворачивать

Готового ISO для Nano Server нет - образ собирается скриптом New-NanoServerImage из состава RC-дистрибутива. Скрипт берёт базовый WIM, добавляет нужные пакеты (например, роль IIS или Hyper-V Guest Drivers) и отдаёт VHD для подключения к виртуалке.

Минимальный запуск для VM в Hyper-V выглядит примерно так:

Import-Module .\NanoServerImageGenerator\NanoServerImageGenerator.psd1

New-NanoServerImage `
    -MediaPath D:\WS2016RC `
    -BasePath C:\NanoBase `
    -TargetPath C:\NanoVMs\nano01.vhd `
    -ComputerName nano01 `
    -GuestDrivers `
    -EnableRemoteManagementPort

Собирается быстро - минута-полторы. VHD подключается к виртуалке, и после первого запуска система поднимается за считанные секунды. Перезагрузка занимает меньше 30 секунд - это другой мир по сравнению с обычным Server Core.

Жизнь без RDP

Вот тут начинается самое интересное - шутка, именно это предостережение висит у нас на стене. Первые полчаса после запуска первой виртуалки прошли в поисках способа к ней подключиться. RDP нет. Никакого консольного входа через GUI тоже нет. Есть Recovery Console - аварийный текстовый интерфейс для базовой сетевой настройки, но не более.

Единственный нормальный путь - PowerShell Remoting через WinRM. Подключаемся с управляющей машины:

$session = New-PSSession -ComputerName nano01 -Credential (Get-Credential)
Enter-PSSession $session

И оказываемся в командной строке удалённой сессии. Всё. Больше ничего.

Для тех кто привык работать с Windows через RDP или хотя бы через Server Manager - это культурный шок. Первые несколько команд вызывают рефлекторное желание открыть mmc.exe или хотя бы Notepad. Ни того ни другого нет.

Зато есть Get-Command и документация. После часа работы начинаешь привыкать - особенно если уже работал с Linux через SSH. Логика та же: всё через командную строку, никакого графического костыля.

Что работает из ролей и компонентов

Набор поддерживаемых ролей ограничен. В RC поддерживаются:

  • IIS - веб-сервер, добавляется пакетом -Package Microsoft-NanoServer-IIS-Package
  • DNS-сервер - базовая роль
  • Failover Clustering - для кластерных конфигураций
  • Hyper-V - но тут нужен физический хост, не VM
  • Контейнеры Windows - и вот это интереснее всего

Full SQL Server, Exchange, SCCM - ничего из этого на Nano Server не поедет. Microsoft честно говорит: это не замена полноценному серверу, это платформа для конкретных узкофокусных ролей.

Управление пакетами

Ещё один нестандартный момент: в Nano Server есть OneGet с поддержкой NuGet и PowerShell Gallery. Устанавливать дополнительные модули и пакеты можно прямо из репозитория:

Install-PackageProvider NuGet -Force
Install-Module -Name PSWindowsUpdate -Force

Привычный msiexec недоступен - если приложение не умеет устанавливаться в тихом режиме через PowerShell или xcopy, оно на Nano Server не пойдёт. Это отсекает добрую половину legacy-ПО сразу.

Что с мониторингом и управлением

Подключить Nano Server к SCOM или SCCM по классической схеме не выйдет - агенты не поддерживаются в RC. Для мониторинга Microsoft предлагает OMI-провайдеры и WMI через WinRM. Работает, но настраивать это руками без привычных GUI-консолей - то ещё приключение.

Для тех у кого инфраструктура под managed-сопровождением, это означает пересмотр подходов к операционному обслуживанию: те же задачи что раньше делались через RDP или Server Manager, теперь нужно перевести в PowerShell-скрипты. Это работа, но разовая.

Где мы сейчас

Тестовый стенд с Nano Server работает вторую неделю. Поставили IIS с простым приложением - работает, мониторинг через WinRM цепляется, перезагрузки после патчей быстрые. Неудобств хватает: каждый раз когда надо сделать что-то нестандартное, приходится лезть в документацию и искать PowerShell-эквивалент привычного действия.

Но принципиальных проблем не нашли. Для специализированных ролей - IIS, DNS, контейнеры - подход рабочий. До GA ещё есть время наработать практику, чтобы к моменту продакшн-выкатки не начинать с нуля.

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.