Windows Server 2008 был превосходным продуктом. Не из-за таких компонентов, как отказоустойчивая кластеризация или Hyper-V, а благодаря удобству установки и управления Windows Server. Изменения этих процессов в Windows Server 2008 затронули каждый аспект установки.
Три основных технологии, появившиеся в Windows Server 2008, продолжают совершенствоваться и начинают играть все более важную роль с каждой новой версией, особенно в Windows Server 2012:
- Server Manager
- Windows PowerShell
- Server Core
В данной статье речь пойдет о Server Core и некоторых вспомогательных технологиях в Windows Server 2012.
Краткая история Server Core
Вариант установки Server Core появился в Windows Server 2008. Можно выбрать установку Server Core или полную установку. Однажды заданный, этот параметр не меняется без переустановки операционной системы. Оба варианта предоставляют одну и ту же операционную систему Windows с тем же ядром, производительностью, реестром и проверкой подлинности. Однако Server Core обеспечивает минимальную операционную среду с компонентами, необходимыми для запуска ключевых ролей инфраструктуры. Кроме того, функциональность этих ролей расширена множеством поддерживаемых возможностей.
В Server Core отсутствует. NET Framework (а также PowerShell), проводник Windows (нет меню «Пуск», системной панели и панели задач), консоли управления Microsoft (MMC), Server Manager, Internet Explorer (IE) и две утилиты панели управления (International и Дата/Время). По-прежнему доступны «Блокнот», «Редактор реестра», и «Диспетчер задач». Более подробно о проблемах, связанных с версией Server Core операционной системы Windows Server 2008, рассказано во врезке «Server Core в прошлом».
С выходом Windows Server 2008 R2 во всех компонентах Server Core произошли изменения. В частности, появилась возможность дистанционно управлять установкой Server Core из Server Manager, а. NET Framework была разбита на более мелкие части, что позволяет дополнить Server Core подмножеством. NET Framework 2.0, 3.0 или 3.5. Это изменение обеспечивает поддержку PowerShell в Server Core и подмножества ASP.NET для Microsoft IIS. Кроме того, Server Core поддерживает роль службы сертификации Active Directory Certificate Services (AD CS) и диспетчер ресурсов файлового сервера File Server Resource Manager (FSRM). На Server Core можно дополнительно запускать многочисленные агенты управления. Совместимость с Server Core стала основным требованием для получения логотипа программами управления.
Различие между Windows Server 2008 и Windows Server 2008 R2 — в основной ориентации Server Core: продукт по-прежнему предназначен для определенных ролей инфраструктуры. А выбор Server Core или полной установки должен быть сделан на этапе установки и не может быть изменен без переустановки операционной системы. Server Core не подходит для ролей приложений, и многим компаниям трудно внедрить эту версию из-за опасений относительно начальной настройки сервера, отсутствия графического интерфейса, и, возможно, проблем диагностики без графического интерфейса.
Windows Server 2012 Server Core
С появлением Windows Server 2012 перед Server Core открывается возможность распространения в качестве предпочтительного варианта развертывания для установок Windows Server. Теперь в основе нашего подхода лежат варианты развертывания для Windows Server. Server Core — по-прежнему один вариант, как и полная установка (теперь именуемая уровнем конфигурации сервера с графическим интерфейсом пользователя), но есть и другие. На сегодня Server Core – вариант развертывания по умолчанию. Server Core лучше рассматривать не как меньшую операционную систему, а как базовую серверную операционную систему, предоставляемую дополнительно к версии с графическим интерфейсом.
С выходом Windows Server 2012 в Server Core появилось много улучшений. Среди дополнительных ролей инфраструктуры и служб ролей — Windows Software Update Services (WSUS), службы управления правами Active Directory Rights Management Services (AD RMS), службы маршрутизации и удаленного доступа and Remote Access Services (RRAS), посредник подключений к удаленному рабочему столу Remote Desktop Connection Broker (RD Connection Broker), узел виртуализации удаленных рабочих столов Remote Desktop Virtualization Host (RD Virtualization Host) и лицензирования удаленных рабочих столов Remote Desktop Licensing (RD Licensing). Почти все роли Windows Server поддерживаются в установке Server Core.
В качестве предпочтительного варианта для серверов Server Core более не предназначается исключительно для ролей инфраструктуры. В версии Windows Server 2012 Server Core можно рассматривать как платформу для запуска приложений. Многие приложения уже готовы к работе на нем, в том числе SQL Server 2012, который теперь можно установить на Server Core. Как отмечалось выше, один из основных критериев получения логотипа для приложений Windows Server 2012 — минимальный серверный интерфейс, обеспечивающий выполнение на Server Core. Одно это должно побудить поставщиков приложений добиваться полной совместимости будущих версий своих продуктов с Server Core.
В Windows Server 2012 заметно усилен акцент на дистанционное управление. Поэтому серверной операционной системе не требуется полнофункциональный локальный графический интерфейс. Взгляните на продукты Microsoft и сторонних компаний: интерфейсы управления становятся все более насыщенными графикой, которая занимает много ресурсов и потому нежелательна на сервере. Разработчики Windows Server 2012 постарались предоставить пользователям возможность дистанционно управлять сервером с клиента Windows 8 или специально установленного управляющего экземпляра Windows Server 2012. Этим объясняется, почему дистанционное управление включено по умолчанию в установленных Windows Server 2012 и доступно без дополнительной настройки. Обратите внимание, дистанционное управление означает, что можно управлять удаленным сервером, но службы удаленных рабочих столов по умолчанию отключены.
Акцент на Server Core, возможность использовать продукт как платформу приложений в дополнение к платформе инфраструктуры, более редкие обновления путем частичной замены — существенные достоинства. Но помните, что главные возражения многих компаний против Server Core относились к начальной установке операционной системы (с использованием командной строки), сложности текущего управления и диагностики. Для таких компаний в Windows Server 2012 внесены изменения. Инструменты управления и графический интерфейс могут быть в любое время добавлены и удалены из сервера; для полного переключения нужно лишь перезагрузить компьютер. Выбор между Server Core и сервером с графическим интерфейсом пользователя более не определен раз и навсегда. На приведенном экране показано, как удалить компоненты Graphical Management Tools and Infrastructure («Графические средства управления и инфраструктура») и Server Graphical Shell («Графическая оболочка сервера») из экземпляра сервера с графическим интерфейсом пользователя с помощью мастера удаления ролей и компонентов.
Экран. Добавление графических инструментов и? оболочки |
После нескольких перезагрузок сервера он будет работать в режиме Server Core. Ни одно из приложений или настроек не будет потеряно.
Изменение в диспетчере серверов Windows Server 2012 (помимо полностью переработанного интерфейса пользователя и функций управления группами серверов) заключается в возможности дистанционно добавлять и удалять роли и компоненты. Теперь переключение с Server Core на сервер с графическим интерфейсом пользователя и обратно можно выполнять дистанционно. Даже если сервер представлен вариантом Server Core, переключиться на сервер с графическим интерфейсом пользователя можно с помощью диспетчера серверов, функционирующего дистанционно. Эту задачу можно выполнить и из оболочки PowerShell и командной строки. Но прежде чем рассмотреть ее подробнее, обратимся к вариантам развертывания.
Варианты развертывания
Ранее отмечалось, что количество вариантов развертывания не ограничивается лишь Server Core и сервером с графическим интерфейсом пользователя. В действительности вариантов четыре, хотя в большинстве серверных установок используется только три. Эти варианты развертывания показаны на рисунке, наряду с компонентами, которые можно добавлять к Server Core, чтобы достичь различных уровней.
Рисунок. Четыре варианта установки Windows Server 2012 |
Компонент Server Core формирует базовую установку или вариант развертывания, предоставляя основные службы Windows. На этом фундаменте можно размещать различные компоненты, изменяя вариант развертывания. Например, с добавлением компонентов Server-Gui-Mgmt-Infra и Server-Gui-Shell сервер переводится на уровень с графическим интерфейсом пользователя, обеспечивая полноценный инструментарий графики и локального управления.
Благодаря отделению графической оболочки от инфраструктуры управления открываются дополнительные возможности. В состав компонента Server-Gui-Shell входят Explorer.exe, IE и Start Screen (то есть графическая оболочка), но все инструменты управления и инфраструктура управления (MMC, Server Manager и другие внутренние компоненты, необходимые для работы многих приложений) входят в состав компонента Server-Gui-Mgmt-Infra. Экземпляр Windows с инфраструктурой управления, но без графической оболочки именуется установкой с минимальным серверным интерфейсом Minimal Server Interface.
На рисунке видно, что компонент Server-Gui-Mgmt-Infra больше компонента Server-Gui-Shell. Server-Gui-Shell содержит всего около 300 Мбайт двоичного кода, тогда как Server-Gui-Mgmt-Infra — около 4 Гбайт. Это различие ясно указывает, почему конечная цель — чистая установка Server Core. Установку с минимальным серверным интерфейсом (с Server-Gui-Mgmt-Infra) можно рассматривать как полную установку без оболочки; Server Core — действительно минимальная установка операционной системы.
Как отражается повышенная гибкость на варианте развертывания Server Core? Вспомните об имевших место в прошлом возражениях против использования Server Core, в частности, о сложности начальной настройки и диагностики без графического интерфейса. Текущее управление с графическим интерфейсом больше не проблема, так как оно осуществляется дистанционно с использованием диспетчера серверов и других графических инструментов, как отмечалось выше. Возможность в любое время добавлять и удалять графическую оболочку и инструменты управления означает, что администраторы, выполняющие ручную установку и начальную настройку, могут установить сервер в варианте с графическим интерфейсом пользователя, произвести настройку, а затем удалить оболочку и инструменты управления для повседневной работы сервера. Если при этом возникнет неисправность, которую необходимо диагностировать локально на сервере (такое случается часто), и если отсутствие локальной графической оболочки или инструментов управления затрудняет задачу, то администратор может вернуть оболочку и инструменты управления, провести диагностику и устранить проблему, а затем вновь удалить оболочку и инструменты.
Пока еще не упоминался последний компонент (и вариант развертывания), Desktop-Experience, поскольку он требуется очень немногим серверам. Desktop-Experience, как видно из названия, позволяет общаться с сервером, как с клиентской операционной системой Windows 8. В частности, предоставляются такие элементы, как мультимедиа-проигрыватель Windows и соответствующие кодеки, управление фотографиями и Windows Runtime (WinRT). Последний компонент обеспечивает запуск приложений Windows 8 Modern (в прошлом Metro), использующих новый WinRT, в том числе доступ к Windows Store. Очень немногим серверам требуется такая возможность; исключение составляют специфическая роль Microsoft Exchange, для которой требуются мультимедиа-кодеки, и работа с серверной операционной системой как с настольной. Теперь, когда в Windows 8 появилась встроенная технология Hyper-V, в этом нет необходимости. Узел виртуализации удаленных рабочих столов RD Session Host также задействует Desktop-Experience, чтобы расширить возможности пользователей.
Переключение вариантов развертывания с использованием PowerShell или командной строки
На приведенном экране показан графический способ добавления и удаления различных функций, составляющих варианты развертывания. Можно использовать командную строку или инструмент командной строки Deployment Image Servicing and Management (DISM). Или можно использовать PowerShell и команды Install-WindowsFeature и Uninstall-WindowsFeature. В DISM названия компонентов немного отличаются от PowerShell, поэтому по возможности используйте PowerShell.
Следующий код показывает использование DISM для переключения из установки сервера с графическим интерфейсом пользователя в Server Core:
Dism /online /disable-feature /featurename:ServerCore-FullServer
Приведенный ниже код показывает использование DISM для переключения из Server Core на сервер с графическим интерфейсом пользователя:
Dism /online /enable-feature /featurename:ServerCore-FullServer /featurename:Server-Gui-Shell /featurename:Server-Gui-Mgmt
Следующая команда использует PowerShell для переключения из сервера с графическим интерфейсом пользователя в Server Core. Обратите внимание, что при этом методе нужно удалить только Server-Gui-Mgmt-Infra; при этом автоматически удаляется Server-Gui-Shell, зависящий от Server-Gui-Mgmt-Infra.
Uninstall-WindowsFeature Server-Gui-Mgmt-Infra -Restart
Чтобы переключиться из Server Core на сервер с графическим интерфейсом пользователя, используйте следующую команду PowerShell:
Install-WindowsFeature Server-Gui-Mgmt-Infra, Server-Gui-Shell -Restart
Можно просто добавить Server-Gui-Mgmt-Infra для переключения из Server Core на установку Minimal Server Interface:
Install-WindowsFeature Server-Gui-Mgmt-Infra -Restart
Или же можно удалить Server-Gui-Shell из сервера с графическим интерфейсом пользователя для переключения на установку Minimal Server Interface:
Uninstall-WindowsFeature Server-Gui-Shell -Restart
Гибкость вариантов развертывания — это прекрасно, но какой вариант будет оптимальным для вас? Ориентируйтесь на Server Core и позаботьтесь об агентах управления, в частности для резервного копирования, мониторинга и борьбы с вредоносными программами, функционирующих на Server Core. Запустите все роли инфраструктуры и серверные приложения, поддерживаемые на Server Core.
Для серверных приложений, не запускаемых на Server Core, используйте установку Minimal Server Interface (то есть инфраструктуру управления без графической оболочки). Часто встречаются установщики программ, зависящие от графического интерфейса и IE, но после установки прикладная программа успешно функционирует с Minimal Server Interface. Если установка завершается неудачей, то проблема может быть связана с установщиком, поэтому перейдите к серверу с графическим интерфейсом пользователя. Если приложение привязано к графической оболочке, то его необходимо запускать в варианте развертывания сервера с графическим интерфейсом пользователя. Однако во многих приложениях со временем появится дистанционно запускаемый инструментарий управления, не привязанный к графической оболочке или инфраструктуре управления.
Какой бы вариант развертывания ни использовался для системы Windows Server 2012, применяйте дистанционное управление. Серверами Windows Server 2008 R2 и Windows Server 2008 также можно управлять дистанционно с помощью Windows 8 Server Manager, если установлена инфраструктура Windows Management Framework 3.0.
Следите за килобайтами
У англичан есть поговорка: считайте пенсы, а фунты позаботятся о себе сами. Ее смысл в том, что если ответственно относиться к повседневным тратам, то с финансами в целом все будет хорошо. То же самое относится к пространству на диске: следите за килобайтами, и с мегабайтами все будет в порядке. Другими словами, осмотрительное поведение на уровне сервера гарантирует оптимальное использование пространства на диске. Таким образом, мы подходим к еще одному изменению в Windows Server 2012: компоненты по требованию.
Если вам приходилось управлять Windows NT Server 4.0, то вам знакомо «удовольствие» вставлять установочный носитель и переустанавливать пакет обновления каждый раз при запуске новой службы. Эта процедура ушла в прошлое с появлением Windows 2000 Server, когда компания Microsoft решила, что ради управления и экономии времени можно поступиться пространством на диске для установки операционной системы. Решением, примененным в Windows 2000, было копирование всей операционной системы и всех возможных служб (теперь именуемых ролями и компонентами) на жесткий диск сервера и сохранение их в папке WinSxS (параллельная сборка). Когда служба активна, файлы просто извлекаются из папки WinSxS; установочный носитель не требуется. Когда на сервере применяется пакет обновления, во все файлы в папке WinSxS вносятся изменения, и если впоследствии включить службу на сервере, то повторно применять пакет обновления не нужно.
Однако в отдельных случаях важнее уменьшить размер установки, чем сэкономить усилия администратора. Представьте виртуальную среду, в которой работает 300 экземпляров одной виртуальной машины, например ферму IIS с балансировкой нагрузки. В этом случае гигабайты дополнительного места на диске для двоичных файлов (которые вряд ли когда-нибудь потребуются) каждого экземпляра вместе достигают огромной величины. Другой пример — размещение Windows Server 2012 в хранилище с небольшим объемом, например интегрированном на системной плате. В этом случае компактность приобретает решающее значение. В Windows Server 2012 роли и компоненты можно удалить из папки WinSxS, сэкономив место на диске. Для удаления воспользуйтесь командой Uninstall-WindowsFeature с параметром -Remove оболочки PowerShell
Uninstall-WindowsFeature -Remove
или командой DISM с ключом /remove
Dism /online /disable-feature /featurename: /remove
Если роль или компонент удалены с диска, а затем предпринимается попытка добавить эту роль или компонент, то по умолчанию Windows Server загружает необходимые двоичные файлы из серверов Microsoft Windows Update в Интернете. Или можно указать папку WinSxS на другом сервере, файл Windows Imaging Format (WIM) установки Windows Server с установочного носителя или общий ресурс с содержимым извлеченного установочного WIM-файла. Вариант можно указать в команде удаления, указать как значение по умолчанию в реестре сервера (в параметре HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicingLocalSourcePath) или назначить с использованием групповой политики.
Эту функцию не следует задействовать как типичную часть установки сервера, но полезно зарезервировать для специфических применений, как уже отмечалось выше. Экономия пространства на диске может показаться удачной идеей, но могут возникнуть дополнительные проблемы, если роли и компоненты, которые будут добавляться позже, перевесят выгоды от экономии места.
Перемены к лучшему
Не будем недооценивать масштаб изменений, особенно вариантов развертывания — он велик. Многие компании по-прежнему будут управлять каждым сервером локально с использованием RDP и выполнять все настройки непосредственно на сервере. Дистанционное управление и использование Server Core — глобальная перемена, но компании могут получить и большие преимущества благодаря упрощенному управлению и применению программных обновлений.
Server Core в прошлом
Вариант установки Server Core был реализован в Windows Server 2008 с вполне определенной целью. Каждая версия Windows дополняется новыми функциями, и возможности операционной системы расширяются. Но в результате операционная система становится больше, занимает много места на диске, возрастают уязвимость, число компонентов для обновления и связанных с ними перезагрузок. Кроме того, значительная часть исходного текста серверных и клиентских операционных систем Windows одна и та же, в частности компоненты, не обязательные для сервера (например, мультимедиа-службы, Internet Explorer — IE, графическая оболочка Explorer.exe). В результате количество программного кода в серверной операционной системе еще более увеличивается, но администраторы могут использовать больше общих приемов для клиента и сервера. Но если сервер представляет собой контроллер домена (DC), файловый сервер или простой веб-сервер, то все дополнительные компоненты и даже удобный графический интерфейс пользователя становятся ненужными; их присутствие просто увеличивает число объектов, нуждающихся в обновлении. Предпочтительной платформой для серверов инфраструктуры в этом случае становится Server Core.
Выполнив регистрацию в Server Core в Windows Server 2008, администратор видит приглашение командной строки для управления сервером. Для многих администраторов, привыкших к графическому интерфейсу, такой стиль управления казался необычным. Server Core в Windows Server 2008 — минимальная операционная система для запуска ключевых ролей инфраструктуры, поэтому из нее исключены многие компоненты, обычно присутствующие в Windows Server. Для некоторых из этих компонентов требуется более частое обновление. По сравнению с полной установкой, для Server Core приходится применять в среднем в два раза меньше обновлений и гораздо реже перезагружать компьютер. Кроме того, установка Server Core занимает намного меньше места на диске и отличается более низкими требованиями к процессору и памяти. Но главное преимущество Server Core — уменьшение числа программных обновлений и соответственно повышение доступности сервера.
Поэтому может показаться, что Server Core получил широкое распространение. Кому не захочется уменьшить вдвое число обновлений и сократить соответственно задачи управления? Но взгляд на два других важных компонента Windows Server 2008, а именно диспетчер серверов и Windows PowerShell, позволяет понять, почему лишь очень немногие компании внедрили Server Core.
В составе Windows Server 2008 появился диспетчер серверов. Это был новый метод управления серверами; он основывался на ролях и обеспечивал интуитивно понятный подход к администрированию. Однако диспетчер серверов был непригоден для управления удаленными компьютерами и поэтому не мог использоваться с Server Core. В результате администраторы не могли задействовать новое направление управления с Server Core и вынуждены были обратиться к старому инструментарию консоли управления MMC и командной строке. Также в Windows Server 2008 компания Microsoft продвигала PowerShell как универсальное средство управления для всех продуктов Microsoft. Оболочка PowerShell построена на основе. NET Framework. Вследствие «монолитной» природы. NET (это единый компонент, который нельзя разделить на составные части) и зависимости от компонентов, отсутствующих в Server Core, предоставить. NET Framework для Server Core невозможно. Поэтому PowerShell недоступен в Server Core. Кроме того, многие сторонние агенты управления (и продукты резервного копирования, мониторинга и защиты от вредоносных программ) плохо работают с Server Core из-за зависимости от компонентов, отсутствующих в установке.