Повышение гибкости развертывания различных конфигураций Windows Server 2012

Введение

Как известно, ОС Windows Server имеет общее с клиентской версией ядро, а также некоторый набор общих компонентов. Одним из таких компонентов является пользовательский интерфейс, а также оболочка explorer. В Windows 8\Server 2012 также общим является metro-интерфейс – иными словами, таким образом, новый пользовательский интерфейс присутствует и в серверной ОС, полностью заменяя меню “Пуск”.
Начинающему администратору данный подход кажется очень удобным – все привычные элементы интерфейса и инструменты всегда находятся под рукой – можно закрепить часто используемые административные средства на начальном экране, использовать программу «Проводник» для работы с файлами и папками на сервере, а также управлять сервером при помощи привычных административных средств, таких как «Панель управления» а также консоль управления MMC.
Однако по мере роста нагрузок, оказываемых на сервер, повышению количества угроз безопасности, и, как следствие, необходимых обновлений, встает вопрос рациональности использования графических средств.
Данная проблема была решена в ОС Windows Server 2008, где был добавлен вариант установки Server Core – при этом устанавливалась ОС без графической оболочки, без Панели управления и Проводника, без платформы .NET Framework а также без административных оснасток консоли MMC.
Режим установки Server Core был доступен для всех редакций Windows Server.
За счет его использования решались следующие проблемы:
1. Проблема системных ресурсов.
ОС Windows Server 2008 в режиме Server Core требовала для своей работы минимум ресурсов – она могла спокойно работать на системах с 512 Мб оперативной памяти, занимала около 10 Гб на жестком диске. Конечно, в наше время такие конфигурации практически вышли из употребления, но в связи с повсеместным внедрением технологий виртуализации остро встает вопрос запуска виртуальной машины с ограниченым набором системных ресурсов для обеспечения поддержки не ресурсоемкой службы, например резервирующего контроллера домена Active Directory
2. Проблема безопасности.
Отсутствие компонентов графического интерфейса в системе понижает общее количество системных компонентов, как следствие – понижается фронт атак на систему.
3. Проблема непрерывности работы сервисов и служб
Server Core содержит в себе меньше компонентов, как следствие – меньше уязвимостей. Соответственно, для их устранения системе будет требоваться меньше обновлений, а с уменьшением количества обновлений уменьшается число необходимых перезагрузок и повышается общее время доступности сервисов и служб.

Для управления сервером в режиме Server Core используется преимущественно командная строка, а также Power Shell. Как уже говорилось, оснастки MMC в Server Core отсутствуют, администратор может управлять сервером удаленно, с другого сервера с полным набором графических компонентов, либо же с клиентской ОС с установленным пакетом средств администрирования RSAT.
Однако функции поддержки веб-приложений в Server Core были ограничены, так как там отсутствовал .NET Framework. Многие администраторы находили способы установки его в систему, но такая возможность официально не поддерживалась. В следующей версии ОС, Windows Server 2008R2, данная возможность появилась как документированная, вместе с дополнительным Power Shell-сценарием, упрощающим начальную настройку сервера.
Однако даже с этими улучшениями гибкость развертывания Server Core была недостаточной, в сравнении с решениями конкурентов
Поэтому в новой версии, Windows Server 2012, Server Core был доработан, в сторону повышения гибкости развертывания.
Во-первых, добавлена третья конфигурация сервера, называемая «Минимальный интерфейс сервера». В ней, как и в Server Core, который теперь называется «Установка основных серверных компонентов», отсутствует проводник, metro-интерфейс и Internet Explorer, однако сохранен диспетчер серверов и оснастки консоли управления MMC. Подобная конфигурация удобна для тех приложений и служб, которые требуют наличие в системе компонентов, отсутствующих при установке «Установка основных серверных компонентов». Однако, за счет сокращения элементов пользовательского интерфейса, такая конфигурация сервера экономит системные ресурсы, понижает фронт атак, а также понижает количество необходимых перезагрузок.
Во-вторых, администратор имеет возможность выполнять переход из одной конфигурации сервера к другой, так как каждая конфигурация определяется набором установленных в системе компонентов. Для выполнения перехода требуется установить или удалить соответствующий компонент, и перезагрузить сервер.
Взаимосвязь конфигураций и требуемых компонентов представлена ниже на диаграмме.

Сценарий перехода из конфигурации «Сервер с графическим интерфейсом пользователя»

Данная конфигурация устанавливается по умолчанию. Существуют два сценария – когда администратор выполняет настройку и оптимизацию сервера, а после этого удаляет графические компоненты по указанным выше причинам, либо же когда сервер планируется использовать как сервер служб удаленных рабочих столов, и для большего комфорта пользователя необходимо установить компонент «Возможности рабочего стола»
Итак рассмотрим первый сценарий.
1. Откроем Диспетчер серверов, нажмем на ссылку «Управление» в верхней части окна, выберем пункт меню «Удалить роли и компоненты». 

2. В открывшемся мастере нажмем кнопку «Далее», затем, выбрав сервер для выполнения операции, нажмем снова «Далее», и еще раз «Далее». На странице мастера «Компоненты», необходимо раскрыть пункт «Пользовательские интерфейсы и инфраструктура», как на скриншоте: 

3. Снимем флажок «Графическая оболочка сервера», нажмем «Далее» и «Удалить», для перехода к конфигурации «Минимальный интерфейс сервера», либо же оба флажка для перехода к конфигурации «Установка основных серверных компонентов
4. Начнется процесс удаления, в это время мастер можно закрыть, после его окончания – перезагрузить сервер.
5. После перезагрузки сервер будет работать в режиме «Минимальный интерфейс сервера»: 

6. Переход к конфигурации «Установка основных серверных компонентов» осуществляется аналогичным образом.
Для установки компонента «Возможности рабочего стола» необходимо выбрать пункт меню «Установка ролей и компонентов», и установить соответствующий флажок.

Сценарий перехода из конфигурации «Установка основных серверных компонентов»

Так как в конфигурации «Установка основных серверных компонентов» отсутствует диспетчер серверов, выполнять установку и удаление компонентов приходится при помощи Power Shell
Для этого в окно консоли необходимо ввести команду powershell, далее в консоль Power Shell ввести следующие команды
Install-WindowsFeature Server-Gui-Mgmt-Infra – для перехода к конфигурации «Минимальны интерфейс сервера»
Install-WindowsFeature Server-Gui-Mgmt-Infra, Server-Gui-Shell – для перехода к конфигурации « Сервер с графическим интерфейсом пользователя»
Install-WindowsFeature Server-Gui-Mgmt-Infra, Server-Gui-Shell, Desktop-Experience – для перехода к конфигурации «Сервер с графическим интерфейсом пользователя» с возможностями рабочего стола и функциями metro-приложений и магазина Windows
После завершения операции необходимо выполнить перезагрузку сервера. 

Экономия свободного пространства на жестом диске за счет удаления компонентов

Как известно, использование конфигурации «Минимальный интерфейс сервера» либо же «Установка основных серверных компонентов» значительно экономит место на диске. Однако двоичные файлы, устанавливаемые совместно с этими компонентами, все равно остаются на системном диске, занимая свободное пространство, пусть не так много, как при установленном компоненте.
Для удаления двоичных файлов необходимо пользоваться командлетами Power Shell, так как даже при установке полного графического интерфейса необходимый функционал в нем отсутствует.
Допустим, администратору необходимо перейти к конфигурации «Установка основных серверных компонентов» из конфигурации «Сервер с графическим интерфейсом», при этом максимально экономя место на системном диске. Для этого необходимо открыть консоль Power Shell и выполнить следующий командлет:
Install-WindowsFeature Server-Gui-Mgmt-Infra, Server-Gui-Shell –Remove
Далее необходимо перезагрузить сервер, это можно сделать командой Restart-Server 
 
Однако, если потребуется установить компоненты, двоичные файлы которых были удалены с системного диска, можно указать путь к файлу install.wim, откуда заново установить эти компоненты.
Как известно, WIM-файл состоит из образов, каждый из которых имеет порядковый номер. Поэтому первым шагом будет выяснение номера необходимого образа (компоненты необходимо устанавливать строго из того образа, с которого выполнялась установка данного экземпляра ОС)
Для этого следует выполнить командлет
Get-WindowsImage -ImagePath D:\sources\install.wim
Далее необходимо ввести командлет
Install-WindowsFeature Server-Gui-Mgmt-Infra, Server-Gui-Shell -Source wim:D:\sources\install.wim:4

После выполнения команды и перезагрузки будут установлены все указанные компоненты.