Недавно меня попросили установить в одной крупной компании диспетчер конфигурации Microsoft System Center Configuration Manager 2007 (SCCM) и настроить его для развертывания систем Windows Server 2008, а также Windows Server 2003 — и все это в течение одного дня. Я справился с задачей, но в процессе ее решения столкнулся с рядом проблем. В этой статье я опишу процесс, которому следовал, трудности, с которыми мне пришлось столкнуться, и решения, которые я применял. Поскольку речь пойдет о довольно сложной процедуре — развертывании операционной системы с помощью диспетчера SCCM, я опускаю описание установки этой программы. Будем исходить из того, что в вашей сети продукт SCCM 2007 уже установлен и что вы достаточно знаете о его использовании.
Начало работы
Прежде чем приступать к развертыванию операционной системы, следует убедиться, что сеть функционирует нормально.
- Проверьте системы сайта SCCM на наличие ошибок. Откройте окно диспетчера и выберите пункты Site Database, System Status, Site Status. В разделе с именем сайта просмотрите области Component Status и Site System Status, как показано на экране 1. При обнаружении проблем просмотрите сообщения об ошибке и устраните неисправность. Можно также просмотреть журналы регистрации по адресу C:\Program Files\Microsoft Configuration Manager\Logs.
- Удостоверьтесь в том, что границы сайта определены. Откройте окно диспетчера SCCM и выделите пункты Site Database, Site Management. В разделе с именем сайта следует выделить пункты Site Settings, Boundaries.
- Проверьте точки распространения и точки управления. Они должны быть активированы. Откройте окно диспетчера и перейдите в раздел Site Database, Site Management. В разделе с именем сайта выделите элементы Site Settings, Site Systems.
- На сервере SCCM, который послужит точкой загрузки Preboot Execution Environment (PXE), следует установить службу Windows Deployment Services (WDS). Не пытайтесь настраивать WDS напрямую; все операции настройки выполняет диспетчер SCCM. Устанавливайте WDS с нулевой конфигурацией.
- С целью авторизации сервера WDS (SCCM) в Active Directory (AD) для DHCP нужно задействовать оснастку DHCP консоли управления Microsoft Management Console (MMC). Скорее всего, сервер SCCM не выполняет функции сервера DHCP. Однако вам не придется устанавливать параметры диапазона на сервере DHCP таким образом, чтобы они указывали на SCCM для PXE. Если вы работаете с несколькими сетями и маршрутизаторы пересылают пакеты корректно, ваши клиенты смогут получать ответы. Существует и другая возможность: использовать параметр DHCP 67, чтобы присвоить параметру образа загрузки значение \SMSBoot\x86\wdsnbp.com, а также параметр 66 для полного доменного имени сервера SCCM, чтобы DHCP указывал клиентам на сервер SCCM.
- Создайте стандартную пользовательскую учетную запись AD для отслеживания доступа к сети. Откройте окно SCCM и выделите элементы Site Database, Site Management. В разделе имени сайта выделите элементы Site Settings, Client Agents, Computer Client Agent. Настройте учетную запись в диалоговом окне Computer Client Agent Properties, как показано на экране 2. Обратите внимание, учетная запись должна быть записью локального администратора на Server SCCM — или по меньшей мере предоставлять права для работы с общедоступным ресурсом smspxeimages$ и для включения записи в состав группы SMSAdmins. Иначе при загрузке клиентов из среды PXE они не будут иметь полномочий на считывание данных с общедоступного файлового ресурса Windows Preinstallation Environment (WinPE). Более подробную информацию об оптимальных методах формирования учетных записей для сетевого доступа можно найти в статье Microsoft «About the Network Access Account» (http://technet.microsoft.com/en-us/library/bb680398.aspx).
Более подробные рекомендации по развертыванию операционных систем приведены на сайте Microsoft Operating System Deployment Checklists (http://technet.microsoft.com/en-us/library/bb632737.aspx).
Настройка сервера SCCM для развертывания
Первый этап процесса развертывания операционной системы — подготовка сервера к получению ее образов.
- Создайте папку и общедоступный ресурс, где будут храниться файлы в формате WIM (Windows Imaging Format). Скопируйте файлы в эту папку и дайте им значимые имена (скажем, вместо имени install.wim лучше использовать vistasp1x86.wim).
- Импортируйте файлы WIM из общедоступного ресурса в раздел Operating System Deployment консоли управления SCCM. Отметим, что по умолчанию при импорте WIM-файла, содержащего несколько образов, SCCM использует для обозначения всей группы импортированных образов имя первого образа (скажем, Windows Vista Business). Но лучше присваивать таким группам раскрывающие смысл имена, например Windows Vista SP1 x86.
- Добавьте общий ресурс дистрибутивов для новых образов.
- Добавьте точку распространения PXE для каждого из загрузочных образов. По умолчанию SCCM уже располагает загрузочными образами для x86 и x64, содержащих среду WinPE; однако точки распространения для этих образов не назначаются.
- Активируйте средства загрузки на сервере SCCM. Откройте окно диспетчера и перейдите в раздел Site Database, Site Management. В области имени сайта нужно выбрать элементы Site Settings, Site Systems, PXE Service Point. Затем, чтобы открывать различные порты брандмауэра, активируйте роль сайта PXE.
Продукт SCCM 2007 R2 обеспечивает развертывание операционной системы на неопознанных компьютерах, и все же я рекомендую развертывать операционную систему лишь на системах с известными MAC-адресами. Развертывание на неопознанных компьютерах может привести к затиранию SCCM с необходимостью последующей повторной установкой на этом компьютере.
В моем случае развертывание выполнялось на новой системе, не имевшей учетной записи AD и неизвестной диспетчеру SCCM. Следовательно, мне пришлось создать запись SCCM и добавить данный компьютер в коллекцию.
Откройте диспетчер SCCM и перейдите в раздел Site Database, Computer Management, Operating System Deployment, Computer Associations, Import Computer. Выберите пункт Manual, после чего введите имя компьютера и его MAC-адрес. Выберите элементы Rebuild action, а затем Refresh action. В результате произойдет обновление коллекции All Systems, что даст возможность отобразить новый компьютер.
Далее следует создать коллекцию, куда будут записываться элементы развертывания операционной системы. Создайте коллекцию OSDeployment и с помощью статического правила добавьте к ней все компьютеры, на которых требуется развернуть операционную систему. Если вы просто выполняете первоначальное тестирование и хотите работать в управляемой среде, добавляйте в коллекцию только тестовые системы. Еще один вариант группового развертывания — создать динамические коллекции, членство в которых строится на таких атрибутах, как существующая операционная система и места размещения компьютеров.
Наконец, создайте пакет приложений в соответствии с изложенными ниже инструкциями; после этого у вас появится возможность развернуть клиент SCCM на новых местах.
- Перейдите в раздел Site Database, Computer Management, Software Distribution, Packages, New Package.
- Настройте пакет таким образом, чтобы в нем содержались исходные файлы. В качестве источника укажите \\sccm server\sms_site code\Client.
- Укажите параметры Always obtain files from a source directory и Access distribution folder through common ConfigMgr package share. Примите остальные настройки, предлагаемые по умолчанию.
- Задайте программу для данного пакета. В качестве значения для командной строки следует указать ccmsetup.exe.
- В разделе Requirements выберите пункт Run on any platform.
- В разделе Environment в качестве значения параметра the Program can run укажите Whether or not a user is logged on, а значение параметра Drive mode установите равным Runs with UNC name.
- Проследите за тем, чтобы все дополнительные параметры были сброшены.
- Добавьте точку распространения.
Далее необходимо сформировать последовательность задач для развертывания операционной системы и пакета клиента SCCM. Более подробную информацию о развертывании образов можно найти в статье Microsoft TechNet «How to Deploy Operating System Images to a Computer» (http://technet.microsoft.com/en-us/library/bb632559.aspx); более подробные сведения о создании последовательности задач приведены в статье «How to Create a Task Sequence to Install an Existing Operating System Image Package» (http://technet.microsoft.com/en-us/library/bb632831.aspx).
- Перейдите в раздел Site Database, Computer Management, Operating System Deployment, Task Sequences.
- Выберите элемент Install an existing image package.
- Введите имя для последовательности задач и выберите параметр Boot image matching OS deploy type (загрузочный образ, соответствующий типу развертывания операционной системы). Или же выберите параметр x86, применимый как для архитектуры x86, так и для 64-разрядной архитектуры.
- Укажите образ операционной системы, разбиение на разделы, ключ продукта, лицензирование и нужен ли пароль администратора (экран 3).
- Продолжите выбор параметров для настройки рабочей группы и домена, к которому предстоит присоединиться.
- В разделе Install ConfigMgr выделите пакет, который вы создали для данного клиента SCCM.
- Выполните необходимые операции на остальных экранах. Учтите, что можно указать развертывание модулей коррекции и приложений и в дальнейшем изменить эти настройки с помощью Task Sequences.
По умолчанию форматирование дисков, осуществляемое в процессе развертывания операционной системы, выполняется весьма медленно. Для повышения быстродействия можно изменить процедуру разбиения диска на разделы с использованием параметра format and partition, который позволяет осуществлять быстрое форматирование. Добавьте правило, препятствующее форматированию диска в случае, когда существует кэш, созданный диспетчером SCCM по умолчанию (экран 4).
Затем следует объявить о последовательности задач в созданной коллекции; для этого нужно добавить принудительное объявление. В моем случае требовалось, чтобы объявление выполнялось немедленно, так как я имел дело с управляемой тестовой коллекцией. В реальных условиях эксплуатации, возможно, потребуется установить определенное время для начала объявления. Администратор может делать объявления для коллекции неопознанных компьютеров, чтобы получить возможность развертывания операционной системы на любых компьютерах. Однако при этом следует проявлять осторожность, как я уже отмечал ранее. Более того, при работе с этим объявлением проявлять осторожность необходимо во всех случаях, поскольку, если вы сделаете его в неправильно выбранной коллекции компьютеров, вам, возможно, придется в конце концов перенастраивать все компьютеры компании.
Развертывание
Если операции настройки выполнены корректно, тестовая система загрузится через сеть и после включения установит операционную систему. Я использовал образ системы Vista для иллюстрации, но вы можете развертывать любую операционную систему, для которой имеется WIM. Позднее я подготовил WIM Windows Server 2003 для своего клиента, установив Server 2003 на виртуальной машине (VM). Я применил к установочным материалам исправления, чтобы избежать установки дополнений для виртуальных машин. Я загрузил корректную версию Sysprep, выполнил эту программу с переключателями /generalize,/oobe,/shutdown и /reseal, а затем загрузился в среду WinPE и захватил файл WIM. После этого я импортировал файл WIM в SCCM и выполнил этапы, описанные в настоящей статье.
Если возникнут проблемы, просмотрите сообщение SCCM и файлы журналов. Кроме того, в процессе диагностики можно воспользоваться следующими рекомендациями.
- Если проблема связана с PXE, откройте коллекцию и удалите последнее объявление PXE, как показано на экране 5. После этого вы сможете вновь протестировать компьютер с полным объявлением.
- Если проблема связана с WinPE, попытайтесь активировать приглашение на ввод команд в загрузочных образах. Перейдите в раздел Site Database, Computer Management, Operating System Deployment, Boot Images, затем правой кнопкой мыши щелкните на загрузочном образе и выберите элемент Properties. На вкладке Windows PE выберите параметр Enable command support. После обновления загрузочных образов обязательно обновите точки их распространения.
- Если среда предустановки Windows WinPE не обеспечивает разбиение и форматирование диска, выполните эти операции из командной строки с помощью утилиты DiskPart (diskpart.exe), после чего повторите попытку развертывания операционной системы. В ходе этой операции будет создан файл регистрации smsts.log, где будут храниться данные о сбое. У меня поначалу были проблемы с доступом к общему ресурсу SMSPXEIMAGES$, поскольку учетная запись сетевого доступа не имела такого разрешения. Когда я попытался задействовать команду Net Use на общем ресурсе \\sccm server\SMSPXEIMAGES$, она была выполнена с ошибкой.
Без участия оператора
Теперь, когда вы получили среду, которая обеспечивает развертывание операционной системы, содержащейся в файле WIM, можете усовершенствовать ее для выполнения операций настройки, развертывания служб и приложений, а также для развертывания модулей коррекции и драйверов на более высоком уровне автоматизации. Полностью наладив диспетчер SCCM, вы получите средство развертывания, функционирующее без какого-либо вмешательства со стороны оператора.
Джон Сэвилл (jsavill@windowsitpro.com) — директор по технической инфраструктуре компании Geniant, имеет сертификаты CISSP, Security and Messaging MCSE для Windows Server 2003 и звание MVP
Экран 1. Проверка систем сайта SCCM на наличие ошибок
Экран 2. Создание пользовательской учетной записи AD для сетевого доступа