АНДРЕЙ БИРЮКОВ
Windows 2008 Server Core: Windows без окон
Возможность устанавливать только необходимые компоненты, издавна существовавшая в операционных системах семейства UNIX, в Windows была недоступна. Администраторам приходилось мириться с присутствием на критически важных серверах различных ненужных компонентов. Однако с появлением Windows Server 2008 все изменилось к лучшему.
Предисловие
Со времен появления первых оболочек, а затем и операционных систем Windows неизменно оправдывала свое название, оконный интерфейс, когда-то позаимствованный у Маков, стал неотъемлемой частью ОС Windows. Это достоинство операционной системы является одновременно и недостатком, ведь для использования оконного интерфейса предъявляются завышенные требования к оперативной памяти, видеокарте, ресурсам жесткого диска и т. д. На примере Vista многие в этом убедились. К тому же вдобавок к обязательному оконному интерфейсу в состав операционной системы входят компоненты, которые совершенно не нужны для работы. Это особенно важно для серверных операционных систем. Например, зачем на сервере, выполняющем роль шлюза для доступа в Интернет, медиаплеер, редактор Wordpad, да и собственно Internet Explorer тут будет явно лишним. Наличие на сервере ненужных служб и приложений является существенной уязвимостью в защите системы, так как взломщикам облегчается проникновение. Недаром многие администраторы UNIX-систем недолюбливают Windows за отсутствие возможности пересборки системы, позволяющей удалить ненужные компоненты и оптимизировать работу необходимых служб и приложений.
Резюмируя все вышеизложенное, приведу небольшой список тех преимуществ, которые получат администраторы от использования Server Core.
- Упрощенное управление сервером. Ограниченное количество ролей требует меньших затрат времени на настройку и поддержку.
- Снижается вероятность взлома системы, так как количество установленных сервисов минимально.
- Меньшее количество дискового пространства требуется для работы. Инсталляция Server Core занимает около 1 Гб, рабочая система использует около 2 Гб на жестком диске.
С появлением Windows Server 2008 ситуация изменилась в лучшую сторону – появился Windows Server Core, режим работы сервера, при котором устанавливаются только основные компоненты сервера.
Конечно, здесь следует сразу оговориться, что собрать любую конфигурацию сервера вам не удастся (по крайней мере пока).
На данный момент Windows Core Server позволяет реализовать следующие роли:
- службы домена Active Directory (AD DS);
- службы Active Directory Lightweight Directory Services (AD LDS) – ранее данная технология именовалась ADAM (Active Directory Applications Mode);
- сервер DHCP;
- сервер DNS;
- файловые службы;
- веб-сервер (IIS) – при этом из-за отсутствия .net динамический контент не будет работать, но можно запускать сценарии asp;
- службы потоков мультимедиа;
- сервер виртуализации.
Также можно использовать следующие необязательные компоненты:
- Microsoft Failover Cluster;
- Network Load Balancing;
- Subsystem for UNIX-based Applications;
- Windows Backup;
- Multipath I/O;
- Removable Storage Management;
- Windows Bitlocker Drive Encryption;
- Simple Network Management Protocol (SNMP);
- Windows Internet Naming Service (WINS);
- Telnet client;
- Quality of Service (QoS).
Как видно, набор возможных вариантов настройки Server Core вполне достаточен для реализации основного функционала средней локальной сети. Так что приступим к развертыванию инфраструктуры сети Microsoft на базе Core Server. Прежде всего определимся с тем, какие службы нам необходимы. Будем считать, что у нас имеется несколько не очень мощных серверов и мы хотим, чтобы каждый из них выполнял одну из ролей. Соответственно будем разворачивать службу домена Active Directory, службу DHCP, файловый сервер и сервер печати.
Установка и базовая настройка Server Core
Начнем с установки контроллера домена Active Directory, так как без этого элемента другие серверы не смогут полноценно функционировать.
Процесс установки и первоначальной настройки Windows 2008 Server Core одинаков, независимо от той роли, которую он выполняет, поэтому приведенные далее инструкции по конфигурированию контроллера домена можно использовать и для серверов с другими ролями. После начала загрузки с установочного диска в одном из первых окон нам предлагается выбрать режим установки (см. рис. 1). Выбираем «Enterprise Core».
Рисунок 1. Выбор режима установки
Далее установка производится аналогично обычному серверу Windows Server 2008. После окончания установки попадаем в единственное окно – командную строку. Собственно, это единственный инструмент, доступный в Server Core. При этом у вас есть возможность закрыть это окно. В таком случае нажмите <Alt + Ctrl + Del> и создайте новую задачу cmd.exe, аналогично тому, как это делалось в предыдущих версиях Windows.
Для установки стандартных компонентов Windows 2008 Server Core необходимо использовать команды oclist и ocsetup. Подробнее данные команды будут описаны далее в статье.
Теперь настроим сетевой интерфейс. Как я уже говорил, единственный инструмент конфигурирования в этой операционной системе – командная строка, поэтому тем администраторам, которые плохо его знают, придется поначалу тяжеловато. Для просмотра сетевых интерфейсов введите следующую команду:
netsh interface ipv4 show interfaces
В полученном результате обратите внимание на значение параметра Idx. Далее необходимо указать IP-адрес, маску и шлюз по умолчанию. Сделать это можно с помощью следующих команд:
netsh interface ipv4 set address name="<ID>" source=static address=<Статический_адрес> mask=<Маска_подсети> gateway=<Шлюз_по_умолчанию>
Здесь ID – это как раз и есть значение Idx, полученное на предыдущем шаге. Далее настроим DNS:
netsh interface ipv4 add dnsserver name=""<ID>" address=<DNSIP>index=1
Если вы хотите задать несколько DNS-серверов, то последний шаг нужно повторить соответствующее число раз, при этом значение index необходимо каждый раз увеличивать на единицу.
В случае если для какого-либо из интерфейсов вам необходим динамический IP-адрес, то введите следующую команду:
netsh interface ipv4 set address name="<ID>" source=dhcp
Как известно, для контроллера домена очень критично имя сервера. Если вы хотите сменить имя машины, воспользуйтесь следующей командой:
Netdom renamecomputer <Имя_компьютера> /NewName:<Новое_имя_компьютера>
Наконец, для того чтобы сменить пароль администратора, вам потребуется команда:
net user administrator *
затем введите новый пароль.
Напоследок еще несколько полезных команд, не относящихся непосредственно к контроллерам домена Active Directory, но необходимых другим серверам.
Некоторым серверам, например веб-серверу, может потребоваться встроенный межсетевой экран. Для его настройки вам потребуются еще одна рабочая станция под управлением Windows Vista или Windows Server 2008, так как межсетевой экран в Server Core настраивается удаленно. Введите в консоли удаленной машины следующие команды:
Netsh
В диалоговой строке программы netsh наберите:
advfirewall
Set machine <Имя_сервера>
где Имя_сервера – имя вашего сервера, работающего в режиме Server Core.
Настройте брандмауэр в диалоговой строке программы netsh.
Еще одним вариантом настройки является использование оснастки Windows Firewall, запущенной на компьютере под управлением Windows Vista или Windows Server 2008.
Еще одна полезная команда в Server Core – это активация системы. Для ее осуществления введите команду:
Slmgr.vbs -ato
Если вам необходимо подключить сервер в домен, то необходимо ввести следующее:
netdom join <Имя_компьютера> /domain:<Имя_домена> /userd:<Имя_пользователя> /passwordd:*
где:
- Имя_компьютера – имя вашего сервера, работающего в режиме Server Core.
- Имя_домена – имя домена, к которому вы присоединяете компьютер.
- Имя_пользователя – имя учетной записи, обладающей правами на присоединение компьютера к домену.
Когда вы получите приглашение на ввод пароля, наберите пароль для учетной записи, указанной на предыдущем шаге.
Если необходимо добавить доменную учетную запись пользователя в группу локальных администраторов, наберите следующую команду:
net localgroup administrators /add <Имя_домена>\<Имя_пользователя>
Для перезагрузки сервера используйте команду:
Shutdown /r /t 0
В добавление следует сказать еще несколько слов о средствах работы с системой, доступных администратору. Прежде всего это текстовый редактор notepad, с помощью которого, как и в обычной Windows-системе, можно создавать и редактировать текстовые файлы. Для работы с реестром доступен стандартный редактор regedit.
Устанавливаем контроллер домена
Итак, мы произвели первичные настройки нашего Server Core и теперь займемся непосредственно настройкой ролей. Интерфейс команды dcpromo в режиме core вам недоступен, так что привычным для большинства способом интерактивной установки воспользоваться не удастся. Вместо этого вам придется использовать файл ответов для команды dcpromo.
Для того чтобы создать этот файл, необходимо произвести некоторые дополнительные действия на другом сервере, который не является Core. В частности, на диске с дистрибутивом операционной системы зайдите в каталог Tools и найдите файл Deploy.cab. Из этого файла извлеките Ref.chm. Затем откройте файл Ref.chm. После этого в разделе Contents tab нажмите Unattend.txt и затем найдите раздел [DCInstall] и скопируйте в буфер обмена его содержимое. Извлеките содержимое буфера обмена в текстовый редактор. Далее в редактируемом текстовом файле необходимо внести некоторые изменения, о которых речь пойдет ниже, в случае затруднений воспользуйтесь документацией из файла помощи Ref.chm.
Итак, что необходимо указать в разделе [DCINSTALL]:
- UserName – SAM-имя пользователя, с правами администратора домена. Эти учетные данные будут использоваться при запуске команды dcpromo.
- Password – пароль данного пользователя.
- UserDomain – имя домена.
- DatabasePath – расположение файла Ntds.dit file. (По умолчанию %systemroot%\ntds.) В случае если эта переменная не указана, используется значение по умолчанию.
- LogPath – расположение файлов журнала событий. (По умолчанию %systemroot%\ntds.) В случае если эта переменная не указана, используется значение по умолчанию.
- SYSVOLPath – расположение разделенной папки SYSVOL. (По умолчанию %systemroot%\ntds.)
- SafeModeAdminPassword – пароль, используемый для запуска режима восстановления Directory Services Restore Mode.
- CriticalReplicationOnly – Yes или No, позволяет dcpromo завершить инсталляцию до окончания репликации с другими контроллерами домена.
- SiteName – имя Active Directory сайта, в котором будет находиться данный контроллер домена. Обычно сайты создаются в оснастке Active Directory Sites and Services.
- ReplicaOrNewDomain – здесь определяется, это первый контроллер домена или добавочный контроллер.
- ReplicaDomainDNSName – Fully Qualified Domain Name (FQDN) полностью определенное доменное имя нового контроллера домена.
- ReplicationSourceDC – здесь необходимо указать имя уже существующего контроллера домена в качестве источника для репликаций. При восстановлении Active Directory вы можете использовать источник, указанный в параметре ReplicateFromMedia, если вам необходимо указать, с какого контроллера домена необходимо восстанавливать Active Directory и содержимое SYSVOL, вместо репликации.
- ReplicateFromMedia – Yes – для восстановления с устройства, No – для репликации.
- ReplicationSourcePath – если репликация, то указывается путь к установочному CD или сетевому ресурсу. Если восстановление из резервной копии, то локальное устройство и путь к каталогу.
- RebootOnSuccess – здесь укажите Yes, если вы хотите, чтобы перезагрузка осуществлялась сразу после установки, No – если вы хотите перезапустить контроллер домена вручную. Если вы не хотите, чтобы контроллер домена перезагружался автоматически и не хотите, чтобы выводился соответствующий запрос, укажите NoAndNoPromptEither.
- ApplicationPartitionsToReplicate – разделенные пробелами имена разделов application directory partitions, которые вы хотите использовать при восстановлении Active Directory (или «*» для того, чтобы использовать все application directory partitions). При этом требуется использование Windows Server 2003 с Service Pack 1 (SP1) и функциональный уровень леса Windows Server 2003.
На этом редактирование файла ответов заканчивается. Сохраните созданный файл в каталоге, который используется для запуска dcpromo.Далее используйте команду dcpromo со следующим параметром:
Dcpromo /unattend:<Файл_ответов>
где Файл_ответов – имя файла ответов программы Dcpromo.exe.
На первый взгляд использование файла ответов для установки контроллера домена является сложной задачей, которая может показаться новичку трудновыполнимой, но на самом деле это не так сложно, и особых трудностей возникнуть не должно.
Администрирование каталога Active Directory можно осуществлять с помощью удаленной оснастки Active Directory Users And Computers, которую можно установить на рабочую станцию администратора.
Сервер DHCP
Следующим сервером на основе Windows 2008 Server Core должен быть сервер DHCP. Предварительные настройки сервера (имя, сетевой интерфейс, подключение к домену Active Directory) уже описывались в начале статьи, поэтому сейчас я их описывать не буду и приступлю сразу к установке роли DHCP.
Для установки роли сервера DHCP выполните следующие действия.
В командной строке наберите команду:
start /w ocsetup DHCPServerCore
Далее вам потребуется уже знакомая команда netsh. Настройте область DHCP, набрав в командной строке netsh или с помощью удаленного использования оснастки DHCP операционной системы Windows Server 2008. Если сервер DHCP установлен в домене Active Directory, вы должны авторизовать его в среде домена Active Directory.
Сделать это лучше всего с помощью удаленного использования оснастки DHCP на другом сервере. В случае если вам необходимо удалить роль DHCP с сервера, то используйте команду:
start /w ocsetup DHCPServerCore /uninstall
Файловые службы
Служба Server, которая необходима для работы файловых служб, устанавливается по умолчанию с целью предоставления доступа к административным файловым ресурсам, необходимым для управления сервером. Для предоставления доступа администратор может удаленно подключиться к файловым ресурсам и открыть доступ для нужных пользователей.
Если вам необходимы дополнительные компоненты, то для их установки используйте описанные ниже процедуры.
Для установки службы репликации файлов (File Replication Service, FRS) наберите в командной строке следующую команду:
start /w ocsetup FRS-Infrastructure
Для установки службы распределенной файловой системы (Distributed File System, DFS) наберите:
start /w ocsetup DFSN-Server
Для установки службы репликации распределенной файловой системы (Distributed File System Replication, DFSR) наберите следующую команду:
start /w ocsetup DFSR-Infrastructure-ServerEdition
Чтобы установить службы для файловой системы Network File System (NFS), наберите:
start /w ocsetup ServerForNFS-Base
start /w ocsetup ClientForNFS-Base
Для удаления любого из вышеперечисленных компонентов файлового сервера запустите соответствующую команду с параметром /uninstall.
Роль сервера печати
Для установки сервера печати наберите в командной строке следующую команду:
Start /w ocsetup Printing-ServerCore-Role
Немного о дополнительных компонентах
Для установки дополнительных компонентов сервера, работающего в режиме Server Core, выполните следующую процедуру.
Предварительно обратите внимание на то, что программа Ocsetup.exe чувствительна к регистру вводимых символов, поэтому будьте внимательны при выполнении настроек.
Чтобы просмотреть список доступных дополнительных компонентов, в командной строке наберите следующую команду:
Oclist
Эта команда выводит список доступных ролей и дополнительных компонентов, которые можно использовать при работе с программой Ocsetup.exe, а также список уже установленных ролей и компонентов (см. рис. 2).
Рисунок 2. Доступные для установки компоненты
Для установки дополнительных компонентов в командной строке наберите уже использовавшуюся ранее команду:
start /w ocsetup <Имя_компонента>
где Имя_компонента – имя дополнительного компонента из следующего списка:
- FailoverCluster-Core – отказоустойчивость кластеров Майкрософт MS Cluster.
- NetworkLoadBalancingHeadlessServer – балансировка нагрузки сети NLB.
- Microsoft-Windows-RemovableStorageManagementCore – управление съемными носителями.
- BitLocker – шифрование дисков Windows Bitlocker.
Рисунок 3. Опции ocsetup
Удаленное управление Server Core
Учитывая специфику Server Core, а именно отсутствие привычных оконных интерфейсов, я хотел бы особо остановиться на средствах управления. Как вы уже поняли, можно управлять сервером локально с помощью командной строки. Однако также вы можете осуществлять удаленное управление с помощью сервера терминалов. Вы можете подключиться к серверу, работающему в режиме Server Core, и управлять им с помощью клиента сервера терминалов, запущенном на другом компьютере под управлением Windows Vista. Рабочим интерфейсом пользователя при этом будет являться командная строка.
Также можно осуществлять удаленное управление с помощью инструмента Windows Remote Shell. Вы можете использовать инструменты командной строки и выполнять сценарии на сервере, работающем в режиме Server Core, с помощью инструмента Windows Remote Shell, запущенного на другом компьютере под управлением Windows Vista или Windows Server 2008. Еще одним инструментом управления являются средства сценариев, Powershell и инструментарий WMI, позволяющих удаленно управлять работой сервера.
Также средством управления Server Core является servermanagercmd – консольный вариант Server Manager, средства управления компонентами сервера Windows 2008.
Кстати, стоит упомянуть, что можно опубликовать окно cmd.exe, взятое из Server Core на рабочем столе Windows Vista, и управлять сервером таким образом.
И, наконец, возможно самым привычным средством управления сервером в режиме Server Core будет управление с помощью консоли MMC, установленной на другом сервере или рабочей станции. Например, следить за событиями, происходящими на сервере, можно подключившись с помощью консоли MMC к журналу событий Event Log данного сервера.
Заключение
Завершая эту статью, мне хотелось бы подвести небольшой итог. Конечно, говорить о том, что Server Core так же гибок в возможностях настройки, как разнообразные UNIX-системы, пока будет преждевременно. Но первый шаг сделан, и хочется надеяться, что со временем функционал серверной операционной системы Windows будет расширен возможностями более гибкого создания ролей, например, появились бы роли, предназначенные для сервера ISA, для SQL и т. д. Такое расширение функционала позволило бы использовать Windows для построения более сложных систем и сервисов.
- http://www.oszone.net/display.php?id=5737 – пошаговое руководство по установке Windows Server 2008 в режиме Server Core (установка основных компонентов сервера).
- http://www.microsoft.com/windowsserver2008/servercore.mspx – официальная страница, посвященная Server Core.
- http://blogs.technet.com/abeshkov/archive/2007/10/04/windows-server-core-windows-server-2008.aspx – русскоязычная веб-трансляция о Server Core, способах его применения и отличиях от полной версии.