Глава 8. Крошечные сервера

{Прим. пер.: рекомендуем сразу обращаться к нашему более полному переводу 2 издания вышедшего в марте 2019 существенно переработанного и дополненного Полного руководства Windows Server 2019 Джордана Краузе}

"Дорогая, я уменьшил свой сервер!" Другая глава, другая ссылка на устаревший фильм {Прим. пер.: детей!}. Дико извиняюсь за это. Возвращаясь к теме - за последние 20 или даже более лет мы не наблюдаем ничего кроме роста операционных систем Microsoft. Рост может быть хорошим делом, поскольку новые функции и расширения делают нашу жизнь проще. Рост может быть также плохим например, как раздутые файловые структуры и пожирающие оперативную память графические интерфейсы. Если бы вы воспроизвели хронологический график операционных систем Windows и Windows Server в терминах их отпечатков на основе таких факторов как потребление дискового пространства и требований к оперативной памяти, он бы демонстрировал устойчивую тенденцию к росту. Каждая новая редакция требует слегка больше мощности процессоров и всего лишь чуть больше дискового пространства чем предыдущая версия. Это имело место вплоть до - я даю здесь небольшую оценку - возможно Windows 8 и Widows Server 2012. Мы заметили некоторые удивительные шаги направленные в сторону снижения этих пороговых значений, приятных изменений. Однако это изменение не было столь драматичным. Здесь я имею в виду: что вы можете почерпнуть из того факта, что совершенно новый ящик с Windows Server 2016 имеет все признаки основных элементов, которые всё ещё исполняются в C:\Windows\System32? Мы даже не заикаемся о том что происходит в его реестре. Очевидно, что всё ещё имеются сокращения, которые можно было бы сделать, и на некотором уровне такие новые операционные системы всё ещё строятся и латаются поверх старых.

Возможно, до сих пор. Сейчас мы собираемся обсудить пару альтернативных вариантов использования Windows Server 2016 в намного, намного меньшем масштабе. Сервер ядра присутсвовал до сих пор, однако я затрудняюсь найти людей, которые на самом деле используют его. Нано сервер, с другой стороны, является совершенно новым. Эти миниатюризированные версии Server 2016 имеют очень специализированные цели и некоторые очень очень большие преимущества. Давайте немного поизучаем вместе:

  • Зачем нужен Сервер ядра?

  • Взаимодействие с Сервером ядра

  • Доступные в Сервере ядра роли

  • Сопоставление Нано сервера и Сервера ядра

  • Установку вашего первого Нано сервера

  • Администрирование Нано сервера

Зачем нужен Сервер ядра?

Зачем я всё же начинаю говорить об Сервере ядра? Разве его не бло ещё начиная с 2008? Да, именно поэтому я и говорю об этом. В качестве варианта операционной системы Windows Server Сервер ядра присутствует с некоторых пор, однако очевидно, что многие администраторы боятся доверять ему. Я работал во многих различных компаниях в большом разнообразии сфер деятельности. Все они имеют один большой общий знаменатель - они используют большое число Windows Server, однако все эти Windows Server работают с полным GUI. Слышали ли они про Сервер ядра? Естественно. Проверяли ли они его у себя в лаборатории? Иногда. Все они склонны иметь слегка различный уровень опыта с Сервером ядра, однако крайне редко можно найти хотя бы один в промышленном применении. Может быть я просто разговаривал не с теми людьми, но я вынужден предположить, что большинство из нас, включая меня самого, нуждаемся в том, чтобы начать применение Сервера ядра на более постоянной основе.

Зачем нам нужно начинать использовать Сервер ядра? Потому что освобождённые от GUI сервера являются нашим будущим, говорит Microsoft. Можете ли вы поверить, что в предварительных просмотрах Windows Server 2016 варианта Снабжённого рабочим местом (Desktop Experience) даже не было в них? Вы не могли работать в полной GUI оболочке рабочего стола в 2016, даже если бы захотели, за исключением квази-, мини- оболочки, которую можно прилепить поверх Сервера ядра. Было так много обратных откликов по этому поводу от пользователей, более известных как шумиха, что полная опция Снабжённая рабочим местом (Desktop Experience) была добавлена обратно в одной из очередных массовых рассылок Технического предварительного просмотра. Но вы всё ещё можете заметить, что Сервер ядра является вариантом по умолчанию при установке данной операционной системы. Помните, когда мы в самом начале нашей книги быстро просматривали действительную установку Server 2016? Вариантом по умолчанию вовсе не была Снабжённая рабочим местом (Desktop Experience) опция, а именно, самой верхней опцией в приведённом ниже снимке экрана была опция для установки Сервера ядра, управляемого из командной строки:

 

Рисунок 1



Microsoft хотел уйти прочь от графического интерфейса, потому что GUI встаёт на пути автоматизации и масштабирования. Когда все наши серверы строятся очень похоже, это означает, что мы можем делать с ними более облачные функции. Автоматическое раскручивание и ликвидация ресурсов как только они не требуются, раскрутка десятков серверов за один клик или переключение, такие виды автоматизации и установки размеров возможны в имеющемся облаке, однако они возможны только благодаря тому, что инфраструктура настраивается способом, который настолько стандартизован. Облачные аппаратные ресурсы требуют рационализации таких операций и средства автоматизации могут заставить их делать что нужно, причём не беспокоясь обо всех переменных, которые бы присутствовали в настраиваемом пользователем графическом интерфейсе.

Существуют и другие очевидные преимущества исполнения всех ваших серверов в качестве такой лимитированной, ограниченной версии. Сервер ядра хвалится уменьшением пространства дисковых устройств, уменьшением потребления оперативной памяти, а также уменьшением поверхности для атак по сравнению с обычным, полностью надутым сервером. Теперь вы можете видеть почему я сделал вынужденное тяжёлое замечание, минуту назад, что мы все должны начинать чувствовать себя более уверенно с Сервером ядра!

Больше нет переключения назад и вперёд

Существует очень важное замечание которое я бы хотел здесь отметить. Те, кто работал с Сервером ядра в Windows Server 2012 R2, знают, что у нас была возможность изменения сервера на лету. Я здесь имею в виду то, что если вы создаёте новый сервер как обладающий полной опцией Снабжённого рабочим местом (Desktop Experience), позже вы можете изменить его на Сервер ядра. Обратный подход был в точности так же возможен, вы могла взять Сервер ядра и перебросиь его в полностью Снабжённый рабочим местом.

Больше это не так! Такая возможность перемещения сервера назад и вперёд между платформами была удалена/ затёрта/ уничтожена/ обнулена. Я повторяю, это больше не возможно. Поэтому тщательно планируйте с текущего момента свою установку операционной системы. Если вы установите некий Сервер ядра, этот пацан собирается навсегда оставаться Сервером ядра на протяжении всей своей жизни. {Прим. пер.: в рецепте Переключение между Сервером ядра и Снабжённым рабочим столом?, доступного в нашем переводе Книги рецептов Windows Server 2016 Джордана Краузе, приводятся последовательности действий, которые могут вам помочь обнаружить такую возможность, если он всё- таки вернётся в Windows Server 2016 в последующих выпусках.}

Взаимодействие с Сервером ядра

После выполнения своей первой установки Сервера ядра, вам будет предстален такой закрытый экран:

 

Рисунок 2



Это на самом деле окно приглашения Командной строки, которое сообщает Нажмите Ctrl-Alt-Del для разблокировки? Да, да, это так. Обычно это вызывает некий смех про себя, когда некий администратор видит это впервые. Я знаю, это относится и ко мне, в любом случае. Это слегка напоминает мне то время, когда мы применяли для кодированя игр если/ то свои калькляторы TI-83 в процессе обучения в старших математических классах. Остановите меня, я снова выхожу на след кролика. Пройдём далее и нажмём Ctrl + Alt + Del и вы получите приглашение изменить пароль администратора в этот первый вход, в точности так же, как в случае с полной GUI версией Windows Server. За исключением того, конечно, что вы делаете это в окне приглашения Командной строки используя только клавиатуру. Когда вы официально зарегистрируетесь в своём сервере, вы обнаружите себя находящимся в обычном приглашении C:\Windows\system32\cmd.exe с мигающим курсором в ожидании инструкций.

 

Рисунок 3



Занимательно, что окно приглашения Командной строки не окупирует весь экран, совершенно очевидно, что имеется чёрный фон поверх которого взгромоздился этот cmd.exe. Я всего лишь нашёл это интересным, потому что вы можете сказать, что операционная система Ядра сама по себе является чем- то другим чем приглашение Командной строки и что cmd.exe всего лишь автоматически запускающееся приложение. Вы даже можете воспользоваться своеё мышью здесь и изменить размер или переместить это окно Командной строки. Я буду удивлён, если и когда это будет заменено на приглашение PowerShell по умолчанию и если оно будет занимать весь экран в последующих версиях.

 

Рисунок 4



Ещё более интересно и приятно узнать, что вы можете запускать некоторые реальные GUI- подобные приложения из этого приглашения. Например, вы можете открыть Записную книжку (Notepad) и воспользоваться ею, причём применяя как клавиатуру, так и мышь, в точности как если бы это происходило в любой версии Windows. Если у вас имеется открытая Записная книжка, созлайте некую запись и сохраните её; вы можете видеть, что на самом деле имеется реальная файловая структура и относительно нормально выглядящая система папок. Так что в отличие от некоторой формы чёрной магии, Сервер ядра в действительности является самой настоящей операционной системой, обёрнутой в более или менее безопасный пакет.

PowerShell

Итак, что касается управления Сервером ядра вы, очевидно, можете применять Командную строку. В действительности, однако, доступные внутри Командной строки команды и функции будут ограничены. Имеет гораздо больше смысла при вашей работе в консоли коробки Сервера ядра Windows применять Командную строку только с одной целью - запустить PowerShell и затем применять его для выполнения любой необходимой на этом сервере задачи. Самый быстрый известный мне способ переместиться в PowerShell из основного приглашения Командной строки это просто набрать слово PowerShell и нажать Enter. Это привнесёт возможности самого PowerShell прямо в ваше имеющееся окно приглашения Командной строки с тем, чтобы вы могли начать взаимодействие с командами PowerShell и cmdlet, которые нужны вам чтобы на самом деле манипулировать данным сервером:

 

Рисунок 5



Что является первым делом, которое мы обычно выполняем на новых серверах? Конечно, присваиваем ему некий IP адрес. Без связи с сетью мы ничего больше не сможем делать с этим сервером. Вы можете назначить информацию IP адреса для NIC применив PowerShell на любом новом Windows Server, однако большинство из нас не имеют такой привычки. Так как мы не можем просто открыть Панель управления (Control Panel) и войти в Центр сетевой среды и совместных ресурсов (Network and Sharing Center), как мы это можем делать изнутри своего Снабжённого рабочим местом GUI Windows Server, где мы начинаем делать сетевые настройки такого нового Сервера ядра?

Cmdlet для управления адресами IP

Здесь присутствуют cmdlet, которые вы можете использовать для просмотра и манипулирования настройками IP адреса изнутри PowerShell. Опять же, те же самые cmdlet могут применяться в версии Windows Server с полным GUI, Сервером ядра или в Нано сервере, о котором мы поговорим очень скоро. В настоящий момент мы работаем с Сервером ядра, в котором у нас имеется доступным для нас только интерфейс командной строки, поэтому данные приводимые ниже cmdlet-ы существенны для подключения к сети нашего нового сервера:

  • Get-NetIPConfiguration: Отображает текущие сетевые настрйки.

  • Get-NetIPAddress: Отображает текущий IP адрес.

  • Get-NetIPInterface: Показывает список NIC и их номера ID интерфейсов. Этот номер будет очень важен при установке некоторого IP адреса, так как мы хотим быть уверенными, что мы попросим PowerShell настроить правильный IP на правильный NIC.

  • New-NetIPAddress: При меняется для настройки нового IP адреса.

  • Get-DNSClientServerAddress: Используется для установки настроек DNS сервера в свойствах данного NIC.

Давайте быстро пройдём по настройке статического IP адреса на моём новом экземпляре Сервера ядра чтобы убедиться, что всё это работает. Я хочу назначить IP адрес 10.0.0.30 этому новому серверу, однако вначале мне нужно найти для какого номера идентификатора интерфейса NIC он должен быть назначен. Вывод Get-NetIPInterface сообщает нам, что тот ifIndex, которым я интересуюсь, имеет номер 2:

 

Рисунок 6



Теперь, когда мне известен номер интерфейса, давайте построим команду, которая назначит новые установки IP адреса имеющемуся NIC. Я собираюсь применить одну команду для назначения IP адреса, префикса маски подсети и шлюза по умолчанию. Я применю вторую команду чтобы назначит адреса DNS сервера:


New-NetIPAddress –InterfaceIndex 2 –IPAddress 10.0.0.30 –PrefixLength 24 –DefaultGateway 10.0.0.1
Set-DNSClientServerAddress –InterfaceIndex 2 –ServerAddresses 10.0.0.2,10.0.0.3
 	   
 

Рисунок 7



Теперь, все эти настройки должны быть готовы к работе в данном NIC. Давайте повторно проверим это при помощи cmdlet Get-NetIPConfiguration. В качестве альтернативы вы можете воспользоваться старой доброй ipconfig для проверки данных настроек, однако какая в этом радость?

 

Рисунок 8



[Совет]Совет

Помните, вы можете также воспользоваться резервированием DHCP чтобы сделать это слегка быстрее. Если вы выполните ipconfig /all в своём Сервере ядра и перепишите имеющийся MAC адрес, вы сможете создать некое резервирование в DHCP и назначить определённый IP адрес своему новому серверу таким образом. {Прим. пер.: подробнее см. рецепт Создание резервов DHCP для определённых серверов или ресурсов, в нашем переводе Книги рецептов Windows Server 2016 Джордана Краузе}.

Установка имени хоста сервера

Теперь, когда у нас имеется связь с сетевой средой, хорошим следующим шагом будет настройка имени хоста нашего сервера и его подключение к домену. Первейшее из первых, давайте посмотрим на текущее имя данного сервера и изменим его на нечто отвечающее нашим стандартам. Когда вы заново установили Windows, он самостоятельно получает автоматическое имя хоста для данного сервера. Вы можете ознакомиться с текущим именем хоста просто набрав hostname и нажав Enter.

 

Рисунок 9



Чтобы изменить имя хоста своего сервера, нам нужно воспользоваться PowerShell. Перейдите в приглашение PowerShell если вы ещё не там и всё что вам нужно сделать, это применть cmdlet Rename-Computer чтобы установить новое имя хоста. Я решил присвоить своему серверу имя CORE1 - вот так, я помещаю в это много смысла - поэтому я должен применть команду как это показано ниже. Помните, что после переименования вашего компьютера в точности как и с версией GUI Windows Server, необходим перезапуск системы чтобы изменение вступило в силу. Поэтому следующей командой вслед за Rename-Computer вы должны выполнить Restart-Computer для перезагрузки своего ящика.


Rename-Computer CORE1
Restart-Computer
 	   
 

Рисунок 10



Присоединение к вашему домену

Следующим лтгическим шагом, конечно же, является подключение к вашему домену. Это стандартные функции, которые мы могли бы выполнить на любом сервере в нашей среде, однако мы выполним их таким образом, с которым вы никогда не сталктвались ранее, так как вы всё выполняем строго из интерфейсов Командной строки и PowerShell. Для присоединения некоторого Сервера ядра к своему домену проследуйте в PowerShell и затем воспользуйтесь cmdlet Add-Computer. Вы получите запрос на определение как самого имени домена, так и полномочий для подключения к этому домену, той же само информации, которую вы бы определяли если бы вам пришлось подключаться к некоторому домену в режиме Снабжённого рабочим местом (Desktop Experience) Windows Server 2016. Вначале вы задаёте необходимые подтверждения полномочий:

 

Рисунок 11



Затем вы сообщаете к какому домену вы бы хотели подключиться:

 

Рисунок 12



В качестве альтернативы вы можете применить параметр –DomainName в комбинации с первоначальным cmdlet Add-Computer чтобы определить необходимое имя в этой первоначальной команде. И, естественно, после подключения к домену вам необходимо снова Restart-Computer чтобы завершить это изменение.

Диспетчер сервера

Когда начальная настройка вашего сервера будет каким- то образом обработана в доступных из консоли интерфейсах командной строки, раз ваш сервер был установлен в вашей сетевой среде, было бы более полезным для вас слегка расширить его горизонты. Применяя инструменты аналогичные Диспетчеру сервера для управления многими различными серверами из единой точки, вы начнёте приспосабливаться к новому "менталитету централизованного управления" Microsoft. Да, такая возможность удалённого управления в Диспетчере сервера, которую мы изучали ранее в данной книге позволяет вам проникать не только в Windows Server на основе GUI, но также и в экземпляры Сервера ядра.

Я хочу установить некую роль на свой новый сервер CORE1. Я могу сделать это прямо из консоли своего сервера, но вместо этого я попытаюсь добавить CORE1 в Диспетчер сервера, который работает на другом моём сервере. Я собираюсь зарегистрироваться на сервере WEB1 и воспользоваться Диспетчером сервера на нём. В точности так же, как мы это уже видели, я могу добавить новый сервер в Диспетчер сервера при помощи меню Управления (Manage) и выбрать Add Servers:

 

Рисунок 13



Добавьте новый сервер CORE1 в наш список управляемых машин, и он теперь может управляться изнутри этого экземпляра Диспетчера сервера. Возвращаясь назад к имевшемуся у меня изначально намерению, я желаю установить некую роль на CORE1. Если я воспользуюсь функцией Add roles and features внутри Диспетчера сервера, я могу теперь выбрать для манипуляций свой сервер CORE1:

 

Рисунок 14



В точности так же, как при работе с версией Windows Server, полностью Снабжённой рабочим местом (Desktop Experience), мы теперь можем завершить проход по мастеру установки выбранной роли и такая новая роль будет установлена на CORE1.

Инструменты удалённого администрирования сервера

Также верным является и тот факт, что вы можете управлять экземплярами Сервера ядра при помощи RSAT (Remote Server Administration Tools, Инструментов удалённого администрирования сервером) в Windows 10. RSAT по существу просто является копией Диспетчера сервера, которая разработана для работы в имеющейся клиентской операционной системе. В нашем случае у меня уже имеется машина в Windows 10, на которой я установил RSAT ранее в этой книге, поэтому я проверю это зарегистрировавшись на этом парне и добавив CORE1 в свой интерфейс. Я только закончил устанавливать свою роль IIS на CORE1 в своём предыдущем задании, поэтому я должен иметь возможность увидеть её пречисленной внутри RSAT, когда я подключусь к CORE1.

Если вы ранее не применяли RSAT и не читали тот раздел в нашем тексте, важно зать что не существует приложения с названием "Remote Server Administration Tools" (Инструментов удалённого администрирования сервером). Вместо этого, по окончанию установки RSAT загляните вовнутрь своего меню Пуск (Start) и отыщите приложение, называющееся Диспетчером сервера (Server Manager). Именно его вы применяете в клиенте Windows 10 для удалённого управления экземплярами Windows Server 2016.

 

Рисунок 15



В точности так же как если бы вы работали из интерфейса Диспетчера сервера Windows Server 2016, пройдите далее и прошвырнитесь по имеющемуся мастеру чтобы добавить серверы для управления. Раз я добавил в Диспетчер сервера CORE1, я могу видеть IIS перечисленным внутри своей приборной панели. Это означает, что моя оаботающая на CORE1 служба IIS видна, доступна и может настраиваться прямо с настольного компьютера Windows 10. Для большей части задач, которые мне необходимо выполнять на CORE1, мне никогда не понадобится беспокоиться о регистрации в консоли этого сервера. Если я кликну правой кнопкой по имени сервера CORE1, из данной консоли RSAT, вы можете увидеть, что у меня имеется множество доступных мне функций, которые я могу применять к этому удалённому экземпляру CORE1.

 

Рисунок 16



Таким образом, вы можете отметить, что существуют варианты применения инструментария GUI для управления вашими не имеющими GUI экземплярами Windows Server. Это всего лишь вопрос включения вашего сознания в работу, при которой вы представляете себе серверы выхолощенными (headless), а при этом инструментам навроде PowerShell или Диспетчера сервера на самом деле всё равно будет ли изменяемый вами сервер локальным или удалённым. В любом случае процессы и инструменты будут одинми и теми же.

Неумышленное закрытие командной строки

Существует обычная подножка, о которую вы спотыкаетесь, если только вы не пользовались интенсивно Сервером ядра ранее. У нас имеется стремление закрывать окна и приложения, которыми мы больше не используем, и так же точно вы можете неосознанно закрыть своё окно приглашения Командной строки, которое обслуживает всё ваше административное присутствие в рамках некоторого Сервера ядра. Теперь вы сидите за большим пустым экраном при кажущемся полном отсутствии какого- либо интерфейса и места, откуда можно было бы получить его. Придётся ли вам вернуться обратно для его сброса? Это могло бы прервать все роли и имеющийся обмен, которые может обслуживать данный сервер для своих пользователей, поэтому очевидно, что это не самый лучший подход.

Существует простой способ для возврата приглашения Командной строки назад, заключающегося в применении Диспетчера задач (Task Manager) для запуска нового экземпляра приглашения Командной строки. Когда вы находитесь перед пустым чёрным экраном некоторой консоли Сервера ядра, вы можете нажать Ctrl + Alt + Del и вам будут предложены следующие варианты:

 

Рисунок 17



На самом деле имеется всего несколько различных функций которые вы можете здесь выполнить, что достаточно классно. Однако, чтобы получить наше окно приглашения Командной строки обратно, пройдитесь стрелкой вниз до Диспетчера задач (Task Manager) и нажмите Enter. Это запустит приложение Диспетчера задач, с которым вы все знакомы. Теперь кликните по Дополнительным подробностям (More details) чтобы раскрыть окно Диспетчера задач. Раскройте вниз меню Файлы (File) и кликните по Выполнить новую задачу (Run new task):

 

Рисунок 18



В блоке Создания новой задачи (Create new task) наберите cmd и кликните OK.

 

Рисунок 19



В качестве альтернативы вы можете определить для запуска любое приложение напрямую в этом приглашении Создания новой задачи (Create new task). Если вы заинтересованы в переходе сразу к PowerShell, вместо набора cmd просто введите это приглашение powershell и оно будет открыто напрямую:

 

Рисунок 20



Доступные в Сервере ядра роли

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

  • Active Directory Certificate Services (AD CS, Службы сертификации AD)

  • Active Directory Domain Services (AD DS, Службы домена AD)

  • Active Directory Lightweight Directory Services (AD LDS, Службы облегчённого протокола доступа к каталогам AD)

  • Active Directory Rights Management Server (AD RMS, Сервер управления правами AD)

  • DHCP Server

  • DNS Server

  • File Services (Файловые службы)

  • Print and Document Services (Службы печати и документов)

  • Routing and Remote Access (Маршрутизация и удалённый доступ)

  • Streaming Media Services (Службы потоковых носителей)

  • Hyper-V

  • Web Server

  • Windows Server Update Server (Сервер обновлений Windows Server)

Сопоставление Нано сервера и Сервере ядра

Представим, что вы владеете двумя машинами, семейным внедорожником и седаном среднего размера. Ваш внедорожник имеет все возможные бантики и может выполнить всё что вы только пожелаете. Ваш седан доставляет вас туда куда вам нужно и при этом он меньше в размере, хотя возможно и слегка ограничен. Его достоинством является то, что он дешевле при покупке и потребляет меньше ресурсов при перемещении по дорогое. Вы видите к чему я клоню, ваш внедорожник это Windows Server Desktop Experience (GUI, Снабжённый рабочим местом сервер), а ваш седан это наш Server Core (Сервер ядра).

Теперь нарисуем мопед. Сверхмаленький, невероятно эффективный по топливу и очень простой в сравнении с машиной, так как времена его постройки и восстановления значительно ниже. Возможность для его разрушения в первую очередь также меньше, так как все его компоненты упрощены и не подвержены серьёзным воздействиям. Нано сервер это ваш мопед. Да, этой аналогии не хватает одного момента - интенсивной безопасности, предоставляемой Нано сервером. Сохранность и безопасность обычно не ассоциируются с мопедами, поэтому давайте переосмыслим это. Возможно, если бы данный мопед имел подушку безопасности, или если бы он мог летать. Или ещё лучше - мопед невидимый. Опять двадцать пять - Нано сервер это ваш невидимый мопед. Да, Microsoft, я разрешаю вам использовать эту цитату на своём вебсайте.

Шутки в сторону, это совершенно новая опция установки Windows Server данного года с Sever 2016. Нано сервер похож на Сервер ядра, однако он делает значительный шаг вперёд в переводе на размер и безопасность. давайт взглянем на некоторые особенности Нано сервера и чем он отличается от Сервера ядра.

Значения размера и сопровождения

Нано сервер крошечный! Говорят, что он в 20 раз меньше чем Сервер ядра. Вот некоторые численные значения от Microsoft, предназначающиеся для произведения впечатления:

На 93 процента меньший размер VHD означает что больше в дисковом пространстве нет потребления теми частями операционной системы, которые вам больше не нужны.

На 92 процента меньше сводок безопасности означает, что намного меньше времени придётся тратить на исправления и сопровождение Нано сервера.

На 80 процентов меньше перезагрузок. Это невероятно, в особенности учитывая, что наше число перезагрузок уже значительно уменьшено за последние несолько лет при происшедших изменениях в наших механизмах обновления Windows. Процесс перезагрузки к тому же значительно быстрее чем для верий Windows Server 2016 большего размера.

Только приложения с 64- битным кодом. Это важно понимать, когда вы начинаете применять Нано сервер, что они поддерживают только 64- битные приложения.

425 МБ - это значение от меня. Это реальный размер приложения, которое мы собираемся построить вместе всего через несколько минут. Хотя общий размер вашего Нано сервера будет отличаться в зависимости от той роли, которую вы собираетесь примянять на нём, наличие виртуальных дисков менее 1 ГБ собирается быть стандартным в средах Нано серверов. С другой стороны, базовая коробка Сервера ядра, которую мы построили ранее имеет отпечаток на диске 7 ГБ. Ух!

Всего 35 секунд требуется для настройки нового Нано сервера, в противоположность примерно 300 секундам для Сервера ядра - и это только если вы автоматизировали настройку Сервера ядра. Стандартная установка происходит ещё дольше.

нано сервер грузится примерно за 9 секунд. Даже мгновенно действующий, облегчённый Сервер ядра намного медленнее в этом сравнении, поскольку его времена составляют примерно 85 секунд для времени загрузки.

Доступность

В отличии от Сервера ядра, Нано сервер не предназначен для настройки из консоли. Что ж, в любом случае это оригинальная идея. В какой- то момент планировалось, что Нано сервер будет полностью выхолощен (headless) с тем, чтобы любое администрирование с его ящиком нуждалось в удалённом исполнении. Это было слегка изменено, как я полагаю, из -за негативного обратного отклика от проводивших тестирование пользователей и потребителей. Имеются очень ограниченные функции консоли, которые можно выполнять при помощи монитора и вашей клавиатуры. С консоли вы можете назначить некие сетевые устанвоки инастроить части межсетевого экрана. Однако, Нано сервер определённо разработан для удалённых доступа и администрирования, поэтому вам придётся ознакомиться с инструментами удалённого администрирования, которые могут использоваться для взаимодействия с Нано сервером. Многие из существующих инструментов удалённого управления Microsoft в настоящее время совместимы для применения с Нано сервером. Предполпагется, что PowerShell будет наиболее популярным способом, которым народ будет взаимодействовать с Нано сервером, но вы также можете применять такие инструменты как Диспетчер сервера (Server Manager), WinRM, WMI, VMM, SCOM и новый SMT, выполняющийся в Azure для сопровождения таких серверов.

Важно отметить отсутствие RDP. Запомните, для данного вида серверов просто нет GUI, поэтому самый популярный инструмент администрирования во все времена - Протокол удалённого рабочего места (Remote Desktop Protocol) - не собирается вам ничего предоставлять здесь.

Совместимость

В то время как Сервер ядра являетс ограниченной, но практически полностью совместимой операционной системой для большинства ролей в мире Windows, Нано сервер был создан, пока что, для ограниченной области применения. Я полностью уверен в том, что предоставляемая Нано сервером совместимость продолжит расти в скором будущем. На настоящий момент вот полный перечень сценариев, которые Microsoft считает достойным исполнения на Нано сервере:

  • Hyper-V: Для применения в качестве вычислительного хоста для виртуальных машин Hyper-V

  • File Server: Для использования в качестве хоста хранения для файловых серверов

  • DNS Server: Для работы сервером DNS

  • Web Server: Для применения в качестве веб сервера IIS

  • Cloud Application Server (Сервер облачных приложения): Для использования в качестве хоста для разработанных под работу в облаке приложений.

Установка

При установке экземпляра Windows Server 2016 Снабжённого рабочим местом (Desktop Experience) или Сервера ядра (Server Core) Windows Server 2016, всё что вам нужно сделать, это вставить свой ISO в DVD или USB флешку, исполнить установщик и выбрать нужную вам опцию установки. Как вы могли заметить в процессе установки, или даже - если вы не могли этого увидеть - не сущесвует опции выбора установки какого бы то ни было Нано сервера. Это несомненно может измениться в недалёком будущем, так как всё больше и больше людей проявляют интерес в применении Нано, однако для настоящего времени нам необходимо предпринять некие особые шаги чтобы построить образ, который мы будем применять для загрузки нашего нового Нано сервера.

Сразу после этого текста мы рассмотрим более подробно пошаговые действия, которые вам необходимо выполнить чтобы построить ваш первый Нано сервер, однако, когда мы сравниваем Сервер ядра и Нано сервер, важно понимать, что их установка совершенно различна. Для Нано вы будете строить файл VH, свой виртуальный диск, который будет применяться при загрузке, вне сферы действия процесса установки Windows. Когда такой VHD создан, смонтирован и наполнен данными, тогда вы перемещаете этот VHD в виртуальную машину, которую вы планируете использовать в качестве своего Нано сервера и просто загружаете его. Итак, пусть следующие шаги (разделы) говорят сами за себя...

Настройка вашего первого Нано сервера

Давайте приступим к раскрутке Нано сервера с тем, чтобы мы могли действительно посмотреть на него. Мы собираемся построить файл VHD применяя инструменты, которые доступны в установочном ISO Windows Server 2016. По окончанию построения мы применим этот новый VHD для загрузки новой виртуальной машины, которая будет нашим новым Нано сервером.

Подготовка файла VHD

Вот основная часть того, что нам нужно сделать чтобы взглянуть на Нано сервер, и это состоит в том, что нам необходимо построить свой файл VHD. Первое что мы должны сделать, это отобрать некоторые файлы с носителя установки Windows Server 2016. Прежде чем мы начнём отбирать эти файлы, продолжите и смонтируйте этот ISO на буквенное устройство своего компьютера. Простой двойной клик по этому файлу ISO обычно автоматически монтирует его на следующее доступное буквенное устройство. Например, когда я дважды кликнул по своему ISO установки, он был смонтирован на моё буквенное устройство D. Теперь я могу получить доступ к этим файлам на данном ISO, как если бы он был DVD, вставленным в соответствующий дисковод DVD (D:) в моей машине. Если вы откроете этот ISO файл, вы пожелаете скопировать всю папку NanoServer целиком на диск своего компьютера, с которым вы работаете. Например, скопируем D:\NanoServer в C:\NanoServer, чтобы эти инструменты и файлы с данного ISO располагались на вашем собственном жёстком диске.

В компьютере или сервере где теперь расположены эти файлы продолжите запустив сеанс PowerShell с правами администратора. Затем переместитесь в каталог, в которм вы сохранили эти файлы. В моём случае это C:\NanoServer на моём компьютере и поэтому именно в этом каталоге я расположусь в своём приглашении PowerShell.

Теперь нам нужно импортировать сценарий Generator в свой сеанс PowerShell. Испольните это такой командой:


Import-Module –Name C:\NanoServer\NanoServerImageGenerator\NanoServerImageGenerator.psm1 -Verbose
 	   
 

Рисунок 21



Далее мы выполняем команду построения нашего файла VHD. Имеется ряд различных переключателей, которые могут быть определены внутри данной команды, поэтому давайте потратим минутку и объясним некоторые из них. Вот основная команда, с которой мы будем работать:


New-NanoServerImage –MediaPath <MEDIAPATH> -DeploymentType <DEPLOYMENT_TYPE> -Edition <EDITION> -TargetPath <TARGETPATH> -ComputerName <HOSTNAME>
 	   
  • MEDIAPATH: Применяется для определения пути к ISO Server 2016. Доступ к этому файлу необходим для изъятия из него информации в процессе построения нашего VHD.

  • DEPLOYMENT_TYPE: Здесь мы определяем будет ли наш Нано сервер "guest" или "host".

  • EDITION: Определяет редакцию вашего Нано сервера, будет ли он Server 2016 Standard, либо Datacenter.

  • TARGETPATH: Используется для определения пути вывода создаваемого файла VHD. Проверьте, что определили и сам путь, и реальное имя этого файла, включая его расширение.

    [Совет]Совет

    Важно отметить, что вы можете создавать либо файл VHD, либо файл VHDX. VHD создаст его как диск MBR. Если же вы создаёте файл VHDX, он шлёпнет этот диск в GPT. В зависимости от того что вы собираетесь предпринимать с данным сервером, вам необходимо сделать соответствующий выбор. {Прим. пер.: советуем ознакомиться с разделами Настройка таблицы разделов GUID (GPT) дисков и Создание файлов VHD и VHDX при помощи Диспетчера сервера или Windows PowerShell в нашем переводе увидевшего свет в январе 2017 "Курса подготовки к экзамену 70-740" Крейга Заккера (Установка, хранение и вычисления с Windows Server 2016).}

  • COMPUTERNAME: Применяется для задания имени хоста, которое вы хотите назначить своему Нано серверу.

После задания всех перечисленных выше элементов, та определённая команда, которую я выполню выглядит так:


New-NanoServerImage –MediaPath D:\ -DeploymentType Guest –Edition Standard –TargetPath C:\NanoServer\NANO1.vhd –ComputerName NANO1
 	   
 

Рисунок 22



После нажатия Enter на предыдущей команде, система попросит вас предоставить пароль администратора для данного нового сервера. Предоставьте пароль и процесс создания вашего VHD начнётся! По мере раскрутки данного процесса вы можете наблюдать за значительным числом предпринимаемых этапов при подготовке к применению вашего нового файла VHD для нас.

 

Рисунок 23



По завершению, совершенно новый файл NANO1.vhd располагается внутри папки C:\NanoServer в моём компьютере, прямо там, где я планировал его увидеть. Как вы можете увидеть, выходной файл VHD не достигает даже 500 МБ, а я говорил вам, что эти серверы очень маленькие!

 

Рисунок 24



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

Имея в своих руках новый файл VHD, следующий шаг состоит в в применении этого виртуального жёсткого диска для создания новой виртуальной машины. Я собираюсь создать новую, очень простую виртуальную машину только чтобы посмотреть на неё. Просто загрузите эту ВМ моим новым файлом VHD и я уже нахожусь в её консоли совершенно нового Нано сервера!

 

Рисунок 25



Построитель образа Нано сервера

Процесс, которым мы только что прошли чтобы создать наш новый сервер NANO1 не представляется черезчур сложным, когда вы ознакомились с ним, однако всё ещё есть очень много ИТ администраторов, которые не применяют PowerShell постоянно. К счастью для этого народа, существует совершенно новая графическая утилита с названием Построителя образа Нано сервера (Nano Server Image Builder). Этот инструмент позволяет выбирать и определять опции Нано сервера, который вы хотите создать, прямо в графическом интерфейсе, используя ваши клавиатуру и мышьи на выходе он выделяет для вас файл VHD. Никакой PowerShell не нужен! Построитель образа Нано сервера также на самом деле является прекрасным средством для реализации Нано сервера на физическое оборудование, так как вы легко можете выдать установщик USB вместо того чтобы экспортировать некий VHD файл. Опции установки развиваются очень быстро и я советую вам оставать ся в курсе основных новостей TechNet на предмет самых последних и лучших метеодов для реализации Нано. Вот замечательный отправной пункт: https://technet.microsoft.com/en-us/windows-server-docs/get-started/deploy-nano-server.

Администрирование Нано сервера

Раьота с Нано сервером совершенно отличается от прочих разновидностей Windows Server 2016, в первую очередь потому, что Nano разработан быть выхолощенным (headless), без необходимости доступа к какой бы то ни было консоли. Вот некоторые из опций, которые в настоящее время доступны вам для мониторинга, сопровождения и прочего администрирования Нано сервера.

Консоль восстановления Нано сервера

Как мы уже видели при самом первом запуске нашего нового Нано сервера, у него имеется очень ограниченная консоль, при помощи которой вы можете только устанавливать сетевые настройки. Это Консоль восстановления Нано сервера (Nano Server Recovery Console). Главная цель данной консоли достаточно своеобразная. Если вы каким- то образом утратили сетевые настройки своего Нано сервера при использовании удалённых срадств администрирования, это ваша карта выхода- из- заточения- на- свободу в которой вы можете зарегистрироваться и сбросить установки IP адреса, что позволит вам опять вернуться к удалённым средства администрирования. Давайте зарегистрируемся в этой консоли на минутку и взглянем на доступные нам опции. Введя свои имя пользователя и пароль мы обнаружим себя за следующим экраном:

 

Рисунок 26



Вы можете видеть, что мы в настоящее время прихватываем некий IP адрес от работающего в нашем окружении сервера DHCP, что прекрасно. Однако, если у вас появились проблемы с доступом в Нано серверу из средств удалённого администрирования и вы подозреваете, что что- то идёт не так с данными локальными настройками IP, вы можете нажать Tab чтобы высветить опцию Сетевых настроек (Networking) рядом с нижней частью экрана, а затем нажать Enter, чтобы посмотреть свои сетевые настройки. Будучи внутри установки своего IP адреса, вы можете нажать на клавиатуре F11 чтобы изменить или обновить свои настройки IPv4.

 

Рисунок 27



Помимо Networking, единственная другая опция внутри данной консоли восстановления это Межсетевой экран (Firewall). Внутри данного раздела консоли Нано сервера вы увидите перечень предустановленных Правил межсетевого экрана (Firewall Rules). Выберите правило, и у вас имеется возможностьвключить или выключить это определённое правило при помощи клавиши F4.

 

Рисунок 28



Удалённый PowerShell

Когда вы определили IP адрес своего нового Нано сервера, будь то просмотр внутри консоли восстановления, или его считывание внутри ваших выделений DHCP для вычисления того, какой IP он прихватил, самое время начать реальное администрирование вашего ноого сервера. Это требует применения некого внешнего инструмента удалённого управления. Наиболее общеупотребимый? PowerShell. Давайте испробуем некоторые команды, которые позволят нашему локальному приглашению PowerShell удалённо управлять нашим сервером NANO1.

Первое что нам нужно сделать, это добавить NANO1 в наш список машин доверенных хостов. Откройте поднявшееся приглашение PowerShell в своём компьютере в котором вы хотите установить такое удалённое соединение PowerShell и воспользуйтесь следующей командой:


Set-Item WSMan:\localhost\Client\TrustedHosts "10.0.0.25"
 	   

(Очевидно, что вы пожелаете заменить 10.0.0.25 на IP адрес своего Нано сервера.)

 

Рисунок 29



Теперь нам просто нужно запустить свой удалённый сеанс PowerShell. Всё ещё находясь внутри поднятого приглашения такая одиночная строка должна дать вам соединение. Когда вы введёте данную команду, вы получите запрос на ввод пароля администратора и затем получите возможность выполнять удалённо команды PowerShell на своём сервере NANO1.


Enter-PSSession –ComputerName 10.0.0.25 –Credential administrator
 	   
 

Рисунок 30



Теперь вы находитесь в приглашении PowerShell, которое удалённо соединено с вашим сервером NANO1. Что доказывает что это на самом деле NANO1? Попробуйте нечто типа простых команд hostname или ipconfig.

 

Рисунок 3



Так как теперь у вас имеется полный доступ PowerShell к данному Нано серверу, вы можете делать достаточно много из того что пожелаете с этим сервером, причём прямо из этой консоли. Однако, важно отметить, что PowerShell в Нано сервере не столь всеобъемлющ, как в обычной версии Windows Server. некоторые команды и cmdlet работают, а какие- то нет. Если вы желаете увидеть перечень всех PowerShell cmdlet, которые включены в Нано сервер, просто выполните следующую команду для отображения такого списка:


Get-Command –CommandType cmdlet
 	   

Удалённое управление Windows

Если вам нужно выполнить приложение WinRM удалённо на Нано сервер, вам повезло. Это также возможно. Чтобы воспользоваться WinRM, необходимо несколько команд на вашем Нано сервере чтобы позволить ему начать работу:


winrm quickconfig
winrm set winrm/config/client@{TrustedHosts="*"}
chcp 65001
 	   

Так должно быть! Теперь вы должны быть способны выполнять команды WinRM удалённо на своём Нано сервере.

Прочие инструменты управления

Имеется ещё несколько инструментов управления, которые применяются менее часто, по крайней мере, как я это наблюдаю на практике, однако они всё же возможны для применения чтобы работать с Нано сервером. Если вы применяете для работы Windows Management Instrumentation (WMI), Нано сервер также будет взаимодействовать с этим инструментарием. Дополнительно, если ваша организация использует Virtual Machine Manager (VMM) или System Center Operations Manager (SCOM), оба этих интерфейса имеют возможности взаимодействия с нано сервером.

Совершенно новым в этой смеси является уже упоминавшийся ранее в этой книге Server Management Tools (SMT). Это часть вашей подписки Azur, однако он за него не взимается плата, к счастью. Если вы выберете применение SMT, у вас будет возможность управления и манипуляции многими сторонами ваших Нано серверов прямо из вашей регистрации Azur!

Выводы

Я должен быть честен с вами, написание этой главы было как пинок под зад, что я должен начать думать о сокращении своих собственных серверов. Я в той же лодке, что и многие из вас. Я знаю, что такое Сервер ядра и я игрался с ним, однако никогда не предпринимал реальных шагов к его применению в поддерживаемых мной промышленных средах. Новый Нано сервер безусловно начнёт искать своё место в этой среде, однако это может потребовать несколько большего времени чтобы он в действительности стал мейнстримом из- за своих ограниченных возможностей в настоящее время. Излагая другими словами все те преимущества, которые имеет сам по себе Сервер ядра, он в действительности меняет мою перспективу и делает меня верующим в то, что он заслуживает быть опцией по умолчанию при установке новых серверов. Сердцевиной и существенной основной линией того, чтобы заставить работать в вашей среде Сервер ядра или Нано сервер является хорошее, глубокое понимание интерфейса PowerShell. Поэтому не забудьте уделить некоторое время на знакомство со всеми возможностями, предоставляемыми этим инструментом.

Самым большим преимуществом, которое я вижу для компаний начинающих применять Нано сервер состоит в вычислительном хостинге для их структуры виртуализации. Вместо того, чтобы устанавливать роль Hyper-V на обычный Windows Server, почему бы не сделать такой хост Hyper-V намного более безопасным и заставляющим его перезагружаться намного реже поместив Hyper-V вместо этого в Нано сервер? Вы можете продолжать применять любые хранилища какие пожелаете для сохранения своих данных ВМ, которые не обязаны управляться вашим Нано сервером, а также вы можете продолжать применять старый добрый Диспетчер Hyper-V для всех своих задач Hyper-V. Единственная разница состоит в том, что вы теперь будете исполнять Диспетчер Hyper-V с другого сервера, или даже прямо со своего настольного компьютера при помощи RSAT. Абсолютно нет никакой причины, чтобы каждый новый строящийся в Windows Server 2016 Hyper-V сервер не мог быть установлен на Нано сервер!