Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Системный администратор - секреты мастерства: основы RIS и дистанционной установки Windows


Здравствуйте, уважаемые коллеги!

Сегодня мы с вами продолжим говорить о том, какими средствами системный администратор может облегчить себе жизнь, и рассмотрим такое явление как удаленная установка операционной системы Windows на серверы и рабочие станции. Естественно, формат рассылки не позволит рассмотреть данный процесс детально, но мы разберем основы, освоив которые, вы без труда самостоятельно постигните данный, в общем-то, несложный процесс.

Да, чуть не забыл – все мои предыдущие статьи на тему администрирования локальных сетей, а также прочие материалы на ИТ-тематику можно по-прежнему найти на www.mednikov.ru, куда я настойчиво приглашаю и своих старых читателей, и тех, кто недавно присоединился к нашей аудитории.

ОК, хватит рекламы – приступим к делу. Зачем нам нужна дистанционная установка? Для экономии сил и времени. Если речь идет об установке Windows на рабочие места, при помощи дистанционной установки мы можем автоматически устанавливать ОС и некоторый набор стандартных программ без помощи компакт-дисков, не прикасаясь к клавиатуре. Это очень полезно, если в вашем хозяйстве сто и больше компьютеров, или если вам необходимо по каким-либо причинам часто устанавливать ОС на машины – вы не превращаетесь в придаток к компакт-диску с дистрибутивом и спокойно можете заниматься более интеллектуальными делами, пока машины потихоньку инсталлируются по сети в автоматическом режиме.

Давайте посмотрим, как происходит процесс установки операционной системы на компьютер, будь то сервер или обычная персоналка. Этот процесс практически идентичен для всех операционных систем и разнится лишь в деталях:

1. После прохождения POST (power-on self test) BIOS пытается загрузиться со всех возможных накопителей, которые существуют в системе. Последовательность перебора устройств, как вы понимаете, определяется настройками, редактируемыми пользователем.

Как только найден первый попавшийся загрузчик, ВIOS запускает его, после чего грузится инсталлятор, необходимые запуска процедуры инсталляции драйвера устройств и др.

2. Пользователь размечает при помощи встроенного в инсталлятор инструмента жесткий диск на разделы, определяет их объем и тип используемой файловой системы.

3. В отдельных случаях (например, при установке ОС Linux) пользователь выбирает, какой набор ПО из входящего в состав дистрибутива необходимо установить, а также может вручную указать, поддержку какого оборудования и какие специфические функции необходимо включить при установке (конфигурирование ядра).

4. Когда подготовка к установке закончена, инсталлятор форматирует диски, ставит основные файлы ОС и драйверы найденных (или указанных пользователем) устройств, добавляет в систему указанное пользователем программное обеспечение.

Обычно установка ОС осуществляется с диска, но если мы не хотим находится рядом с машиной во время инсталляции, нам нужен альтернативный подход. Во-первых, надо как-то избавиться от необходимости вставлять диск в привод компакт-дисков, а во-вторых, нужно придумать, как отвечать на все каверзные вопросы, которые задает инсталлятор пользователю в момент установки ОС. Проще говоря, нужно научить инсталлятор не ждать от пользователя нажатий на клавишу «Далее» (как, например, происходит при установке Windows), а действовать по заранее созданному сценарию.

Для решения первой задачи будем использовать локальную сеть и протоколы DHCP (dynamic host configuration protocol), BOOTP (bootstrap protocol – протокол начальной загрузки) и TFTP (trivial file transfer protocol – простой протокол передачи файлов). – протокол динамического конфигурирования устройств),

Уже многие годы и серверы, и простенькие персоналки снабжаются сетевыми платами, поддерживающими функцию LAN BOOT, т.е. загрузку по сети. Если BIOS не находит ничего похожего на загрузчик на жестких дисках, флоппи-дисководах, CD-DVD-приводах и на USB шине (если поддерживается загрузка с USB), он обращается к boot agent’у – микропрограмме, записанной в ПЗУ сетевой платы. Boot agent делает попытку получить сетевой адрес при помощи BOOTP и DHCP: отправляет в сеть запрос BOOTREQUEST и ждет от DHCP/BOOTP-сервера ответ BOOTREPLY. BOOTREPLY содержит в себе IP-адрес, который будет присвоен клиенту, адрес TFTP-сервера, с которого будет взят загрузчик, имя файла, которое нужно запросить у TFTP-сервера. Подробно про протокол BOOTPWikipedia (http://ru.wikipedia.org/wiki/BOOTP). можно прочитать на сайте

Сконфигурировав свой сетевой интерфейс и став полноценным хостом в сети, клиентская машина обращается к TFTP-серверу, о котором ей было рассказано при помощи DHCP/BOOTP, и запрашивает у него файл, чье имя также было передано через BOOTP. Обычно этим файлом является загрузчик, который и выполняет в дальнейшем все необходимые действия: обращается к некоторому сетевому ресурсу за нужными файлами, загружает их в память и запускает. Причем нет никакой разницы, что может запустить загрузчик: это может быть оболочка для работы с терминальным сервером по протоколу RDP (Windows Terminal) или X11 (графический терминал Linux), ssh- или telnet-клиент (удаленный доступ к консоли Linux или устройств Cisco), а может быть и инсталлятор любой операционной системы.

 Таким образом, имея в сети компьютер, на котором запущены службы DHCP, BOOTP и TFTP, мы можем организовать загрузку по сети для любой из машин, чья сетевая плата снабжена boot agent’ом (все современные сетевые интерфейсы однозначно снабжены им). DHCP, BOOTP и TFTP – стандартные службы, имеющиеся в любой серверной ОС, будь то Windows, Linux, FreeBSD и др. В Windows вам придется доставить TFTP службу с компакт-диска с дистрибутивом при помощи стандартного мастера установки/удаления компонентов Windows. В Linux с установкой этих служб также нет никаких проблем.

Итак, задача с загрузкой по сети решаема быстро и стандартными средствами, имеющимися у нас под рукой. Для решения второй задачи – автоматического развертывания операционной системы с заданными параметрами мы будем использовать штатную функцию Windows под названием RIS или Remote Installation Service (служба дистанционной инсталляции). Хочу сразу предупредить, что для работы RIS в вашей сети должен быть развернут домен Windows (RIS активно использует Active Directory), а сама служба должна быть установлена на контроллере домена или на сервере, входящем в домен AD. Логика этого требования проста: если вы задумались об удаленной установке, значит у вас уже работает ПО Windows Server. Использовать Windows Server, и не применять при этом все возможности AD – нонсенс, все равно что гвозди микроскопом забивать. К тому же, если вам позарез нужна дистанционная установка, значит в вашей сети уже много хостов под управлением Windows, следовательно AD тоже наверняка внедрено, ведь Active Directory – это единственное, из-за чего, пожалуй, имеет смысл использовать Windows в корпоративных сетях.

Для начала установим и настроим службу RIS. Предположим, что делаться это будет на машине, являющейся контроллером домена. Откройте Пуск (Start) -> Настройки (Settings) -> Панель Управления (Control Panel). Запустите инструмент Установка и удаление программ (Add/Remote Programs), откройте Установка компонентов Windows (Add/Remove Windows Components). Прокрутите список, выберите Службы удаленной установки (Remote Installation Services) и нажмите Далее (Next). Вам потребуется компакт-диск с дистрибутивом. После окончания установки RIS потребуется перегрузить сервер.

После перезагрузки запустите RISetup.exe (через пункт Выполнить меню кнопки Пуск. Отвыкайте от кликанья мышкой – это экономит время). Вам будет предложено избрать диск и папку для хранения файлов, используемых для дистанционной установки. Создайте для этих целей отдельный каталог.

Важно: для хранения файлов, используемых RIS, нужно выбрать несистемный, незагрузочный раздел, отформатированный в NTFS и, желательно, имеющий максимальное количество свободного дискового пространства.

Мастер установки предложит вам указать расположение установочных файлов клиентской версии Windows. Вставьте дистрибутив с Windows XP Professional в CD-привод и укажите мастеру путь к нему. Сообщите Мастеру, в каком подкаталоге хранить ваш дистрибутив. Следующим шагом вы должны будете придумать описание для настраиваемого вами дистанционно устанавливаемого дистрибутива. Это делается для того, чтобы вы могли создавать несколько разных версий дистрибутивов.

RIS позволяют вам контролировать, какие серверы RIS могут обслуживать клиентские компьютеры в сети. Для того чтобы сервер RIS заработал, он вначале должен быть авторизован в Active Directory. Если сервер RIS не авторизован в, запросы клиентских компьютеров не будут обработаны и останутся без ответа. Для авторизации RIS откройте оснастку управления настройками DHCP, правой кнопкой мыши щелкните по значку DHCP в верхнем левом углу оснастки DHCP и выберите в контекстном меню пункт Управление авторизованными серверами (Manage Authorized Servers). Если Ваш сервер отсутствует в списке, нажмите Авторизовать (Authorize), и введите IP адрес сервера RIS.

 
Важно: устанавливать ОС при помощи RIS имеют права только пользователи, чьей учетной записи разрешено добавлять компьютеры в домен. Выдать соответствующие права учетной записи можно при помощи команды Делегирование управления (Delegate Control) в оснастке Active Directory – пользователи и компьютеры (Active Directory Users and Computers). Нужному вам пользователю нужно разрешить действие Присоединение компьютера к домену (Join a Computer to the Domain). В принципе, для этих целей можно использовать специально созданного пользователя, чье имя и пароль вы будете вводить сами или сообщать по телефону человеку, инициирующему загрузку инсталлируемого компьютера по сети.

 
В принципе, после проведения этих мероприятий служба RIS готова к использованию. Вам достаточно загрузиться с использованием функции сетевой загрузки, активированной в BIOS (или при помощи специально созданного загрузочного диска \\<Имя_сервера>\<Каталог образа>\Admin\Rbfg.exe). Конечно, и у самой RIS, и у DHCP/BOOTP есть куча тонких настроек, но рассматривать из здесь не имеет смысла. Лучше обратитесь к первоисточнику – сайту Microsoft.com, проведя на нем поиск по ключевым словам RIS, install и Windows 2003.

Настроенная описанным выше образом служба RIS дает вам возможность устанавливать «голую» ОС без дополнительного ПО и системных настроек, и при этом она все равно требует от пользователя отвечать на вопросы при инсталляции. Это не всегда удобно, поэтому RIS предлагает возможность устанавливать ОС при помощи образов: вы ставите Windows и необходимое ПО на эталонную машину, снимаете с нее образ системы при помощи инструмента RIPrep.exe (лежит в папке \\<Имя_сервера>\<Каталог образа>\Admin\I386\RIPrep.exe), и используете в дальнейшем данный образ при установке других рабочих станций.

 
ВАЖНО: Оборудование компьютера, с которого снят образ, и компьютера, на который данный образ ставится, может различаться. Исключение составляют драйвера Уровня аппаратных абстракций (Hardware Abstraction layer (HAL)). Например, если исходный компьютер поддерживает стандарт ACPI, он использует соответствующий драйвер ACPI HAL. Если Вы попытаетесь установить образ, предварительно подготовленный на таком компьютере, на компьютер, не поддерживающий стандарт ACPI, установка будет неудачной.

 
Естественно, чем более разношерстный «зоопарк» техники у вас в сети, тем большее количество образов придется подготовить для RIS.

 
Теперь пару слов о том, как «научить» Windows устанавливаться без участия пользователя (unattended installation), т.е. как заранее ответить на все вопросы, которые задаются при установке. Для этого используется утилита setupmgr.exe. Ее можно взять из архива deploy.cab, расположенного в папке \SUPPORT\TOOLS\ на компакт-диске, содержащем дистрибутив Windows XP. При помощи данной утилиты создается файл unattend.txt, содержащий ответы на все каверзные вопросы, задаваемые инсталлятором, а также некоторые полезные настройки – например, серийный номер копии ОС и путь к каталогу, где лежат драйверы неизвестных Windows устройств. У вас наверняка накопилось несколько десятков дисков с драйверами к материнским платам, принтерам и др., идущих в комплекте с оборудованием. Все это добро можно автоматически инсталлировать, если указать путь к мету его хранения в файле unattended.txt.

 
При установке системы через RIS для описания сценария инсталляции используются SIF-файл, лежащий на сервере в папке RemoteInstall\Setup\Язык\Images\<имя_каталога>\I386\Templates. Все необходимые системе дополнительные файлы следует разместить в подкаталогах папки RemoteInstall\Setup\Язык\Images\<имя_каталога>\$oem$\$1\, не забывая прописывать к ним пути в соответствующих секциях SIF-файла. Особенно это актуально для драйверов устройств (и в первую очередь – для сетевых плат и дисковых контроллеров), поскольку инсталлятор Windows поддерживает не все существующее оборудование, следовательно инсталляция может не состояться, если не будет загружен жизненно важный драйвер.

 
Вот, собственно, и вся премудрость. Естественно, данная статья не претендует на роль законченного руководства, а лишь подсказывает, в каком направлении двигаться. Более детальную информацию о RIS лучше всего брать на http://www.microsoft.com/technet, а тщательно разжеванную информацию об unattended-инсталляции можно найти на сайте http://unattended.msfn.org/unattended.xp/

 
На сегодня это все. В следующую нашу встречу мы поговорим о том, как с минимальными затратами организовать доступ из корпоративной сети в Интернет таким образом, чтобы тратить на конфигурирование системы как можно меньше времени, и при этом не позволять резвым пользователям лишнего. Как водится, эту статью можно будет найти как на страницах рассылки, так и на моем сайте www.mednikov.ru вместе с другими материалами (причем на сайте она появится раньше – следите за обновлениями).

 
Оставайтесь с нами, увидимся на следующей неделе!

 

С уважением,

Павел Медников


В избранное