nano-server-logo

Nano Server Windows Server 2016. Установка на виртуальные машины Hyper-V и VMware

Вкратце о Nano Server

Nano Server – самая минималистичная инсталляция Windows Server 2016. Она примерно в 20 раз меньше обычной установки с графическим интерфейсом, а также она занимает около 10% от стандартной установки Server Core. Она не имеет GUI, в ней нет командной оболочки, но при этом, она полностью управляется удалённо. Nano Server – самая безопасная ОС, т.к. в ней минимум драйверов, сервисов, открытых портов, что приводит в конечном счёте к минимизации площади возможной атаки.

Установка Nano Server в общих чертах

Nano Server м.б. развёрнут как на физическом сервере, так и на виртуальной машине. Варианта установки Nano Server нет в мастере инсталляции Windows Server 2016. Для его развёртывания существует специальный инструмент Nano Server Image Builder с графическим интерфейсом. С помощью этого инструмента можно настроить образ будущей инсталляции ОС, добавить необходимые пакеты. Конечный образ Nano Server может быть в трёх вариантах:

  • VHD – для физических серверов и Hyper-V ВМ 1-го поколения
  • VHDX — для физических серверов и Hyper-V ВМ 2-го поколения
  • WIM — для физических серверов

Для установки полученных образов на ВМ Hyper-V достаточно просто создать виртуальную машину и подключить к ней полученный VHDX или VHD образ диска. Вариант установки на физический сервер в этой статье рассматривать не будем, а рассмотрим установку на ВМ Hyper-V и VMWare.

Установка Nano Server Image Builder и ADK

Первое, что нам нужно подготовить – скачать Nano Server Image Builder здесь: https://www.microsoft.com/en-us/download/details.aspx?id=54065
На момент написания статьи доступна версия 1.0.78. Все проблемы, которые удалось выявить и обойти, возможно будут исправлены в следующих версиях.
После установки при первом запуске Image Builder выдаст предупреждение о необходимости установки компонент ADK (Deployment Tools и Windows PE):

ADK requirements
Нажимаем OK – скачается инсталлятор ADK, запускаем его.
Указываем необходимые компоненты:
Выбор компонент ADK для Nano Server Imange Builder
В процессе скачивания нужных компонент можно получить такое сообщение:
ADK Setup Cannot locate Toolkit Documentation
Возможно, это влияние антивируса. Можно попробовать отключить его, либо выкачать весь ADK:
Установка ADK

Создание образа виртуальной машины для Hyper-V

После установки ADK запускаем ещё раз Image Builder и выбираем сценарий «Create a new Nano Server image»:
Выбор сценария создания образа в Nano Server Imange Builder
Указываем путь к распакованным из образа файлам ОС, либо к диску DVD:
Указываем путь к установочным файлам Windows Server 2016
Принимаем лицензионное соглашение и жмём далее. В разделе Deployment Type выбираем тип сервера (физический или виртуальный) для которого мы создаём образ, указываем путь к диску vhd или vhdx и максимальный размер.
Nano Server Image Builder указываем путь до vhdx
На следующем шаге я столкнулся с проблемой — Builder не мог загрузить пакеты из образа NanoServer.wim: Cannot load packages from the wim file located at %path%\NanoServer\NanoServer.wim. Check the media path and try again. Выглядит это так:
Ошибка загрузки пакетов из NanoServer.wim

Решение:

При изучении логов %temp%\NanoServerImageBuilder\logs, обнаружил следующую ошибку:
Error: Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope.  Due to the override, your shell will retain its current effective execution policy of Unrestricted. Type «Get-ExecutionPolicy -List» to view your execution policy settings. For more information please see «Get-Help Set-ExecutionPolicy».
Это связано с доменной политикой, которая принудительно выставляла Script Execution Policy для PowerShell в «Allow all scripts». Чтобы не нарушать «стройной картины» единой execution policy в домене я вывел свой компьютер Windows 10 из под действия этой GPO. Перезагрузился, т.к. gpupdate /force в этом случае не помогает.
После вывода из под действия GPO и перезагрузки MachinePolicy и UserPolicy должны быть Undefined:
PowerShell Execution Policy for Nano Server Image Builder
Логи, которые могут помочь в решении проблем с Nano Server Image Builder находятся здесь:
%temp%\NanoServerImageBuilder\logs
%SystemRoot%\logs\dism\dism.log
%SystemRoot%\logs\cbs\cbs.log

После решения всех проблем снова открываем мастер создания образа и добираемся до страницы выбора пакетов:

Выбор пакетов Nano Server Image Builder
После выбора нужных пакетов переходим на страницу добавления драйверов. Если мы разворачиваем образ на Hyper-V, то ничего добавлять не нужно. Случай с VMware рассмотрим далее в следующей главе.
На странице Destination Machine Information указываем имя компьютера, пароль локального администратора и временную зону. Имя компьютера указывать не обязательно. Оно не нужно, если будет использоваться т.н. автономный ввод в домен Active Directory (Offline Domain Join)
Nano Server Image Builder ввод пароля администратора
Далее указываем домен, в который нужно ввести машину, либо blob файл для офлайнового ввода в домен. Чтобы получить blob файл, необходимо сначала на контроллере домена выполнить:

djoin /provision /domain test.lab /machine test-nano /savefile c:\nanojoin.djoin

Файл nanojoin.djoin нужно указать в мастере:
Nano Server Image Builder ввод в домен
Далее, указываем сетевые настройки нашей ВМ, включаем, если необходимо доступ к WinRM и Remote PowerShell из всех подсетей:
Nano Server Image Builder сетевые настройки
Далее мастер предложит создать образ, либо перейти в Advanced configuration, где можно указать пакеты обновлений, которые нужно добавить к образу:
Nano Server Image Builder добавление пакетов обновления
Можно добавить сценарии для выполнения после установки:
Nano Server Image Builder добавление сценариев
Включить Emergency Management Services (EMS):
Nano Server Image Builder включение EMS
Служба Emergency Management Services (EMS) обеспечивает механизм управления серверами, когда не функционирует операционная система. EMS работает в текстовом режиме терминала.
Выбрать методы отладки:
Nano Server Image Builder выбор методов отладки
Далее мастер выведет итоговую страницу с указанными. Нажимаем кнопку создать образ. На данном этапе я снова столкнулся с проблемой:
Nano Server Image Builder crash
В Event Viewer в разделе приложения при этом регистрируются два события: Event ID 1000 Source Application Error:

Faulting application name: NanoServerImageBuilder.exe, version: 1.0.78.0, time stamp: 0x5800646f
Faulting module name: KERNELBASE.dll, version: 10.0.14393.953, time stamp: 0x58ba59e1
Exception code: 0xe0434352
Fault offset: 0x0000000000017788
Faulting process id: 0x1c7c
Faulting application start time: 0x01d2af95f3ef6ff9
Faulting application path: C:\Program Files\Nano Server Image Builder\NanoServerImageBuilder.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 119bf983-6e90-4f58-ab63-63a27dfe2e67
Faulting package full name:
Faulting package-relative application ID:

И Even ID 1026 Source .NET Runtime:

Application: NanoServerImageBuilder.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.FormatException
at System.Number.ParseDouble(System.String, System.Globalization.NumberStyles, System.Globalization.NumberFormatInfo)
at System.String.System.IConvertible.ToDouble(System.IFormatProvider)
at … Довольно длинный список объектов.

Как выяснилось, связано это с некорректной работой данной версии Image Builder. Региональные настройки в системе, на которой запускается Nano Server Image Builder должны быть United States:
Региональные настройки для запуска Nano Server Image Builder
После смены региональных настроек перезагружаемся. Теперь, создание образа прошло без ошибок:
Nano Server Image Builder успешное завершение создания образа
В конце доступен PowerShell сценарий, который использовался для создания образа.

Создание виртуальной машины Hyper-V из полученного образа Nano Server

Создание ВМ для Hyper-V ничем не отличается от создания обычной виртуальной машины, за исключением того, что на этапе создания VHD мы указываем получившийся образ:
Подключение диска Nano Server в виртуальную машину Hyper-V
Консоль Nano Server выглядит так:

После входа, доступны всего 4 пункта — настройка сети, входящие правила Firewall, исходящие правила Firewall, ресет параметров WinRM. Всё управление осуществляется удалённо.
nano-server-console-1

Создание образа виртуальной машины для VMware

Создание образа для VMware отличается в главном тем, что нужно интегрировать соответствующие драйверы. Чтобы получить нужные драйверы, необходимо их извлечь из диска VMware Tools. Чтобы его получить, достаточно включить SSH на хосте ESXi и скачать с него windows.iso образ, который находится в папке /vmimages/tools-isoimages. Скачать можно с помощью WinSCP. Скачанный iso образ монтируем в систему и запускаем извлечение wmware tools в папку: d:\setup64.exe /a /p c:\nano\vmtools
Все необходимые драйверы в моём случае будут находиться в папке C:\Nano\vmtools\VMware\VMware Tools\VMware\Drivers .
Добавим драйверы для vmxnet3 и pvscsi — для сети vmxnet3 и контроллера диска:
Добавление драйверов в образ Nano Server для VMware
После создания образа необходимо сконвертировать диск vhd в vmdk. Я использовал для этого бесплатный конвертор от компании StarWind https://www.starwindsoftware.com/converter
starwind-v2v-converter
Далее необходимо закачать полученные файлы в хранилище, доступное ESXi хосту, создать виртуальную машину «Windows Server 2016» с сетью vmxnet3 и контроллером VMware Paravirtual:
vmware-create-nano-server-vm
vmware-create-nano-server-vm1
vmware-create-nano-server
VMware paravirtual for nano server
Запуск Nano Server в VMware
На этом всё, желаю успехов )

Добавить комментарий