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

Автоматизация установки ОС Linux на примере SystemImager

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

Оглавление документа

Задача

Снизить стоимость поддержки решения. Одна из задач – автоматизировать установку операционной системы GNU/Linux.

Общие соображения

Системная инсталляция – начальная установка программного обеспечения и конфигурации, необходимой для обслуживания машины. Заводская поставка машин может не иметь никакой операционной системы вообще, или имет прединсталлированное программное обеспечение. Машины, бывшие в использовании, имеющие нежелательное программное обеспечение могут также использоваться – достаточно установить новое программное обеспечение.


Первая задача системного инсталлятора состоит в том, чтобы загрузить целевую машину. Чтобы поддерживать незагружаемые машины типа фабричных машин с неформатированными жесткими дисками, BIOS должна поддерживать по крайней мере один загрузочный метод, отличный от жесткого диска. Самый старый метод загрузки с гибкого диска, и хотя это широко доступно, это предполагает, что дисковод для гибких дискет присутствует. Такое положение сокращается – дискеты медленны, ненадежны, и имеют очень ограниченное пространство для современных систем. Большинство машин, сформированных с 1997 поддерживает загрузку с CD-ROM, эмулируя загрузочную запись гибкого диска. Если присутствует привод компакт-диска, это предлагает большее пространство и для начального загрузочного программного обеспечения и любого требуемого программного обеспечения. Более сложный загрузочный метод – загрузка из локальной сети. Не все варианты BIOS или сетевые платы поддерживают эту новую особенность. Среда предварительного выполнения (PXE) часть промышленного стандарта WfM (ссылка!!), и дает возможность большинству машин, купленных с 1998 загрузиться из локальной сети.


Инсталлятор должен обратиться к соответствующим инсталляционным носителям, содержащим программное обеспечение более высокого уровня, че необходимое для загрузки машины. Скорее всего это программное обеспечение будет сохранено на локальном CD-ROMе или сетевом сервере (к примеру – ftp или rsync). Еще одним вариантом может быть отдельный компакт-диск с “фотографией” используемого ПО (snapshot). Так как вместимость CD-ROM не всегда удовлетворяет потребностям, осмысленно использование правильного сжатия информации. Подобный статический снимок может быть подходящим, если программное обеспечение, вряд ли изменится, или если только базовая инсталляция необходима для добавления дополнительного программного обеспечения. В общем, сетевая инсталляция более гибка, может быть достаточно быстрой, предлагает большую вместимость носителей, лучше масштабируется для множественной параллельной установки чем совместное использование компакт-дисков установки между клиентами. Определенным ограничением может быть пропускная способность локальной сети, что необходимо использовать при выборе варианта инсталляции.


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

Варианты

Наиболее основная инсталляция, применяемая в Украине и России сисадминами. Скорее всего – это последствия преобладания несвободных операционных систем и неразвитости сетевой инфраструктуры. Чаще всего программное обеспечение распространяется на компакт-дисках, включая самозагружаемый или загрузочный инсталляционный диск. Некоторые автоматические подсказки могут «вести» администратора по процедуре инсталляции, но в конечном счете вся настройка под конечного пользователя (customisation) – ручная.

Большинство современных дистрибутивов имеет свою собственную инсталляционную программу, например ALT Linux – alterator, Red Hat имеет свой продукт под названием anaconda и YAST2 у дистрибутива SUSE.

Общее, что объединяет эти продукты – почти все настройки, начиная с разбиения жесткого диска, аппаратная конфигурация, сетевые настройки и выбор пакетов должны быть введены вручную.

Минус подобного варианта – этот процесс черезвычайно требователен к уровню подготовки персонала и затратам времени. Однако, самое опасное – это склонность человека ошибаться.

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

Этот подход имеет следующие отрицательные стороны – необходимость вскрытия системного блока и... опять-таки достаточно высокий уровень персонала в случае конфигурирования неидентичных клиентских машин.

Живые дистрибутивы типа ALT Linux Live, он же Travel CD или Knoppix (к примеру – Knoppix-UA), где идет загрузка полной среды GNU/Linux с одного CD-ROM/DVD-ROM или другие спасательные диски могут использоваться, чтобы копировать образы файловых систем золотого клиента на другие машин.

Конфигурация и настройка под конкретного пользователя могут быть добавлены сценариями, выполненными прежде или после инсталляции. На этом принципе работают некоторые продукты, к примеру SystemImager и g4l.

Почему SystemImager

Что есть?

Обеспечивает системную инсталляцию, конфигурацию и обслуживание для больших сетей машин, предпочтительно с подобными аппаратными средствами, для нескольких дистрибутивов. Целевая станция может загружаться от гибкого диска, CD-ROM или PXE сетевых серверов. Мы проверяли работу System Imager с ALT Linux 3.0 и Mandrake 10, однако продукт анонсирован как работающий на всех дистрибутивах GNU/Linux.

«Золотой клиент» должен быть вручную установлен и сконфигурирован.. Его файловая система после этого зеркалируется на сервер и именно с него устанавливаются целевые машины. Если золотой клиент модифицирован, эти изменения размножаются клиентам, использующим rsync. Хотя rsync посылает минимальные различия файла по сети, это может потребовать, существенных потребностей в сети (установка полной рабочей станции – объем около полутора Гбайт – на 10МБитах достаточно грустное зрелище).

System Imager наиболее подходит для целевых клиентов с идентичными или очень похожими аппаратными средствами.

Отрицательные моменты:

Загрузочный CD образ около 40 Мб. Судя по описанию, может по сети затянуть образ партиций как пофайлово (Linux разделы) так и побайтово (нелинуксовые, к примеру – ntfs). Требует качественной сети (на 10Мбитах задуть три гигабайта – грустное занятие).

На болванке (на нескольких) можно разместить сжатый образ системы. Полностью автономен и, следовательно, удобно применять для сетапа на географически распределенных станциях. Соответственно, отсюда следует «минус» — при изменении образа «золотого клиента» требуется переделывать все образы.

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


Требования systemimagerg4lmkcdrec
Размер образа системы 2Гб и более ++ ?
Поддержка не-Linux разделов -+-
Быстрое и надежное соединение между клиентами и сервером ++?
медленное, ненадежное соединение между клиентами и сервером;
отсутствие соединения
--+
Регулярное изменение образа золотого клиента ++-

Пояснения: «+» — рекомендовано, «-» — не рекомендовано, «?» — не зависит от требований.


Две возможности были обнаружены в процессе поиска решения автоматизированной установки, однако не рассматривались по причине того, что не анонсирована работа под ALT Linux. Информация приведена в качестве справочной для пользователей иных систем.
Полностью автоматическая инсталляция Debian. Пакеты программ берутся с debian.org, который может быть скопирован в местном масштабе (mirroring) для скорости или предварительной настройки. Ядро инсталлятора может быть загружено из сети или гибкого диска, но CD-ROM пока еще отсутствует. Хотя FAI был разработан для идентичного дублирования предварительно сгруппированных машин, программное обеспечение cfengine, описанное выше, используется для системной конфигурации и позволяет большую гибкость в конфигурировании.
Программное обеспечение автоматической установки Red Hat. Он устанавливает дистрибутивы Red Hat с CD-ROM, жесткого диска или сети, способен загружаться с сети, компакт-диска или гибкого диска. Инсталлятор anaconda предлагает текстовый или графический интерфейс, и может быть интерактивным или полностью автоматизирован файлом конфигурации. Аппаратное программное обеспечение обнаружения kudzu понимает широкий диапазон устройств. Общие инсталляционные опции могут быть установлены в файле конфигурации, и расширениях, добавленных с пред-и пости- нсталляционными сценариями. С его программой интеллектуального обнаружения и определения аппаратного обеспечения, kickstart можно использоваться для разных аппаратных целей.
См. также Использование Kickstart (Удаленное управление Anaconda) Андрея Маркелова

Потому!

Выбор System Imager рекомендуется в случае, если размер дистрибутива более 2 Мбайт и есть соединение между клиентами и сервером (к примеру – в локальной сети). Второй момент – независимость от наличия компакт-диска на рабочей станции.
Третий положительный момент – продукт состоит из набора скриптов на Perl и шелле и модифицировать продукт несложно.

Работа с SystemImager

Установка SystemImager

Требования к серверу


Сервер SystemImager должен иметь достаточно дискового пространства для образов устанавливаемой (устанавливаемых) системы (ориентировочно – около 1.7Гб на образ).
Для PXE инсталляций на сервере должен быть установлен TFTP сервер.
Обязательно должны быть DHCP сервер и Perl.
Аппаратное обеспечение – практичнски любая станция с быстрой сетевой картой. Проверена работа сервера на ноутбуке класса P3–500/256 Mb RAM/12 Gb HDD (утянут у Шигорина :-)


Требования к клиентам
Клиентские станции, использующие один и тот же образ, должны иметь максимально подобное аппаратное обеспечение. Особенно это касается чипсетов сетевых карт и типов жестких дисков (поддерживаются IDE|SATA|SCSI).
Не рекомендуется использовать рабочие станции классом ниже K6–200.


Установка
Для установки на сервере под ALT Linux следует выполнить команду
apt-get update; apt-get install systemimager-server
или поставить из rpm руками.


Для установки SystemImager на других системах следует обратиться к документации к операционной системе.
В результате, Вы получите набор программ (скриптов) System Imager в /usr/sbin/, в 
/var/lib/systemimager/ расположится сам пакет:
скрипты для клиентов в /var/lib/systemimager/scripts;
образы золотого клиента в /var/lib/systemimager/images/ и 
каталог для «особых клиентов» /var/lib/systemimager/overrides
настройки systemimager – традиционно в /etc/systemimager


Настраиваем TFTP boot на сервере
В /etc/xinetd.d/tftp настраиваем TFTP-сервер:

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

Создание [золотого] клиента

Для золотого клиента следует выбрать среднеквадратичную станцию с наиболее типичным аппаратным обеспечением. На данной рабочей станции следует установить и настроить все необходимое программное обеспечение а также установить клиентскую часть SystemImager.


Ни первая ни вторая задача не сложна для достаточно опытного системного администратора. Можно только сказать, что необходимо найти золотую середину между функциональностью ПО и дисковым пространством. Эмпирическим путем установлено, что офисная рабочая станция с Ice WM? и Open Office?.org имеет размер образа около 1.7 Гб.
Хорошей практикой при создании золотого клиента будут:


Не рекомендуется укладывать в домашний каталог пользователя шаблоны документов и регулярно изменяемую документацию – лучше выложить это на сервера и прописать пути к ним в соответствующиckbk c pfrх программах.
Установка клиентской части System Imager


Для установки на золотом клиенте с ALT Linux System Imager следует выполнить команду
apt-get update; apt-get install systemimager-client
либо помучиться в иных дистрибутивах


Следующий этап – подготовить клиентскую станцию для переноса образа на сервер. Для этого следует от root выполнить команду si_prepareclient. Эта команда создаст несколько файлов в etc/systemimager. В этих файлах описана информация о разбиении диска на разделы, файловые системы и каталоги, которые не следует переносить в образ (к примеру, /proc).
si_prepareclient должен запустить демон rsync для переноса файлов золотого клиента на сервер.
С этого момента клиентская станция готова для передачи данных на сервер.

Перенос образа клиента на сервер

На сервере выполните команду si_getimage -golden-client имя_клиента -image имя_образа_на_сервере:
si_getimage -golden-client adiel -image adiel_image_v1
Файлы золотого клиента будут перенесены на сервер в каталог /var/lib/systemimager/images/<название образа>
Образ на сервере представляет собой слепок / золотого клиента. С целью уменьшения объема образа можно почистить некоторые каталоги (к примеру /usr/share/doc) но не рекомендуется вручную удалять программы – разнести вдребезги систему не просто а очень просто.


Важное замечание – хорошей практикой будет не перезаписывать имеющийся образ на сервере. Рекомендуется в название образов ввести хотя бы версию (например, yyyymmdd).

Мастер-скрипт

Теперь необходимо указать, какие станции будут использовать образ.
Для этого следует выполнить команду si_addclients, которая задаст несколько вопросов и создаст мастер-скрипты в каталоге /var/lib/systemimager/scripts и симлинки на него. Каждый симлинк в своем имени содержит имя станции.
В мастер-скрипте (в зависимости от версии программі файл с расширением .sh или .master) прописано имя образа, к примеру:

Создание загрузочного диска

Последний этап подготовки к массовой инсталляции – создание загрузочного диска (дискеты или компакт-диска).
Для этого есть две команды – si_mkautoinstalldiskette и si_mkautoinstallcd.
Обе команды используют утилиту syslinux для создания загрузочных носителей, которые загрузят Sistem Imager? и initial ram disk.

Процедура установки клиентской станции

Для каждой станции
Настраиваем dhcp сервер
В /etc/dhcp/dhcpd.conf прописываем для всех (для каждой отдельно – безопаснее) сетевой карты адрес и образ:

естественно, рестартуем dhcp (service dhcpd restart)


Настраиваем SystemImager на сервере
В случае, если у нас станции одинаковой архитектуры и есть один образ, в /var/lib/systemimager/scripts создаем симлинк <имя_станции>.sh (или .master) на мастер-скрипт (файл с именем образа и расширением .sh или .master). И – можно устанавливать рабочую станцию.


Однако, зачастую используется несколько архитектур, к примеру – на данный момент на рабочих станциях распространены три вида жестких дисков – IDE, SATA и SCSI. Держать для каждого случая свой образ глупо – это и место на винчестере (не удалять же музыку) это и сложность синхронизации образов.
Все, что требуется – создать в overrides каталог, уложить туда отличающиеся от стандартного образа файлы и прописать путь с исключениями в скрипте рабочей станции. Естественно, в этом случае лучше не создавать симлинк на мастер-скрипт а скопировать этот мастер-скрипт в <имя_станции>.sh и изменять эту копию.
В мастер-скрипте в районе 30й строки прописаны каталог с образом и каталог исключений. Соответственно, требуется настроить эти параметры.

Подробности приведены в /var/lib/systemimager/overrides/README


Устанавливаем клиентскую станцию
В BIOS устанавливаем загрузку с дискеты или CDROM и загружаемся с загрузочного диска SystemImager.
В зависимости от загруженности сети и размера образа через несколько минут (примерно полчаса) на выходе получается готовая рабочая станция.
Естественно, ее следует подстроить – подобрать видеорежим, создать недефолтных локальных пользователей либо что-то еще.

Выводы

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

Лицензия

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


Страницы, ссылающиеся на данную: AltLinux/Dokumentacija/SystemImager
WadimMashckoff/pomojka/systemimager


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