Windows Server 2008 R2: Рекомендации по развертыванию ядра сервераИсточник: oszone Брайен М. Поузи
Как Windows Server 2008, так и Windows Server 2008 R2 предоставляют значительную гибкость, когда дело доходит до решения задач развертывания. Можно развернуть сервер как полнофункциональный экземпляр или установить только ядро сервера (Server Core). Ядро сервера представляет собой облегченную версию Windows-сервера, характеризующуюся минимальным использованием ресурсов. В ядре сервера отсутствуют многие компоненты, которые считаются само собой разумеющимися в полной версии сервера Windows, поэтому ядро сервера окружают многочисленные мифы. Я развенчаю некоторые из этих мифов, а также предоставлю рекомендации по развертыванию ядра сервера. Все приведенные ниже примеры относятся к Windows Server 2008 R2. Конфигурирование ядра сервераОдин из самых популярных мифов о ядре сервера - его трудно настраивать, потому что все конфигурирование нужно выполнять из командной строки. К счастью, существует несколько инструментов, которые значительно упрощают настройку ядра сервера. В Windows Server 2008 R2 есть встроенная утилита, которую можно вызвать, выполнив в командной строке команду SCONFIG. Эта управляемая с помощью меню утилита позволяет выполнять основные задачи по конфигурированию, например задать IP-адрес, изменить имя компьютера или присоединить его к домену. Другим инструментом, который значительно упрощает начальную настройку ядра сервера, является Server Core Configurator 2.0 (рис. 1). Этот инструмент предоставляет гораздо больше возможностей упрощения первоначальной настройки, чем SCONFIG. Он не только включает в себя функциональность аналогичную SCONFIG, но и позволяет добавлять или удалять серверные роли, а также управлять различными параметрами панели управления. Он даже позволяет ввести ключ продукта и активировать сервер. Загрузить Core Configurator можно со страницы по адресу coreconfig.codeplex.com/releases/view/36678. Рис. 1. Server Core Configurator предоставляет графический интерфейс для настройки ядра сервера Ограниченные возможностиПоскольку ядро сервера предлагает ограниченный набор служб, оно не подходит для решения всех тех задач, для которых используется полная версия Windows Server 2008 R2. Ядро сервера поддерживает ограниченное количество ролей, и ни одна из них не устанавливается по умолчанию. Вот перечень этих ролей:
Важность управления установкой исправленийНекоторые айтишники полагают, что поскольку Server Core нетребователен к ресурсам, его можно рассматривать как некоторое приложение, а не как реальный сервер. Это не так. Централизованное управление обновлениями - важная административная задача независимо от того, работает ли система как ядро сервера или как полная версия Windows-сервера. Но поскольку у ядра сервера действительно невысокие требования к ресурсам, многие из обновлений серверных версий Windows неприменимы к среде ядра сервера. Таким образом, использование ядра сервера может отчасти (но не полностью!) облегчить бремя управления исправлениями. Анализатор соответствия рекомендациямНаилучшей возможностью обеспечить развертывание вашего сервера в соответствии с рекомендациями Microsoft - использовать утилиту "Анализатор соответствия рекомендациям" (Best Practices Analyzer). Однако из-за отсутствия графического интерфейса это может быть непросто. Имеется два основных варианта запуска анализатора. Один из них заключается в запуске проверки непосредственно с рабочего стола ядра сервера. Другой вариант - запуск проверки с другого компьютера, у которого есть графический интерфейс. Нужно иметь в виду что, поскольку ядро сервера состоит из такого малого набора служб, что сложно говорить о такой вещи, как набор рекомендаций для настройки ядра операционной системы. В данном случае анализатор используется для отдельных ролей сервера. Если сервер работает только как ядро операционной системы без каких-либо дополнительных ролей, вы не сможете выполнить базовые проверки. В процессе проверки используются модели BPA, которые обслуживают отдельные роли. Например, существует модель Hyper-V и модель Active Directory. Проверка из командной строкиЕсли нужно выполнять анализ соответствия рекомендациям из командной строки, следует установить Windows PowerShell. Самый простой способ это сделать - выполнить команду SCONFIG. Далее надо щелкнуть Configure Remote Management (Настройка удаленного управления) и Enable Windows PowerShell (Включить Windows PowerShell) (рис. 2). Рис. 2. Для включения Windows PowerShell можно использовать утилиту SCONFIG После установки Windows PowerShell необходимо установить командлеты Server Manager для Windows PowerShell, а также командлеты анализатора соответствия рекомендациям. Это можно сделать с помощью средства обслуживания, развертывания и управления образами (Deployment Image Servicing and Management, DISM). Как правило, DISM используется для управления развертыванием образов, но параметр /Online позволяет заставить DISM выполнять действия с текущей ОС. Установить необходимые командлеты Windows PowerShell можно с помощью следующих команд в командной строке (рис. 3): DISM /Online /Enable-Feature /FeatureName:ServerManager-PSH-Cmdlets DISM /Online /Enable-Feature /FeatureName:BestPractices-PSH-Cmdlets Рис. 3. Установка необходимых командлетов Windows PowerShell с помощью команды DISM После того как необходимые компоненты установлены, можно запустить проверку на соответствие рекомендациям. Поскольку проверку необходимо запустить посредством Windows PowerShell, выполните команду PowerShell.exe. После этого окно командной строки трансформируется в окно оболочки Windows PowerShell. Далее нужно импортировать командлеты, которые были включены ранее. Это можно выполнить двумя простыми командами Windows PowerShell: Import-Module ServerManager Import-Module BestPractices Теперь, когда все компоненты на месте, необходимо убедиться, что имеются также необходимые модели анализатора соответствия рекомендациям. Для этого выполните следующую команду: Get-BPAModel Результат должен выглядеть примерно так, как показано на рис. 4. Если результатов нет, то при попытке проверки анализатор ничего делать не будет. Рис. 4. Команда Get-BPAModel позволяет просмотреть установленные модели Самый простой способ запустить проверку соответствия рекомендациям - выполнить команду: Get-BPAModel / Invoke-BPAModel Команда запускает проверку на соответствие рекомендациям для всех моделей, установленных на сервере (рис. 5). Рис. 5. Проверка соответствия рекомендациям не даст никаких результатов, если моделей нет Результаты не отображаются автоматически, а чтобы их увидеть, выполните команду: Get-BPAModel / Get-BPAResult / Out-File "C:\BPA.txt" Эта команда создаст текстовый файл с результатами проверки. Полученный файл можно скопировать на другую систему или использовать следующую команду, чтобы увидеть результаты: Type C:\BPA.TXT Результаты проверки показаны на рис. 6. Рис. 6. Результаты проверки на соответствие рекомендациям Выполнение проверки с использованием графического интерфейсаДля выполнения проверки на соответствие рекомендациям при развертывании ядро сервера можно использовать графический интерфейс. Для этого нужно запустить проверку с сервера под управлением Windows Server 2008 R2 или использовать компьютер под управлением Windows 7 с установленным пакетом Remote Server Administration Tools. Если вы решили использовать Windows 7, загрузите средства удаленного администрирования сервера со страницы microsoft.com/download/en/details.aspx?displaylang=en&id=7887. Как и в случае использования командной строки для проверки соответствия рекомендациям, для проверки средствами графического интерфейса требуется наличия Windows PowerShell на ядре сервера. Необходимо также разрешить удаленное управление MMC и диспетчер сервера удаленного управления. Для подготовки сервера можно ввести команду SCONFIG и выполнить следующие действия:
Чтобы выполнить проверку, откройте консоль Server Manager и щелкните правой кнопкой корень списка в дереве консоли и выберите Connect to Another Computer. Введите имя компьютера с ядром сервера, который нужно проверить. После подключения к удаленному компьютеру с ядром сервера, разверните контейнер Roles, а затем выберите роль, которую нужно проверить на соответствие рекомендациям. При просмотре результатов, вы должны увидеть раздел с названием Best Practices Analyzer. Чтобы проверить роль, щелкните ссылку Scan This Role. Результаты проверки отображаются в разделе Best Practices Analyzer, как показано на рис. 7. Рис. 7. Ядро сервера можно проверить, используя графический интерфейс другого сервера Windows PowerShellВо многих из описанных здесь процессов используется оболочка Windows PowerShell, установленная на компьютере Server Core. Если вы не собираетесь использовать приложение, которое требует Windows PowerShell, по завершении начального конфигурирования и проверки на соответствие рекомендациям его лучше перенести. Это может показаться странным, поскольку в Интернете масса сообщений, утверждающих, что если вы хотите управлять Server Core из командной строки, то должны делать это средствами Windows PowerShell. Тем не менее, ядро сервера предназначено для управления из командной строки, а не из оболочки Windows PowerShell. На самом деле первая версия ядра сервера даже не предусматривала установку Windows PowerShell. С технической точки зрения нет ничего плохого в том, что на вашем сервере установлен Windows PowerShell. Тем не менее, большинство людей используют ядро сервера из-за его малых требований к ресурсам и низкой вероятности атаки, тогда как наличие установленной Windows PowerShell увеличивает вероятность проведения успешной атаки на сервер. Чтобы удалить Windows PowerShell, откройте окно командной строки и выполните команду (рис. 8): Start /W ocsetup MicrosoftWindowsPowerShell /Uninstall Рис. 8. Удаление Windows PowerShell Некоторые из вас наверняка поинтересуются, почему я использовал команду Start /W OCSETUP, а не ServerManagerCMD. Есть две причины, почему я поступил именно так:
Как вы видите, методы управления ядром сервера, отличаются от методов, которые применяются для управления обычным экземпляром Windows Server 2008. Несмотря на это, ядро сервера идеально подходит для использования в средах, где требуется высокая безопасность или экономия серверных ресурсов. |