Что такое сервер Nano?
Сервер Nano представляет собой новый вариант установки Windows Server версии vNext, который обеспечивает минимальный набор базовых компонентов сервера Windows. Возможно, значительно меньший, чем даже вариант Server Core. Это стало возможным благодаря реорганизации исходного кода операционной системы, а акцент в его применении делается на два основных сценария:
- созданные в «облаке» приложения;
- «облачная» платформа Hyper-V и масштабируемые файловые серверы File.
Что касается других сценариев, то для них следует продолжать использовать Server Core.
Вариант сервера Nano выбирается во время установки Windows (из других вариантов, которыми являются Server Core и Server с использованием графического интерфейса), и весь набор компонентов графического интерфейса удаляется вместе с другими компонентами. Функции RDP или локальной регистрации при развертывании в варианте сервера Nano не предусмотрено. Вместо этого управление осуществляется через WMI и PowerShell. Вот некоторые ключевые показатели для сравнения варианта сервера Nano с развертыванием варианта Windows Server:
- размер VHD ниже на 93%;
- на 92% меньше критических исправлений;
- на 80% меньше перезагрузок.
Можно ли добавлять функции после создания сервера Nano?
Теоретически да, но сейчас это делать не очень удобно. Надеюсь, что через некоторое время ситуация изменится. Дело в том, что двоичные и языковые файлы являются отдельными файлами типа cabs. Вы идеале вам следовало бы создать образ сервера Nano с нужными функциями. Если вам необходимо добавить функции к существующему серверу Nano, лучше всего создать файл ответов и передать его утилите DISM. О том, как это сделать для IIS, рассказано в статье по адресу: https://msdn.microsoft.com/en-us/library/mt627783.aspx. Однако делать это следует только в исключительных случаях. Особенность сервера Nano в том, что он создается однократно и вы не тратите время на его перенастройку. Вы удаляете его и создаете новый сервер, как описано в статье по адресу: http://windowsitpro.com/windows/pets-and-cattle-methods-deploying-cloud-services.
Я хочу настроить экземпляр своего сервера Nano под конкретные требования во время его первоначального запуска. Что я могу сделать?
Параметры, с которыми вы работаете в New-NanoServerImage, на самом деле приводят к созданию файла unattend.xml на VHD, который используется в процессе специализации при применении настроек. После создания VHD вы можете смонтировать этот файл и отредактировать unattend.xml, прежде чем запускать виртуальную машину. Показанный ниже код PowerShell монтирует VHD и открывает unattend.xml в блокноте, поэтому вы можете выполнить редактирование. Затем можно размонтировать VHD.
$NanoVHDPath = "D:\VMs\NanoVM2\NanoServerVM.vhd" $VHDMount = Mount-VHD -Path $NanoVHDPath -Passthru $DriveLetter = $VHDMount | Get-Disk | Get-Partition | Get-Volume | Select-Object -ExpandProperty DriveLetter $UnattendFile = $DriveLetter + ":\Windows\Panther\Unattend.xml" notepad $UnattendFile #addCentral Standard Time before in oobeSystem Dismount-VHD -Path $NanoVHDPath
Кроме того, вы можете автоматизировать добавление содержимого XML в файл unattend.xml, используя PowerShell.
Приведенный ниже код добавляет временную зону на VHD для моего сервера Nano. Вы можете модифицировать его для выполнения любых других изменений, которые захотите внести. Подробную информацию об изменении XML при помощи PowerShell можно найти в статье по адресу: windowsitpro.com/windows/add-elements-xml-using-powershell.
$NanoVHDPath = "D:\VMs\NanoVM2\ NanoServerVM.vhd" $VHDMount = Mount-VHD -Path $NanoVHDPath -Passthru $DriveLetter = $VHDMount | Get-Disk | Get-Partition | Get-Volume | Select-Object -ExpandProperty DriveLetter $UnattendFile = $DriveLetter + ":\Windows\Panther\Unattend.xml" $xml = [xml](gc $UnattendFile) $child = $xml.CreateElement ("TimeZone", $xml.unattend. NamespaceURI) $child.InnerXml = "Central Standard Time" $null = $xml.unattend. settings.Where{ ($_.Pass -eq 'oobeSystem')} .component.appendchild ($child) $xml.Save ($UnattendFile) Dismount-VHD -Path $NanoVHDPath
Как мне изменить временную зону сервера Nano в Windows Server 2016?
Временная зона может быть настроена посредством файла unattend.xml на виртуальном диске VHD сервера Nano, который создается до запуска виртуальной машины, а добавление желаемой временной зоны в раздел oobeSystem осуществляется до блока . Например, добавление
Central Standard Time< /TimeZone>
выполняется так:
asdfasdfAA== false Central Standard Time
Другой подход состоит в том, что при запуске виртуальной машины, обеспечивающей активацию режима удаленного управления, необходимо использовать утилиту tzutil для настройки желаемой временной зоны. Я подсоединился к виртуальной машине своего сервера Nano, а затем изменил временную зону:
PS D:\NanoTP4> Enter-PSSession -ComputerName NanoVM [NanoVM]: PS C:\Users\Administrator\ Documents> [NanoVM]: PS C:\Users\Administrator\ Documents> tzutil /g Pacific Standard Time [NanoVM]: PS C:\Users\Administrator\ Documents> tzutil /s "Central Standard Time" [NanoVM]: PS C:\Users\Administrator\ Documents> tzutil /g Central Standard Time [NanoVM]: PS C:\Users\Administrator\ Documents> exit
Теперь я могу видеть свою новую временную зону (см. экран 1).
Экран 1. Просмотр временной зоны на сервере Nano |
Я получаю сообщения об ошибках от утилиты DISM, когда пытаюсь создать файл VHD для сервера Nano. Что предпринять?
Если ошибки есть, то будет указан файл журнала, в котором дается больше информации о конкретном виде ошибки. Вероятнее всего, если вас извещают об ошибках, то вы пытаетесь работать на системе, которая не является Windows Server 2016, и ее DISM не понимает параметры сервера Nano. Убедитесь, что вы используете компьютер с Windows 10 или хост Windows Server 2016 для создания образов сервера Nano.
Я не вижу варианта установки сервера Nano для Windows Server 2016. Как мне установить сервер Nano?
Windows Server 2016 имеет три варианта развертывания: сервер с рабочим столом Server with Desktop Experience, основные серверные компоненты Server Core и специализированный сервер Nano Server. Server with Desktop Experience и Server Core доступны в качестве вариантов установки, но Nano Server недоступен, поскольку создан для модели массового развертывания, в которой применяется какой-либо автоматизированный метод развертывания. Образ сервера нужно подстроить под требования и активировать функции (ни одна из них не включена по умолчанию), необходимые для функционирования сервера. Материалы проектирования сервера Nano можно найти в папке NanoServer на носителе Windows Server 2016. У Microsoft есть отличная статья по адресу: https://technet.microsoft.com/en-us/library/mt126167.aspx. В ней рассматривается все, что необходимо знать для проектирования собственного виртуального или физического сервера Nano. Приведу код PowerShell, который я использовал для создания своего сервера:
$adminPass = ConvertTo-SecureString "Pa55word" -AsPlainText -Force Import-Module 'S:\OS Images\ Windows Server 2016 TP4\NanoServer\ NanoServerImageGenerator.psm1' New-NanoServerImage -MediaPath 'S:\OS Images\Windows Server 2016 TP4' ` -BasePath .\Base -TargetPath .\ NanoServerVM.vhd -ComputerName NanoVM ` -GuestDrivers -Storage -Defender -Compute -EnableRemote ManagementPort ` -AdministratorPassword $adminPass -DomainName savilltech #-ReuseDomainNode
Обратите внимание, что в данном примере я настраиваю простой пароль, для того чтобы избежать участия пользователя. Я скопировал два нужных файла в папку, которая является моей текущей рабочей папкой (как и сказано в статье Microsoft). Затем я создаю новый VHD для Nano, у которого есть система хранения, антивирусная программа, вычислительный модуль (Hyper-V), гостевые драйверы для Hyper-V, включенный режим удаленного управления и подключение с моим локальным доменом. Я запускаю этот код PowerShell на хосте Windows Server 2016, который является членом домена, к которому я подсоединяю сервер Nano. В документе Microsoft содержится детальная информация об использовании команды djoin, если хост не является частью домена, к которому вы хотите подсоединить сервер Nano.
Указанный выше код PowerShell создает виртуальный диск VHD типа Generation 1, который я впоследствии использую для создания виртуальной машины. После запуска экземпляр подсоединен к домену и будет использовать DHCP. Вы также можете выполнить базовую настройку параметров IP и системы управления сетевым экраном с помощью консоли сервера Nano (см. экран 2).
Экран 2. Консоль сервера Nano |