Server Manager как результат эволюции средств управления серверами Windows

Виктор Ашик

В нынешнем году платформе Windows NT исполняется 15 лет: первая ее версия называлась Windows NT Advanced Server 3.1 и была выпущена в 1993-м. И хотя специалисты по маркетингу придумали менять название операционной системы вместе с номером версии и после Windows NT 4.0 выпустили версии Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Home Server, а совсем недавно и Windows Server 2008, все эти названия соответствуют системам на ядре Windows NT. Ядро развивалось вместе с операционной системой, обогащаясь функциональными возможностями, приобретая поддержку новых процессорных архитектур (Itanium, AMD64/EM64T) и отказываясь от поддержки старых (Alpha, MIPS, PowerPC).

Возможности операционной системы и методы управления ими тоже претерпевали значительные изменения. Количество компонентов операционной системы выросло в разы, система приобрела дополнительные языки сценариев Windows Script Host (WSH) и Windows Power Shell (впервые включенный в поставку Windows версии 2008), программный интерфейс управления Windows Management Instrumentation (WMI), инфраструктуру графических интерфейсов управления Microsoft Management Console (MMC), менеджер установки пакетов программ Windows Installer (ранее назывался Microsoft Installer, MSI), средства удаленного доступа к рабочему столу Remote Desktop Protocol (RDP) и командной строке Windows Remote Shell (WinRS). И это далеко не полный список средств управления системой — к нему стоит добавить групповые политики, утилиты командной строки, менеджеры файловых и системных ресурсов и многое другое.

 

Windows NT 3.1

Для унификации управления богатым выбором компонентов через графический интерфейс начиная с Windows 2000 каждый инструмент управления выполнен в виде оснастки (snap-in) для MMC. В результате получилось более трех десятков оснасток администрирования, которые изначально предназначены для интегрирования в более универсальные инструменты управления с древовидным объединением отдельных оснасток. Примерами таких удачных инструментов можно назвать Управление компьютером (Computer management) из числа штатных средств и ISA Server Management из отдельно поставляемых продуктов Microsoft. Наличие слишком большого количества оснасток в меню Администрирование (Administrative tools) мешает эффективной работе. Большинство этих оснасток пригодны для управления настройками удаленного компьютера, поэтому в Windows Server 2008 они объединены в группу компонентов системы под общим названием Средства удаленного администрирования сервера (Remote Server Administration Tools) и многие из них по умолчанию не устанавливаются и не отображаются в меню.

 

Оснастка Computer Management

Удадчным нововведением Windows Server 2008 является то, что администратору, вероятно, больше не понадобится искать нужную оснастку в меню. Условия для эффективной работы администратора с первых шагов создают два средства. Первое — это окно Задачи начальной настройки (Initial Configuration Tasks, ICT), которое появляется сразу после установки и при каждой загрузке, пока администратор не установит флажок Не показывать это окно при входе в систему (Do not show this window at logon). Данное окно позволяет настроить системные часы, сеть, изменить имя компьютера, установить и настроить обновления, добавить роли (Add Roles) и компоненты (Add Features), включить удаленный рабочий стол (Enable remote desktop) и настроить брандмауэр Windows (Configure Windows Firewall). Кстати, заново запустить закрытое окно ICT можно, введя команду oobe через меню Пуск (Start) или командную строку (oobe — аббревиатура от Out Of Box Experience).

Сразу после закрытия окна ICT запускается новый инструмент управления: Диспетчер сервера (Server Manager). Он же запускается через пункт Управление (Manage) контекстного меню пункта Компьютер (Computer), который находится в меню Пуск (Start) и проводнике Windows. Для тех, кто привык запускать таким образом Управление компьютером (Computer Management), сначала это будет причинять неудобства. Но через некоторое время появляется привычка к новому поведению системы, и дискомфорт пропадает. При необходимости прежний инструмент можно найти через строку поиска меню Пуск (Start) или там же в подменю Администрирование (Administrative tools). К сожалению, механизм поиска русской версии не знает английских названий средств управления, и пользователи, привыкшие к использованию строки поиска английской версии Windows, будут вынуждены набирать вместо firewall — брандмауэр, вместо services — службы и т.п.

 

Окно Initial Configuration Tasks и меню «Пуск» с командой oobe

Server Manager позволяет из единого места быстро получить доступ к привычным и новым средствам управления: свойствам системы, сетевым соединениям, добавлению, настройке (соответствующими оснастками) и удалению ролей и компонентов. «Благодаря расширенным возможностям Server Manager нашим клиентам стало гораздо проще администрировать свои веб-сайты», — отмечает Константин Гусев, начальник группы развития сервисов компании .masterhost.

Роли (Roles) и компоненты (Features) заслуживают особого внимания. Ролями в терминах Windows Server 2008 называются основные службы сервера, которые могут быть добавлены после установки. Примеры ролей: DNS-сервер, DHCP-сервер, доменные службы Active Directory, веб-сервер (IIS). Компонентами в Windows Server 2008 называются второстепенные службы и компоненты сервера. Примеры компонентов: сервер Telnet, клиент Telnet, Windows PowerShell, WINS-сервер. Разделение на компоненты и роли условно — это будет видно из дальнейшего рассмотрения утилиты ServerManagerCmd. Добавление компонентов системы по мере необходимости уменьшает «поверхность атаки» — число способов, которыми злоумышленник может попытаться атаковать систему. Этим достигается повышение уровня безопасности системы и сокращение числа обновлений, подлежащих установке, — нет нужды ставить обновления для неустановленных компонентов системы.

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

Сразу после добавления ролей и компонентов в древовидной панели Server Manager появляются соответствующие оснастки, избавляя администратора от необходимости вспоминать их название и искать в меню. Кроме оснасток управления ролями и компонентами в Server Manager присутствует ряд полезных оснасток общего характера: Event Viewer (Журнал событий), Services (Службы), Performance Diagnostics (Диагностика производительности), Disk Management (Управление дисками).

 

Server Manager Windows 2008

Таким образом, Server Manager, кроме инструментария управления, берет на себя функции надстройки над менеджером пакетов, который позволяет добавлять и удалять компоненты системы, учитывая зависимости между ними. Причем добавлением и удалением можно управлять и из командной строки с помощью команды ServerManagerCmd — в этом случае вычисление и обработка зависимостей происходит полностью автоматически. Так, если вы решили установить роль Сервер приложений (Application Server), то Server Manager предложит, а ServerManagerCmd сразу добавит .Net Framework и Windows Process Activation Service. Правда, если вы решите в будущем удалить роль, то добавленные для ее установки роли и компоненты автоматически удалены не будут.

Выполнить установку компонента из командной строки можно, указав его краткое название (которое имеется в документации в выводе команды ServerManagerCmd -query) или имя XML-файла, в котором в действительном XML будет упоминаться то же краткое название. Предположим, мы решили установить веб-сервер IIS в стандартной комплектации. Для этого нам достаточно выполнить команду:

ServerManagerCMD.exe -install Web-Server

C:\Users\Администратор>servermanagercmd -install Web-Server

..............................

Начать установку...

[Установка] прошла успешно: [Веб-сервер (IIS)] Средства управления.

[Установка] прошла успешно: [Веб-сервер (IIS)] Веб-сервер.

[Установка] прошла успешно: [Веб-сервер (IIS)] Основные возможности HTTP.

[Установка] прошла успешно: [Веб-сервер (IIS)] Быстродействие.

. . .

<100/100>

Успех : установка прошла успешно.

Для установки веб-сервера в полной комплектации можно использовать команду:

ServerManagerCMD.exe -install Web-Server -allSubFeatures

Ключ -install при желании можно сократить до -i.

При желании мы можем подготовить задание на установку компонентов в виде XML-файла:

<ServerManagerConfiguration Action=»Install» xmlns=»http://schemas.microsoft.com/sdm/Windows/ServerManager/Configuration/2007/1»>

<Feature Id=»Web-Server»/>

</ServerManagerConfiguration>

применить этот файл (пусть его название будет toinstall.xml):

ServerManagerCMD.exe -inputPath toinstall.xml

и проверить результат, запросив список компонентов в наглядном текстовом виде:

C:\Users\Администратор>servermanagercmd -q

...

В итоге получим список компонентов следующего вида:

----- Роли -----

[ ] DHCP-сервер [DHCP]

[ ] DNS-сервер [DNS]

[ ] Hyper-V [Hyper-V]

[ ] Веб-сервер (IIS) [Web-Server]

[ ] Веб-сервер [Web-WebServer]

[ ] Основные возможности HTTP [Web-Common-Http]

[ ] Статическое содержимое [Web-Static-Content]

[ ] Стандартный документ [Web-Default-Doc]

. . .

----- Компоненты -----

[ ] Quality Windows Audio Video Experience [qWave]

[ ] RPC через HTTP-прокси [RPC-over-HTTP-Proxy]

[ ] Windows PowerShell [PowerShell]

[ ] WINS-сервер [WINS-Server]

[ ] Балансировка сетевой нагрузки [NLB]

[ ] Внутренняя база данных Windows [Windows-Internal-DB]

[ ] Возможности .NET Framework 3.0 [NET-Framework]

[ ] .NET Framework 3.0 [NET-Framework-Core]

[ ] Средство просмотра XPS [NET-XPS-Viewer]

[ ] Активация WCF [NET-Win-CFAC]

[ ] Активация через HTTP [NET-HTTP-Activation]

[ ] Не-HTTP активация [NET-Non-HTTP-Activ]

. . .

Можно сохранить этот список компонентов в файл формата XML, пригодный для автоматизированной обработки:

ServerManagerCMD.exe -query installed.xml

Удаление компонентов тоже может быть выполнено указанием названия удаляемого компонента в командной строке или через XML-файл:

C:\Users\Администратор>servermanagercmd -remove Web-Server

.................

Начать удаление...

[Удаление] прошло успешно: [Веб-сервер (IIS)] Консоль управления IIS.

[Удаление] прошло успешно: [Веб-сервер (IIS)] Стандартный документ.

[Удаление] прошло успешно: [Веб-сервер (IIS)] Статическое содержимое.

[Удаление] прошло успешно: [Веб-сервер (IIS)] Монитор запросов.

. . .

<100/100>

Успех : удаление прошло успешно.

Следует обратить внимание на то, что Server Manager, как отмечалось выше, не удалил компоненты Windows Process Activation, добавленные для установки компонентов Web Server.

Возможность управлять установкой через XML-файл на первый взгляд выглядит излишней, но у нее есть по крайней мере одна очень полезная функция: это позволяет сохранить список установленных компонентов одного сервера и привести набор компонентов другого сервера в соответствие с этим списком (повторить набор ролей и компонентов путем добавления недостающих и удаления лишних).

Задача заключается в том, чтобы получить из выдаваемого по запросу XML-списка установленных компонентов XML-список компонентов, подлежащих установке. Форматы таких списков немного отличаются. Решение этой задачи описано в блоге Windows Server Тревисом Нильсеном (Travis Nielsen), разработчиком из команды Server Manager. Для нужного преобразования XML-документов Тревис предлагает готовое описание на языке XSL, которое используется с помощью утилиты msxsl.exe с сайта Microsoft. Упомянутые ниже файлы на языке XSL Install.xsl и Remove.xsl можно найти в Интернете на странице: http://blogs.technet.com/Windowsserver/archive/2007/08/16/transforming-servermanagercmd-query-xml-to-input-xml.aspx. Их применение будет выглядеть так:

На сервере-прототипе запрашивается список установленных компонентов:

ServerMangerCMD -q Master.xml

С помощью msxsl строятся XML-документы с заданием на установку и удаление компонентов:

msxsl Master.xml install.xsl -o install.xml

msxsl Master.xml remove.xsl -o remove.xml

Полученные задания применяются к серверу, который должен иметь идентичный набор компонентов:

ServerManagerCMD -inputPath install.xml

ServerManagerCMD -inputPath remove.xml

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

Чтобы проверить, к чему приведет команда установки ролей или компонентов через ServerManagerCMD, можно воспользоваться ключом -whatif, добавляемым к командной строке:

C:\Users\Администратор>servermanagercmd -i GPMC -whatif

...

Примечание: выполняется в режиме ‘WhatIf’.

Указано для установки: [Управление групповой политикой]

После завершения установки может потребоваться перезагрузка этого сервера.

C:\Users\Администратор>servermanagercmd -i Web-Server -whatif

Примечание: выполняется в режиме ‘WhatIf’.

Указано для установки: [Веб-сервер (IIS)] Средства управления

Указано для установки: [Веб-сервер (IIS)] Веб-сервер

Указано для установки: [Веб-сервер (IIS)] Безопасность

. . .

После завершения установки может потребоваться перезагрузка этого сервера.

Тем не менее сообщение о возможной потребности в перезагрузке сервера не означает, что перезагрузка обязательно понадобится.

После команды servermanagercmd -i Web-Server установка завершилась успешно, и мы можем продолжать добавлять компоненты:

C:\Users\Администратор>servermanagercmd -i PowerShell

...........................

Начать установку...

[Установка] прошла успешно: [Windows PowerShell].

<100/100>

Успех : установка прошла успешно.

Иногда Server Manager отказывается выполнять дальнейшие действия по установке и просит перезагрузить компьютер. Таким образом, перед установкой компонентов на сервер, перезагрузка которого в ближайшее время не планируется, следует применять ключ -whatif в командной строке или прислушиваться к предупреждениям графического интерфейса Server Manager.

Еще один полезный совет: перезагружая сервер удаленно, постарайтесь не забыть в его DVD-приводе дистрибутивный диск Windows Server 2008. На некоторых компьютерах при загрузке с него требуется ввести метод загрузки (цифру 1 или 2) и нажать Ввод. Загрузка при этом останавливается в ожидании ввода.

Для работы Server Manager требуется работа управляемого кода .NET Framework, который не входит в состав варианта с установкой только основных компонентов сервера — Windows Server 2008 Core. Поэтому в вариант Core была добавлена утилита oclist, которая не требует управляемого кода и выдает список установленных компонентов. А установка компонентов выполняется с помощью утилит ocsetup и pkgmgr, которые входят в состав всех версий Windows Server 2008 и Windows Vista. Применение ocsetup выполняется так:

start /w ocsetup DHCPServer

Команда start с ключом /w ожидает завершения утилиты, которая работает в фоновом режиме (на экране не отображается). Благодаря посредничеству команды start удается определить момент окончания установки по появлению нового приглашения командной строки. Использование pkgmgr аналогично:

start /w pkgmgr /iu:GPMC;DHCPServer

В отличие от ocsetup, утилита pkgmgr позволяет установить несколько компонентов сразу в систему или ее образ, загрузившись с другого носителя, а также управлять компонентами в автономном (offline) режиме. Удаление компонентов выполняется аналогично, ключами /u и /uu команд ocsetup и pkgmgr соответственно.

Такое разнообразие утилит, вероятно, сложилось исторически: ocsetup заменяет утилиту sysocmgr, которая была в Windows 2000/XP/2003, pkgmgr является менеджером пакетов, фундаментом для остальных утилит. А Server Manager появился позже, и утилита ServerManagerCMD служит для того, чтобы упростить управление компонентами из командной строки.

Таким образом, Server Manager является основным инструментом для управления серверами на платформе Windows Server 2008. Этот инструмент применяется для локального управления полными вариантами Windows Server 2008, а его функциональность управления пакетами может работать как из графической среды, так и из командной строки.

 

В начало В начало

КомпьютерПресс 6'2008

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует