?

Log in

No account? Create an account

Previous Entry Поделиться Next Entry
RIS
avat
lgtu
И так, наконец руки дошли до создания детальной статьи на тему RIS (Remote Installation Services). Для начала немного теории. Сам факт загрузки машины через сеть стар как мир. Еще boottp имел все необходимое для этого (в принципе, и сейчас в dhcp используются все те же опции). Так как же это происходит? Все просто. В общем случае необходим компьютер, сетевая карта которого имеет Boot ROM (хотя Windows Server умеет создавать загрузочную дискету для машин, boot ROM на которых отсутствует). В BIOS необходимо активировать возможность сетевой загрузки с сетевой карты (если она встроенная, обычно, по умолчанию отключено) и в списке устройств загрузки поставить ее первой. Boot ROM - энергонезависимая память, содержащая загрузчик, имеющий boottp клиент и tftp клиент. При запуске, он посылает в сеть broadcast запрос на получение адреса, сервер в ответе, помимо адреса, отправляет клиенту две опции: имя сервера загрузки и файл загрузчика. Клиент, получив эту информацию, обращается через tftp клиента к указанному серверу и запрашивает у него указанный файл. В случае успеха, файл загружается в память и ему передается управление. На этом работа boot ROM'а закончена, что дальше будет делать полученный загрузчик его не касается. В случае с RIS, поскольку размер разгрузчика, загружаемого boot ROM'ом ограничен (точное значение я не знаю, но полагаю, что речь о нескольких килобайтах), теперь уже полученный загрузчик по сети с сервера стягивает второй загрузчик, который и будет производить необходимые операции. Тот в свою очередь, проходит авторизацию на сервере, получает список образов и производит установку.
Теперь от теории к практике. Для создания иллюстраций я на Virtual BOX создал три виртуальные машины. Две для XP, однако, систему на них устанавливать не надо, и одну - windows server 2003 R2. Важно отметить, что windows server 2003 R2 до sp2 содержал только RIS, с sp2 в него включен WDS, речь о котором будет в следующих постах. Так что дистрибутив с sp2 брать не стоит. На полученных машинах был создан следующий виртуальный полигон (на работе в связи с соблюдением принципов ставить только лицензионное ПО, векторный редактор отсутствует - рисовал в Paint):

Для установки важно отметить следующее - RIS хранит файлы образов на разделе отличном от системного, может как-то и можно его заставить работать с диском С, но лучше не гемороиться и выделить ему отдельный раздел.
После установки Server 2003 R2 необходимо добавить роли. В данном примере опишу автоматическую установку с добавлением в домен, поэтому нам понадобятся DHCP, DNS, AD и  WINS. Интерфейс сервера имеет IP 192.168.1.10

Настройка DHCP:

О настройках параметров области разговор пойдет чуть дальше. Теперь установим Active Directory - при установке данная роль сама предложит установить DNS и настроит его, как надо, автоматически.

После этого установим роль Сервера WINS  и в "Управление данным сервером" должно быть примерно следующее:


Незабываем прописать указать настройки касательно DNS и WINS сервера на самом контроллере домена :) .

Все необходимые настройки выполнены - теперь можно настраивать RIS. Сначала добавим данную функцию: RIS  не является ролью, устанавливать его надо через панель управления - установка и удаление программ - установка компонентов Windows. В списке находим Служба удаленной установки, ставим галочку и жмем "Далее>"

Теперь, когда данный компонент установлен, а сервер перезагрузился, перейдем к настройке:
Пуск-Администрирование-Установка служб удаленной установки. Запускается Мастер установки служб удаленной установки.
Первым делом спрашивается путь, где будут храниться файлы образов удаленной установки, выше я говорил, что данный каталог должен содержаться не на системном диске, потому при установке разбил HDD на 2 раздела. Рекомендую оставить предложенный путь без изменений, в моем случае это D:\RemoteInstall.

На следующем шаге спрашивается каким клиентам следует отвечать. В этом плане сервер может находиться в 3 состояниях: не отвечать никому, отвечать только тем, кого знает и отвечать всем подряд. Для начальной настройки проще всего использовать 3-й вариант.

Теперь требуется указать путь к дистрибутиву с Windows XP. Данный дистрибутив будет является базовым для первой установки системы. Замечу, что не следует использовать всякие непонятные сборки и урезанные версии, себе дороже будет. И так, указав пусть, переходим к вопросу - имени папки. Советую назвать каталок именем, обозначающим чистый вариант дистрибутива, например, sourceDistr. Теперь последний шаг: Понятное имя и Пояснительный текст. Внимание! Символы кириллицы в эти поля вводить можно, но при установке они не будут отображены. Первое поле используется в качестве названия образа в списке установки, второе - комментарий к нему.

Открывается окно Просмотр параметров. Просматриваем, что все было заданно верно и жмем "Готово".

Начинается достаточно долгий процесс копирования файлов установки и настройки сервера.

Теперь для корректной загрузки, необходимо настроить параметры DHCP.

Здесь для загрузки машины по сети необходимо 2 параметра: 066 и 067. Первый содержит имя узла сервера загрузки - в нем необходимо указать IP сервера, на котором установлен RIS, в моем случае DHCP и RIS  находятся на одной и той же машине. Далее, Имя файла загрузки это как раз файл загрузчика, который отдается клиенту. Данный путь указывается относительно каталога, выбранного в качестве хранилища для RIS. В каталоге OSChooser\i386\ после установки служб удаленной установки, помимо прочего, создаются два файла: startrom.n12 и startrom.com - отличие в них, что первый при загрузке по сети не требует нажатия F12 и сразу переходит к устрановке, второй - требует нажатия F12 и, если через небольшой промежуток данное действие не произошло, загрузчик завершается и BIOS переходит к следующему устройству загрузки.
Нам осталось создать пользователя, авторизация которого будет необходима для установки. Важно отметить, что кириллица в имени или пароле не допустима. Там, куда мы отправляемся, просто нет возможности ввода кириллицы :) По умолчанию право на установку имеют только администраторы, я не буду мучиться и просто создам учетную запись, входящую в соответствующую группу (которой при желании можно отключить локальный вход в систему)

Теперь все готово для сетевой установки. Напомню, что в BIOS Setup сетевого компьютера находим опцию, отвечающую за LAN BOOT ROM (по умолчанию в 99% BIOS'ов эта возможность выключена), включаем ее и устанавливаем загрузку с сетевой карты. Поехали (для создания образа я использую 1-ю клиентскую машину своего полигона). Если все было сделано правильно, ваш компьютер сам запустится до следующего состояния

Если это так - можно поздравить себя с успехом и идти дальше. После приветствия с нас сразу попросят авторизацию. Что ж, пользователя мы создавали именно для этого:


Вот тут может что-то пойти не так, а именно - отсутствие у RIS драйверов сетевой карты. В данном случае не стоит паниковать, просто необходимо посетить сайт производителя данного оборудования и скачать нужный драйвер. По своему опыту скажу, что у большинства такой драйвер в наличии имеется, однако, отдельно его не публикуют, а вкладывают в Windows версию драйвера. Например, что нужно сделать в случае с моим Asus eeePC 1000:
1. Идем на сайт asus и качаем драйвер (LAN_XP_080827.zip)
2. Распаковываем архив и находим папку \Atheros\RIS, здесь нас интересует содержимое каталога WinXP2003_32
3. Для добавления добытых драйверов в образ всего-лишь необходимо положить файлы из папки в каталог образа: %RemoteInstall%\Setup\Russian\Images\%ImageName% (у меня это каталог D:\RemoteInstall\Setup\Russian\Images\sourceDistr) и, если не хочется ждать, перезапустить службу binlsvc (net stop binlsvc и net start binlsvc)


Поскольку сейчас на сервере только 1 образ дистрибутива - предлагать выбирать он не стал и сразу перешел к его установке, думаю, процесс инсталляции и настройки системы можно опустить. Ваша задача - установить все драйвера и программы, необходимые в образе. Важно отметить, что RIS (как и WDS) без геморроя может копировать образ только 1 раздела, так что проще всего устанавливать все на единственный раздел, а под файлы пользователя, например, подключить сетевой диск. Программа установки автоматически переразобьет и отформатирует жесткий диск компьютера, сделав из него единый диск. Система устанавливается с автоматически сгенерированным файлом ответа: вводить требуется только серийный номер продукта, автоматически заведется в домен. Учетная запись локального администратора будет отключена.
Теперь, когда система настроена, необходимо запечатать установку. Для этого используется утилита riprep, найти ее можно в сетевом каталоге автоматической установки:  \\%SERVER_NAME%\REMINST\Admin\i386\riprep.exe. И так, будем считать, что система настроена, все установлено и нам теперь необходимо размножить ее на множество компьютеров. Запускаем riprep. Первым делом с нас спрашивают имя сервера развертывания, на который будет загружен полученный образ,  значение по умолчанию соответствует машине, на которой он находится:

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

 

На следующем шаге указываем имя и поясняющий текст

Получаем сообщение, что некоторые службы перед созданием образа будут остановлены, но нам до этого фиолетово :) Надо - пусть останавливает.

Все, начинается процесс создания образа и его загрузки на сервер.

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

Теперь, помимо образа чистой полной установки у нас появился наш - уже установленной настроенной системы. В принципе, его можно устанавливать на компьютеры, однако,  следует чуть-чуть повременить и сделать файл ответов, дабы полностью автоматизировать установку. В каталоге образа находится файл ответов %ImageName%\i386\Templates\riprep.sif. Он создается автоматически и уже содержит некоторые параметры:
[data]
floppyless = "1"
msdosinitiated = "1"
OriSrc = "\\%SERVERNAME%\RemInst\%INSTALLPATH%\%MACHINETYPE%"
OriTyp = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1

[SetupData]
OsLoadOptions = "/noguiboot /fastdetect"
SetupSourceDevice ="\Device\LanmanRedirector\%SERVERNAME%\RemInst\%INSTALLPATH%"
SysPrepDevice="\Device\LanmanRedirector\%SERVERNAME%\RemInst\%SYSPREPPATH%"
SysPrepDriversDevice="\Device\LanmanRedirector\%SERVERNAME%\RemInst\%SYSPREPDRIVERS%"

[Unattended]
OemPreinstall = no
FileSystem = LeaveAlone
ExtendOEMPartition = 0
TargetPath = \WINDOWS
OemSkipEula = yes
InstallFilesPath = "\\%SERVERNAME%\RemInst\%INSTALLPATH%\%MACHINETYPE%"
LegacyNIC = 1

[UserData]
FullName = "%USERFIRSTNAME% %USERLASTNAME%"
OrgName = "%ORGNAME%"
ComputerName ="%MACHINENAME%"

[GuiUnattended]
OemSkipWelcome = 1
OemSkipRegional = 1
TimeZone = %TIMEZONE%
AdminPassword = "*"


[Display]
BitsPerPel = 16
XResolution = 800
YResolution = 600
VRefresh = 60

[Networking]

[NetServices]
MS_Server=params.MS_PSched

[Identification]
JoinDomain = %MACHINEDOMAIN%
DoOldStyleDomainJoin = Yes

[RemoteInstall]
Repartition = Yes
UseWholeDisk = Yes



[OSChooser]
Description="Students image"
Help="Windows XP Sp3, Office 2003 sp3 "
LaunchFile="%INSTALLPATH%\%MACHINETYPE%\templates\startrom.com"
ImageType=SYSPREP
Version="5.1 (2600)"
SysPrepSystemRoot="Mirror1\UserData\WINDOWS"
HalName=halacpi.dll
ProductType=0

Отдельно скажу, что в windows XP на установочном диске есть файл \SUPPORT\TOOLS\DEPLOY.CAB. Его можно распаковать. В данном контейнере содержатся различные программы и документации для создания заводской и, что нам нужно, сетевой установки. Нас интересует setupmgr.exe. Данная программа позволяет создавать файл ответов, содержащий базовые необходимые параметры для автоматизированной установки разных типов.
В том же CAB'е содержится файл deploy.chm, представляющий собой детальное описание всех возможных параметров файла конфигурации.
В автоматически созданном файле, в большинстве случаев, достаточно заменить параметры экрана:
[Display]
BitsPerPel = 16
XResolution = 1024
YResolution = 768
VRefresh = 75

Добавить пароль локального администратора, хотя
DisableAdminAccountOnDomainJoin = 1
секции [Data] отключает данную запись. Установите значение данного параметра равное нулю, если по каким-то причинам данный аккаунт необходим.
Пароль администратора можно установить опцией
AdminPassword = "YOU_PASSWORD" секции [GuiUnattended]
А также указать серийный номер
ProductKey="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" в секции [UserData]

Все, образ готов для автоматизированной установки. В качестве примера разверну его на второй машине полигона. И так, загружаемся с сети и вводим данные учетной записи. На сервере содержится несколько образов, поэтому нам будет предоставлен выбор (образы сделанные на машинах с отличной версией ICH показаны не будут).

Выбираем созданный образ и.... Да собственно ничего больше. Можно идти заниматься своими делами. Через достаточно небольшой промежуток времени на машине будет развернута полностью рабочая система со всеми приложениями! Плюс к этому - установки могут протекать параллельно. Т.е., если есть помещение, где необходимо установить на 10...20...100 компьютеров Windows XP с необходимым набором программ - RIS это ваш выбор!
 


  • 1
А зачем WINS поднимать, ведь он не нужен.
Хочу добавить еще одно преимущество RIS - экономия дискового пространства, так как одинаковые файлы заменяются ссылками.

В свое время я долго сидел на RIS еще на Windows 2000, но сейчас прешел на сетевая установка Windows XP. Конечно, настраивать не так удобно, но один раз сделал и использую. Да и выбора нет, что устанавливать. Но последнее решается использованием pxelinux.

По теме WINS. Wins в Windows сети нужен. Без него значительно хуже происходит поиск имен сетевых машин. Винда дура и далеко не всегда лезет в DNS. Очень часто пользуется netBIOS разрешением имен (хотя бы сниффером поглядеть - там nb. запросов как грязи). Тот же сетевой обозреватель использует как раз netBIOS.
RIS - уходящая в прошлое технология. pxelinux решение для мазохистов. Ну делал я и на нем, и домен windows на samba поднимал. Геморрою масса, удобства заведомо меньше. Если уж речь идет о использовании продуктов microsoft, то лучше их решения и использовать. Тем более, есть WDS. Дойдут руки - и про него напишу. Но там есть ряд заморочек из-за которых я все таки советую поднимать его в смешанном режиме (например, с WDS невозможно организовать установку чистой системы с нуля).

Виноват. Неправильно выразился.
Я хотел сказать, что WINS для работы RIS не нужен. Или даже так, что это не обязательный сервис установкой и настройкой которого можно пренебречь, при развертывании RIS.

В данной статье рассмотрен случай с автоматическим добавлением в домен устанавливаемой машины. Просто без wins данный этап установки может быть позатянутей, но в целом да, оно не надо. Я просто постарался описать работу RIS в нормальной сети средней организации с одним компьютером в качестве контроллера домена и весящей на нем всей прочей гирлянды служб. :)

  • 1