Вход:  Пароль:  
FreeSource: WadimMashckoff/pomojka/systemimager ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия WadimMashckoff/pomojka/systemimager за 2006-10-27 14:10:39..

1 Автоматизация установки ОС Linux

на примере System Imager

см также статью Шигорина SystemImager

1.1 Задача

Снизить стоимость поддержки решения. Одна из задач – автоматизировать установку операционной системы GNU/Linux.
1.1.1 Общие соображения
Системная инсталляция – начальная установка программного обеспечения и конфигурации, необходимой для обслуживания машины. Заводская поставка машин может не иметь никакой операционной системы вообще, или имет прединсталлированное программное обеспечение. Машины, бывшие в использовании, имеющие нежелательное программное обеспечение могут также использоваться – достаточно установить новое программное обеспечение.
Первая задача системного инсталлятора состоит в том, чтобы загрузить целевую машину. Чтобы поддерживать незагружаемые машины типа фабричных машин с неформатированными жесткими дисками, BIOS должна поддерживать по крайней мере один загрузочный метод, отличный от жесткого диска. Самый старый метод загрузки с гибкого диска, и хотя это широко доступно, это предполагает, что дисковод для гибких дискет присутствует. Такое положение сокращается – дискеты медленны, ненадежны, и имеют очень ограниченное пространство для современных систем. Большинство машин, сформированных с 1997 поддерживает загрузку с CD-ROM, эмулируя загрузочную запись гибкого диска. Если присутствует привод компакт-диска, это предлагает большее пространство и для начального загрузочного программного обеспечения и любого требуемого программного обеспечения. Более сложный загрузочный метод – загрузка из локальной сети. Не все варианты BIOS или сетевые платы поддерживают эту новую особенность. Среда предварительного выполнения (PXE) часть промышленного стандарта Wf M? (ссылка!!), и дает возможность большинству машин, купленных с 1998 загрузиться из локальной сети.
Инсталлятор должен обратиться к соответствующим инсталляционным носителям, содержащим программное обеспечение более высокого уровня, че необходимое для загрузки машины. Скорее всего это программное обеспечение будет сохранено на локальном CD-ROMе или сетевом сервере (к примеру – ftp или rsync). Еще одним вариантом может быть отдельный компакт-диск с “фотографией” используемого ПО (snapshot). Так как вместимость CD-ROM не всегда удовлетворяет потребностям, осмысленно использование правильного сжатия информации2. Подобный статический снимок может быть подходящим, если программное обеспечение, вряд ли изменится, или если только базовая инсталляция необходима для добавления дополнительного программного обеспечения. В общем, сетевая инсталляция более гибка, может быть достаточно быстрой, предлагает большую вместимость носителей, лучше масштабируется для множественной параллельной установки чем совместное использование компакт-дисков установки между клиентами. Определенным ограничением может быть пропускная способность локальной сети, что необходимо использовать при выборе варианта инсталляции.
Инсталлятор системы перемещает программное обеспечение с выбранных носителей на локальный жесткий диск целевой машины, и готовит систему к загрузке. Это вовлечет обнаружение аппаратного обеспечения, проверку объема дисков и конфигурирование сетевых плат.
1.1.2 Варианты
Ручная Инсталляция
Наиболее основная инсталляция, применяемая в Украине и России администраторами системы. Скорее всего – это последствия преобладания несвободных операционных систем и неразвитости сетевой инфраструктуры. Чаще всего программное обеспечение распространяется на компакт-дисках, включая самозагружаемый или загрузочный инсталляционный диск. Некоторые автоматические подсказки могут «вести» администратора по процедуре инсталляции, но в конечном счете вся настройка под конечного пользователя (customisation) – ручная.
Большинство современных дистрибутивов имеет свою собственную инсталляционную программу, например ALT Linux – alterator, Red Hat имеет свой продукт под названием anaconda и YAST2 у дистрибутива SUSE.
Общее, что объединяет эти продукты – почти все настройки, начиная с разбиения жесткого диска, аппаратная конфигурация, сетевые настройки и выбор пакетов должны быть введены вручную.
Минус подобного варианта – этот процесс черезвычайно требователен к уровню подготовки персонала3 и затратам времени. Однако, самое опасное – это склонность человека ошибаться.
Клонирование образа
Применяется, если почти набор ПО на машинах почти идентичен. Сначала вручную создается инсталлируется прообраз машины, так называемый «золотой клиент», после этого клонируется тем или иным способом (к примеру – целыми файловыми системами командой dd). Так как готовые файловые системы могут быть скопированы на диск быстрее, чем пофайловое копирование, это может предполагать самый быстрый вариант инсталляции.
Этот подход имеет следующие отрицательные стороны – необходимость вскрытия системного блока и... опять-таки достаточно высокий уровень персонала в случае конфигурирования неидентичных клиентских машин.
Клонирование по сети
Живые дистрибутивы типа ALT Linux Live, он же Travel CD или Knoppix (к примеру – Knoppix-UA), где идет загрузка полной среды GNU/Linux с одного CD-ROM/DVD-ROM или другие спасательные диски могут использоваться, чтобы копировать образы файловых систем золотого клиента на другие машин.
Конфигурация и настройка под конкретного пользователя могут быть добавлены сценариями, выполненными прежде или после инсталляции. На этом принципе работают некоторые продукты, к примеру System Imager и g4l.

1.2 Почему System Imager

1.2.1 Что есть?
System Imager
System Imager 4? (http://www.systemimager.org/) обеспечивает системную инсталляцию, конфигурацию и обслуживание для больших сетей машин, предпочтительно с подобными аппаратными средствами, для нескольких дистрибутивов. Целевая станция может загружаться от гибкого диска, CD-ROM или PXE сетевых серверов. Мы проверяли работу System Imager с ALT Linux 3.0 и Mandrake 10, однако продукт анонсирован как работающий на всех дистрибутивах GNU/Linux.
«Золотой клиент» должен быть вручную установлен и сконфигурирован.. Его файловая система после этого зеркалируется на сервер и именно с него устанавливаются целевые машины. Если золотой клиент модифицирован, эти изменения размножаются клиентам, использующим rsync. Хотя rsync посылает минимальные различия файла по сети, это может потребовать, существенных потребностей в сети (установка полной рабочей станции – объем около полутора Гбайт – на 10МБитах достаточно грустное зрелище).
System Imager наиболее подходит для целевых клиентов с идентичными или очень похожими аппаратными средствами.
Отрицательные моменты:
Раздача PXE достаточно опасная вещь – возможна ситуация, когда машина с установленной ОС Windows будет случайно настроена на загрузку по сети и через 30 минут счастливый пользователь получит готовую к употреблению ОС GNU/Linux5. Второй момент – на данный момент из-за достаточно старого parted System Imager создает только первичные разделы.
g4l
Загрузочный CD образ около 40 Мб. Судя по описанию, может по сети затянуть образ партиций как пофайлово (Linux разделы) так и побайтово (нелинуксовые, к примеру – ntfs).
Требует качественной сети (на 10Мбитах задуть три гигабайта – грустное занятие).
mkcdrec
На болванке (на нескольких) можно разместить сжатый образ системы. Полностью автономен и, следовательно, удобно применять для сетапа на географически распределенных станциях.
Соответственно, от сюда следует «минус» — при изменении образа «золотого клиента» требуется переделывать все образы.


Что когда лучше использовать:


быстрое и надежное соединение между клиентами и сервером медленное соединение либо отсутствие оного
g4l
systemimager
mkcdrec

Не вошло в обзор
Две возможности были обнаружены в процессе поиска решения автоматизированной установки, однако не рассматривались по причине того, что не анонсирована работа под ALT Linux. Информация приведена в качестве справочной для пользователей иных систем.
Fully Automatic Installation
Полностью автоматическая инсталляция FAI (http://www.informatik.uni-koeln.de/FAI/) автоматически устанавливает дистрибутив Debian. Пакеты программ берутся с сайта Debian, который может быть скопирован в местном масштабе (mirroring) для скорости или предварительной настройки. Ядро инсталлятора может быть загружено из сети или гибкого диска, но CD-ROM пока еще отсутствует. Хотя FAI был разработан для идентичного дублирования предварительно сгруппированных машин, программное обеспечение cfengine, описанное выше, используется для системной конфигурации и позволяет большую гибкость в конфигурировании.
Red Hat Kickstart
Red Hat Kickstart (http://www.tldp.org/HOWTO/kickstart-HOWTO.html) – программное обеспечение автоматической установки Red Hat. Он устанавливает дистрибутивы Red Hat с CD-ROM, жесткого диска или сети, способен загружаться с сети, компакт-диска или гибкого диска. Инсталлятор anaconda предлагает текстовый или графический интерфейс, и может быть интерактивным или полностью автоматизирован файлом конфигурации. Аппаратное программное обеспечение обнаружения kudzu понимает широкий диапазон устройств. Общие инсталляционные опции могут быть установлены в файле конфигурации, и расширениях, добавленных с пред-и пости- нсталляционными сценариями.
С его программой интеллектуального обнаружения и определения аппаратного обеспечения, kickstart можно использоваться для разных аппаратных целей.


1.1.1 Потому!

1.2 Работа с System Imager


1.2.1 Установка System Imager
Требования к серверу
Сервер System Imager должен иметь достаточно дискового пространства для образов устанавливаемой (устанавливаемых) системы (ориентировочно – около 1.7Гб на образ).
Для PXE инсталляций на сервере должен быть установлен TFTP сервер.
На сервере должен быть установлен DHCP сервер.
Требования к клиентам
Клиентские станции, использующие один и тот же образ, должны иметь максимально подобное аппаратное обеспечение. Особенно это касается чипсетов сетевых карт и типов (IDE|SCSI) жестких дисков.
Установка
Для установки на сервере под ALT Linux следует выполнить команду
apt-get update; apt-get install systemimager-server
Для установки System Imager на других системах следует обратиться к документации к операционной системе.
В результате, Вы получите набор программ (скриптов) System Imager в /usr/sbin/, в 
/var/lib/systemimager/ расположится сам пакет: скрипты для клиентов в /var/lib/systemimager/scripts и образы золотого клиента в /var/lib/systemimager/images/
Настраиваем TFTPBOOT на сервере
В /etc/xinet.d/tftp настраиваем сервер
service tftp
{

disable = yes
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u tftp -s /var/lib/tftpboot

}
Далее настраиваем PXE (редактируем /var/lib/tftpboot/pxelinux.cfg/default)


default linux
prompt 1
timeout 100
readinfo 2
#implicit 0
label linux

kernel kernel
append initrd=initrd.img ramdisk_size=54000 root=/dev/ram

1.2.2 Создание [золотого] клиента
Для золотого клиента следует выбрать среднеквадратичную станцию с наиболее типичным аппаратным обеспечением. На данной рабочей станции следует установить и настроить все необходимое программное обеспечение а также установить клиентскую часть System Imager.
Ни первая ни вторая задача не сложна для достаточно опытного системного администратора. Можно только сказать, что необходимо найти золотую середину между функциональностью ПО и дисковым пространством. Эмпирическим путем установлено, что рабочая станция с KDE и Open Office?.org имеет размер образа около 1.7 Гб.
Хорошей практикой будет сделать /etc/skel – что упростит процедуру создания и настройки новых пользователей.
Для установки на золотом клиенте с ALT Linux System Imager следует выполнить команду
apt-get update; apt-get install systemimager-client
Следующий этап – подготовить клиентскую станцию для переноса образа на сервер. Для этого следует от root выполнить команду si_prepareclient. Эта команда создаст несколько файлов в etc/systemimager. В этих файлах описана информация о разбиении диска на разделы, файловые системы и каталоги, которые не следует переносить в образ (к примеру, /proc).
si_prepareclient должен запустить демон rsync для переноса файлов золотого клиента на сервер.
С этого момента клиентская станция готова для передачи данных на сервер.
1.2.3 Перенос образа клиента на сервер
На сервере выполните команду si_getimage -golden-client имя_клиента -image имя_образа_на_сервере
si_getimage -golden-client adiel -image adiel_image_v1
Файлы золотого клиента будут перенесены на сервер в каталог /var/lib/systemimager/images/<название образа>
Собственно, и все.
Важное замечание – хорошей практикой будет не перезаписывать имеющийся образ на сервере. Рекомендуется в название образов ввести хотя бы версию.
1.2.3.1 Мастер-скрипт
Теперь необходимо указать, какие станции будут использовать образ.
Для этого следует выполнить команду si_addclients, которая задаст несколько вопросов и создаст мастер-скрипт и симлинки на него. Каждый симлинк в своем имени содержит имя станции.
В мастер-скрипте прописано имя образа ( к примеру
cat adiel.master | grep IMAGENAME=
[ -z $IMAGENAME ] && IMAGENAME=adiel_image_v1)
1.2.4 Создание загрузочного диска
Последний этап подготовки к массовой инсталляции – создание загрузочного диска (дискеты или компакт-диска).
Для этого есть две команды – si_mkautoinstalldiskette и si_mkautoinstallcd.
Обе команды используют утилиту syslinux для создания загрузочных носителей, которые загрузят Sistem Imager? и initial ram disk.
1.2.5 Процедура установки клиентской станции
Для каждой станции
Настраиваем dhcp сервер
В /etc/dhcp/dhcpd.conf прописываем для всех (для каждой отдельно – безопаснее) сетевой карты адрес и образ.

host ws4 {
hardware ethernet 00:01:80:05:00:62;
fixed-address 10.0.1.104;
filename “pxelinux.bin”;
}

естественно, рестартуем dhcp (service dhcpd restart)
Настраиваем System Imager на сервере
В /var/lib/systemimager/scripts создаем симлинк <имя_станции>.sh на мастер-скрипт
Настраиваем клиентскую станцию
В BIOS устанавливаем загрузку с дискеты или CDROM и загружаемся с загрузочного диска System Imager.
В зависимости от загруженности сети и размера образа через несколько минут (примерно полчаса) на выходе получается готовая рабочая станция.
Естественно, ее следует подстроить – подобрать видеорежим, ввести нового пользователя либо что-то еще.

1.3 Выводы

System Imager позволяет достаточно быстро установить ОС GNU/Linux на рабочие станции. Таким образом, экономится время системных администраторов и снижается вероятность ошибки, что в свою очередь снижает стоимость установки GNU/Linux.

1.4 Лицензия

О времена, о нравы! Теперь после каждой публичной статьи модно писать «я разрешаю читать эту статью, разрешаю использовать эту статью, позволяю улучшать эту статью».
Статья распространяется на условиях GNU FDL.


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]