Windows Server 2016 GA: разворачиваем первый production-сервер и считаем, что изменилось
Windows Server 2016 вышел в GA 12 октября. Разворачиваем первый production-узел: совместимость ролей, новые лицензии по ядрам и готовность Hyper-V 2016.
Windows Server 2016 General Availability состоялась 12 октября 2016 года с Nano Server, Windows Containers, Storage Spaces Direct и Shielded VMs
12 октября Microsoft объявляет Windows Server 2016 Generally Available. Мы ждали этого с лета - ещё с тех пор как гоняли RC на тестовом стенде и смотрели на Nano Server через прищуренный глаз. Теперь GA, и пора переходить от игр к делу.
В этот же день у одного из клиентов запланировано разворачивание нового Hyper-V-хоста. Совпадение приятное - есть повод сразу работать с GA, не ждать следующей недели.
Что принёс GA
Если коротко по ключевым темам, которые Microsoft анонсировала ещё в мае на Ignite:
- Nano Server - минимальная инсталляция без GUI, RDP и 32-битной подсистемы. Мы его уже щупали в RC, и особых сюрпризов в GA не ожидаем.
- Windows Containers - контейнеры на базе Windows-ядра с интеграцией Docker-совместимого рантайма. Hyper-V Containers как изолированный вариант.
- Storage Spaces Direct - гиперконвергенция на стандартном железе без внешней СХД. Тестировали на TP5, ждали GA для продакшна.
- Shielded VMs - виртуалки с шифрованием vTPM и защитой от компрометированного гипервизора. Для заказчиков с повышенными требованиями по изоляции.
Лицензирование: от сокетов к ядрам
Это, наверное, самая болезненная новость релиза - и она была известна заранее, но всё равно бьёт по бюджету.
В WS2012 R2 лицензия считалась по физическим процессорам: один сокет - одна лицензия Standard или Datacenter, покрывает до 2 виртуалок (Standard) или неограниченно (Datacenter). Понятно, просто, предсказуемо.
В WS2016 Microsoft перешли на модель лицензирования по ядрам. Минимальная лицензия Standard покрывает 16 ядер. Если у сервера два сокета по 10 ядер - нужна лицензия на 20 ядер, то есть одна базовая плюс доплата за 4 ядра. При этом Standard по-прежнему даёт только 2 виртуалки; за каждые следующие 2 - снова покупается лицензия.
На практике для типичного двухпроцессорного хоста с 8-ядерными CPU изменение незначительное - там ровно 16 ядер, минимум покрывается. Но как только уходим в современные 12- или 14-ядерники - цифры начинают расти. Datacenter остаётся выгоднее при плотной виртуализации, и логика пересчёта тут та же.
Для клиентов, которые сейчас планируют закупку железа под WS2016 и ориентировались на старые цены - разговор предстоит. Managed-инфраструктура в таких случаях помогает: считаем вместе, чтобы не переплатить и не купить меньше, чем нужно.
Совместимость ролей: что работает сразу
Первый production-хост у клиента - роль Hyper-V. Поднимаем на GA, переносим несколько виртуалок с WS2012 R2. Что интересует в первую очередь:
Версии виртуальных машин. Hyper-V 2016 поддерживает VM Configuration Version 8.0 - виртуалки нового формата. Старые версии 5.0 (WS2012 R2) подхватываются без конвертации и работают. Upgrade версии VM делается вручную командой Update-VMVersion, это необратимо и нужно делать осознанно.
Live Migration между 2012 R2 и 2016. Работает в одну сторону - с WS2012 R2 на WS2016. В обратную - нет: более новый хост не умеет мигрировать виртуалку на старый хост старой версии. При смешанном кластере это важно учитывать при планировании rolling-апгрейда.
Кластер смешанной версии. WS2016 поддерживает Mixed-OS Failover Cluster - можно добавить WS2016-ноду в существующий кластер WS2012 R2, не ломая его. Это даёт нормальный rolling upgrade без даунтайма. Хорошо.
Роли AD DS, DNS, DHCP, File Server. Всё поехало штатно. Никаких сюрпризов при переносе с R2 мы не заметили - функционально те же роли, те же инструменты управления.
Hyper-V 2016: что стоит отметить
Кроме контейнеров и Shielded VMs, в Hyper-V появились несколько вещей, которые сразу видны на практике.
Hot Add/Remove Memory и NIC для работающих VM. В WS2012 R2 добавить сетевой адаптер к запущенной виртуалке без перезагрузки - нельзя. В 2016 - можно. Для production это не частая операция, но когда нужно - удобно.
Production Checkpoints. Снимки состояния виртуальной машины теперь по умолчанию делаются через VSS - это application-consistent checkpoints, а не просто дамп памяти. Для SQL Server и Exchange это важно: восстановление из такого снапшота не требует transaction log recovery.
Реплика с шифрованием. Hyper-V Replica (репликация между хостами) теперь поддерживает шифрование трафика - Kerberos или сертификат. Не надо городить отдельный туннель поверх.
Nano Server и контейнеры: пока не торопимся
Nano Server в GA стал чуть лучше RC - документация подтянулась, набор пакетов шире. Но для production IIS или SQL Server он всё ещё не подходит - список поддерживаемых ролей остаётся ограниченным. Для специализированных ролей вроде DNS или Failover Cluster - история другая.
Windows Containers интересны, но для production-окружений клиентов сейчас это скорее предмет изучения. Docker на Windows работает, образы есть, но экосистема не сравнима с Linux-контейнерами по зрелости инструментов. Тем более что большинство workloads у наших клиентов - это традиционные .NET-приложения, которые и без контейнеров живут нормально.
Где мы сейчас
Первый Hyper-V-хост на WS2016 у клиента запланирован на день GA - 12 октября. После переноса виртуалок посмотрим, как смешанный кластер с WS2012 R2 ведёт себя в реальной нагрузке.
Следующий шаг - смотрим на Storage Spaces Direct для одного из клиентов, которому давно нужна замена стареющей СХД. GA снимает главное препятствие: брать S2D в продакшн на Technical Preview мы не были готовы, теперь основания другие. Стенд уже посчитан, спецификация на согласовании.
Лицензионный вопрос по ядрам остаётся открытым для нескольких инсталляций - там нужно пересчитать модели и решить, что выгоднее: обновляться сейчас или дождаться следующего цикла закупок.