Универсальный сервер сетевой загрузки и установки. Продолжение.

С разрешения редакции журнала "Системный администратор" публикую продолжение статьи.

Универсальный сервер сетевой загрузки и установки. Часть 2.

В первой части статьи [1] были рассмотрены принципы работы, создание и конфигурирование сервера для инсталляции различных операционных систем в сети. Подготовили и настроили для установки в обычном режиме (вопрос–ответ) два дистрибутива: Microsoft Windows XP и Microsoft Windows 7.

Рассмотрим процесс автоматизации установки операционных систем. Автоматическая установка Windows XP подробно описана не только в официальной документации Microsoft [2], но и в огромном количество how-to разбросанным по интернету [3]. Поскольку Windows XP снята с поддержки, то перейдем к обзору автоматической установки флагманской операционной системы компании Microsoft Windows 7.

Создание файла ответов

Автоматическая установка обеспечивается при наличии в дистрибутиве Microsoft Windows XP текстового файла настройки системы winnt.sif и диспетчер установки setupmgr.exe. В последующих версиях Windows (Microsoft Windows Vista и старше) эту роль играет файл ответов autounattend.xml. Как понятно из расширения он представляет собой простую XML-структуру (рис.1).

 

Рисунок 1. Структура файла autounattend.xml

Структура файла autounattend.xml

В нем можно указать используемые по умолчанию параметры Internet Explorer, настройку сети, принадлежность к домену и т.д. В связи с тем, что теперь в Windows используется модульная архитектура, появилась возможность тонкой настройки каждого компонента устанавливаемой системы, за счет вложенных элементов структуры XML.

Создать файл ответов можно в любом текстовом редактором, но лучше все действия производить при помощи диспетчера установки Windows (Windows Automated Installation Kit или сокращенно WAIK) [4]. Кроме того WAIK проверяет корректность указанных значений и имеет очень удобно реализованную систему помощи. Подробные сведения о том или ином параметре настройки можно узнать из контекстного меню его интерфейса. Вместе с этим продуктом поставляется набор документации, включающий руководство пользователя пакета автоматической установки Windows, а так же средства миграции пользовательской среды и другие документы.
Для просмотра этих документов после установки Windows AIK нажмите кнопку Пуск, последовательно выберите Все программы | Microsoft Windows AIK | Документация, а затем откройте необходимый файл справки. По умолчанию все документы находятся в папке %ProgramFiles%\Windows AIK\Docs\CHMs. Дополнительно в папке C:\Program Files\Windows AIK\Samples обслуживающего компьютера [1] можно найти образец файла ответов (Corp_autounattended_sample.xml).

Рассмотрим пример развертывания образа Windows 7 используя WAIK .Для этого выполним следующие действия:

  • На обслуживающем компьютере устанавливаем DVD-диск Microsoft Windows 7 необходимой для вас редакции («Professional», «Ultimate» и т.п. - далее DVD) исоздаем папку c:\windows7-x86, копируем в нее файл Install.wim из каталога DVD\Sources;
  • Запускаем диспетчер установки Windows: Пуск | Все программы | Microsoft Windows AIK | Диспетчер установки Windows.
  • В появившемся диалоговом окне Выбрать образ Windows переходим в папку c:\windows7-x86 и нажимаем кнопку Открыть.
  • Выбираем нужный образ Windows (c:\windows7-x86\Install.wim) и нажимаем на кнопку ОК. На предложение мастера создать файл каталога— отвечаем утвердительно.
  • В меню Файл выполняем команду Новый файл ответов.

Врезка.

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

После выполненных действий в области Файл ответов появится пустой файл с названием Untitled. Далее, выполняем добавление компонентов системы настройки, для этого в панели Образ Windows разворачиваем вкладку Components.

Таблица 1. Компоненты необходимые для создания базового образа Windows

 

Компонент Этап настройки
Microsoft Windows Deployment Reseal oobeSystem
Microsoft-Windows-International-Core-WinPE\SetupUILanguage windowsPE

Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

windows PE

Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

windowsPE

Microsoft-Windows-Setup\ImageInstall\OSImage\InstallTo

windowsPE

Microsoft-Windows-Setup\UserData

windowsPE

Microsoft-Windows-Shell-Setup\OOBE

oobeSystem

На основе данных, приведенных в таблице 1 выбираем необходимый параметр нажимаем на нем правой кнопкой мыши. Система предложит выбрать этап настройки, указываем сверяясь с таблицей 1. Приведенные компоненты взяты из официальной документации и являются минимально необходимыми. Присмотревшись внимательнее к названиям в большинстве случаев можно определить за что отвечает каждый компонент. Вопрос который может возникнуть: «Что такое этап настройки?». Этап настройки это момент времени в которое будет производиться описанное действие. Этапы по своей сути очень похожи на «шаги инсталляции» Windows XP. Настройки автоматической установки могут быть применены в одном или нескольких этапах. Нам необходимо использовать этап под названием WindowsPE. Вот как он описан в документации: «...параметры могут включать определение образа ОС Windows для установки и настройки диска на компьютере назначения. На этом этапе настройки, образ Windows копируется на целевой целевой компьютер применяя конфигурацию указанную в WindowsPE.

Если ваша установка Windows PE требует загрузки драйверов для доступа к локальному жесткому диску или сети, используйте этот этап настройки для добавления драйверов в хранилище драйверов Windows PE.»

Все просто и понятно - это самый главный этап для сетевой установки.

Итак, закончив добавление, переходим к редактированию свойств компонентов (рис.2).

Рисунок 2. Редактирование свойств компонента

Редактирование свойств компонента

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

Таблица 2. Параметры свойств компонента

 

Этап настройки

Компонент

Значение

WindowsPE

Microsoft-Windows-International-Core-WinPE

<язык ввода>

WindowsPE

Microsoft-Windows-International-Core-WinPE\SetupUILanguage

<язык интерфейса>

WindowsPE

Microsoft-Windows-Setup\DiskConfiguration

WillShowUI = OnError

WindowsPE

Microsoft-Windows-Setup\DiskConfiguration\Disk

DiskID = 0

WillWipeDisk = true

WindowsPE

Microsoft-Windows-Setup\DiskConfiguration\Disk\CreatePartitions\CreatePartition

Order = 1

Size = 100

Type = Primary

WindowsPE

Microsoft-Windows-Setup\DiskConfiguration\Disk\ModifyPartitions\ModifyPartition

Active = true

Format = NTFS

Label = System

Order = 1

PartitionID = 1

WindowsPE

Microsoft-Windows-Setup\ImageInstall\OSImage

InstallToAvailablePartition = false

WillShowUI = OnError

 

WindowsPE

Microsoft-Windows-Setup\ImageInstall\OSImage\InstallTo

DiskID = 0

PartitionID = 1

WindowsPE

Microsoft-Windows-Setup\UserData

AcceptEula = true

WindowsPE

Microsoft-Windows-Setup\UserData\ProductKey

Key = <ключ продукта>

WillShowUI = OnError

 

Со списком минимально необходимых компонентов, а так же с подробным описанием каждого можно познакомиться в документе под названием «Пошаговое руководство создания файла ответов» — файл stepbystep_itpro.htm дистрибутива [4].

Проверка файла ответов

После добавления всех необходимых параметров и компонентов в меню Сервис выбираем Проверка файла ответов. Все значения сравниваются с доступными параметрами выбранного образа Windows. Если проверка прошла успешно, в области Сообщения в нижней части окна Диспетчер установки Windows появляется сообщение Ошибок и предупреждений нет. В противном случае в области Сообщения появляется сообщение об ошибке. Для исправления обнаруженной ошибки, необходимо дважды кликнуть по соответствующему сообщению, чтобы перейти к неверному параметру. Исправляем ошибку, используя встроенную систему помощи и снова выполняем проверку. Повторяем это действие, пока файл ответов не будет годным к эксплуатации. И только после этого сохраняем файл под именем autounattend.xml. Осталось скопировать этот файл в корневую папку сервера сетевой загрузки и исправить вызов setup.exe в файле install_menu.cmd [1] с указанием его имени: setup.exe /unattend: autounattend.xml. Теперь установка системы будет происходить в автоматическом режиме с указанными параметрами.

После создания базового файла ответов его можно изменить, включив дополнительные настройки, автоматизировать части процесса инсталляции путем создания сценариев. Дополнительно интегрировать в загружаемый образ разнообразные драйвера устройств и необходимые приложения. Много информации о настройке и развертывании образа Windows содержаться в разделе Сценарии пакета автоматической установки Windows справки Waik.chm и документации к WAIK [4], а так же по адресу [5].

Добавление Linux дистрибутивов

Добавить в загрузку Linux-дистрибутив не составляет большого труда. Обычно сборщики популярных дистрибутивов таких как CentOS, Ubuntu, openSuSe и т.д. Включают в поставку текстовый файл с описанием установки ОС с сетевого ресурса.

Общий принцип одинаков: загрузка ядра системы установки и передача ему параметров с указанием пути по которому располагается дистрибутив. Так как этот вопрос подробно рассматривался в первой части статьи , то останавливаться на нем не будем. Дополнительную информацию можно найти по адресу [6].

Citrix XenServer 5.6.0

Citrix XenServer является одной из самых популярных платформ виртуализации инфраструктуры масштаба предприятия. Популярность ей обеспечивает отличное средство управления и настройки - Citrix XenCenter, а так же возможность использовать редакцию Free XenServer бесплатно. Рассмотрим установку этой операционной системы в качестве первого примера.

В документации к дистрибутиву в файле installation.pdf [8] приведен пример, готовый к использованию совместно с PXE. Для использования в созданной нами сетевой конфигурации его необходимо немного изменить:

  • Исправим значения путей к файлам и параметры загрузки ядра;
  • Добавим в файл содержащий описание меню (/tftboot/pxelinux.cfg/default [1]) пункт Citrix XenServer ;

После всех изменений содержимое должно принять такой вид:

#default xenserver # Эта директива установки по умолчанию. Нам она не нужна - есть меню выбора установок

label xenserver # наименование загрузки (на ваш выбор)

menu label Install - ^Citrix XenServer # Название пункта меню

kernel xensrv/mboot.c32 # Ядро-загрузчик установки (xensrv/ - директория на сервере установки)

append xensrv/xen.gz dom0_mem=752M com1=115200,8n1 console=com1,tty --- xensrv/vmlinuz console=ttyS0,115200n8 console=tty0 --- xensrv/install.img # параметры установки рекомендованные Citrix

Рассмотрим за что отвечает каждый параметр:

xen.gz — сжатая файловая система инсталлятора;

dom0_mem=752M — использование памяти хост-машиной;

com1=115200 — виртуальный com-порт;

n1 console=com1 — «привязка» порта к терминалу 8 бит с проверкой четности;

vmlinuz — ядро системы;

console=ttyS0,115200n8 console=tty0 — параметры загрузки ядра ;

install.img — образ установочного диска.

Меню создано, осталось скопировать файлы. Для этого последовательно выполняем:

# mount /media/dvd /mnt # Монтируем DVD или

# mount -o loop /distrib/CitrixXS56.iso /mnt # iso-образ Citrix XenServer 5.6.0

Далее создаем папку /tftpboot/xensrv на сервере и скопируем в нее из /mnt/boot/ файлы ядра vmlinuz и xen.gz. Затем скопируем из /mnt/boot/isolinux папку packages.main и файл install.img. В папке packages.main находятся: dom0fs.tar.bz2 он содержит корневую файловую систему и архивы дополнительных пакетов, разработанных в Citrix, необходимые серверу. Можно включить в установку пакеты которые вам нужны, достаточно просто добавить их в dom0fs.tar.bz2, взяв из соответсвующего репозитория CentOS.

В Citrix XenServer так же предусмотрена возможность автоматической установки. Такой вариант удобен при создании большого количества однотипных серверов, например фермы Citrix App. В этом случае необходимо использовать предварительно созданный файл ответов, путь к которому указываем в параметрах /tftboot/pxelinux.cfg/default перед указанием параметра install.img:

answerfile=]]>http://myhost.ru/5.6.0-answerfile]]> \

install --- /tftpboot/xenserver/install.img

В приведенном листинге myhost.ru — адрес сервера установки (в частном случае это IP-адрес 192.168.1.7); 5.6.0-answerfile — имя файла. Необходимо обратить внимание на то, что обращение к файлу идет по протоколу HTTP (answerfile=http://...).

Для создания файла 5.6.0-answerfile обратимся к инструкции по установке XenServer [8], где приведены готовые примеры. Структура этого XML файла проста и интуитивно понятна (Рис. 3), поэтому не вызовет никаких затруднений при заполнении.

Рисунок 3. Структура файла 5.6.0-answerfile

Структура файла 5.6.0-answerfile

На этом подготовка закончена и можно проверить установку выбрав в загрузочном меню [1] пункт “Citrix XenServer” (Рис.4).

Рисунок 4. Начало загрузки Citrix XenServer 5.6.0

Начало загрузки Citrix XenServer 5.6.0
 

Ubuntu

Все шаги которые были производены для Citrix XenServer, полностью справедливы для дистрибутива Ubuntu. В этом примере использовалась версия Ubuntu — 10.10 x64 и стандартная установка режима cloud. Исключение составляют файлы ответов. Они располагаются в каталоге /preseed/ инсталляционного диска. Небольшая тонкость – они запрашиваются и передаются установщиком по протоколу http (так же как у XenServer, см. выше). Следовательно необходимо установить и настроить HTTP-сервер, например apache, ligth-http, nginx – любой на ваш выбор, указав для него корневую директорию /srv/tftpboot/. Для прямых обращений к HTTP желательно прописать алиасы на директории содержащие файлы систем. Добавляем в /etc/apache2/conf.d/ две конфигурации (еще одну для CentOS). Соотвественно для Ubuntu10.10 файл ubuntu.conf с таким содержанием:

Alias /ubuntu "/tftpboot/ubuntu/"

<Directory "/backup/ubuntu/">

Options Indexes

AllowOverride None

Order allow,deny

Allow from all

</Directory>

Для CentOS файл "centos.conf" с таким:

Alias /centos "/tftpboot/centos/"

<Directory "/tftpboot/centos/">

Options Indexes

AllowOverride None

Order allow,deny

Allow from all

</Directory>

В дистрибутиве поставляется несколько вариантов установки конечных систем. Вы можете выбрать подходящий вам и указать соответсвующий ему файл ответов. Мне необходим вариант Cloud и поэтому в моей конфигурации указан /preseed/cloud.seed.

Добавляем в pxelinux.cfg/default описание раздела:

label ubuntu # наименование загрузки (на ваш выбор)

menu label Install - ^Ubuntu-10.10 x64 cloud # наименование пункта меню

kernel ubuntu/linux # ядро установщика

append vga=normal # включить графический режим установщика

initrd=ubuntu/initrd.gz # сжатая файловая система preseed/url=]]>http://192.168.1.7/ubuntu/preseed/cloud.seed]]> – quiet # путь к файлу ответов, параметр “– quiet” - установка с вводом параметров в ручном режиме (необходимо уазывать если не все параметры описаны в файле ответов)

Затем создаем папку /ubuntu/, монтируем iso-образ и копируем все файлы дистрибутива в нее. Проверяем установку выбрав в загрузочном меню пункт Ubuntu-10.10 x64 cloud.

Так как в параметрах указано – quiet, то на вопрос Выбор зеркала архива необходимо выбрать самую верхнюю строку — Ввести информацию вручную. И указать URL папки на сервере установки (Рис. 5,6).

Рисунок 5. Установка Ubuntu- Выбор зеркала архива.

Установка Ubuntu по сети - Выбор зеркала архива.

Рисунок 6. Установка Ubuntu- Наше зеркало.

Установка Ubuntu- Наше зеркало.

CentOS-6.0x86-64

Установка этой операционной системы практически ни чем не отличается от предыдущего примера, наверное сказываются общие корни. Интерес вызывает возможность не распаковывать ISO-образ в папку на сервере, а просто скопировать его в корень HTTP-сервера и указать путь к нему. Итак:

добавляем в pxelinux.cfg/default описание раздела для CentOS-6.0:

label CentOS

menu label Install - ^CentOS-6.0

kernel centos/vmlinuz

append initrd=centos/initrd.img text

В таком варианте после загрузки ядра системы получим стандартное меню инсталлятора и уже с его помощью производите установку системы. При появлении запроса о дистрибутивном устройстве указываете полный путь URI к файлу ISO на сервере (рис.7). О возможностях автоматизации этого процесса можно прочитать в документации к дистрибутиву и по адресу [9].

Рисунок 7. Установка "CentOS 6.0".

Установка "CentOS 6.0" по сети

 В следующей части будут рассмотрены вопросы создания дистрибутивов «спасательных» систем, загружаемых по сети, на базе Windows PE и FreeDOS.

]]>

Литература

Похожие материалы по этой теме на сайте

Содержимое
Opera

Браузер Opera в последней стабильной инкарнации :)

KillCopy

Программа дла копирования файлов, незаменима при скачивании файлов по сети. "Умная" докачка файлов после срыва скачивания, автоматическое продолжение скачивания после аварийного завершения работы, возможность задачи максимальной скорости...

Zero Assumption Recovery 8.5 WIM

WIM-плагин для Zero Assumption Recovery 8.5 - содержит файлы программы.

Acronis Disk Director Home 11. 216 RUS WIM

Плагин для Acronis Disk Director Home 11. 216 RUS - содержит файлы программы. Не требует модификации UpperFilter.

WINPATROL WIM

WIM-плагин для WinPatrol 27.0.2013.0. Содержит файлы программы. Запуск только через RUNscanner!

Перенос данных пользователя

Наткнулся на простейшую статью по поводу переноса данных. Сам постоянно использую, но времени хоть в двух словах описать не было.

(Y)PE Antivirus edition by yurkesha (WIM)

Готовая WIM-сборка (Y)PE antivirus edition by Yurkesha. 

Используемые имена в setupldr.bin:

I386="I386"

MININT="MININT"

WINNT.SIF="I386\nt.a"

TXTSETUP.SIF="TXTSETUP.SIF"

WINDOWSGATE WIM

WIM-плагин WindowsGate v.1.1.0.0 — содержит файлы программы. Обход проверки пароля учетной записи на гостевой системе.