Я работаю в среде, состоящей из систем CentOS, расположенных в нескольких центрах обработки данных и офисах. Я использовал разумный кикстарт с надежным сценарием после установки, но хочу упростить и расширить этот процесс. У нас есть собственное yum-репо, и я контролирую диапазон используемого оборудования (обычно это Оборудование HP ProLiant или VMWare) Допустим, я строю или повторно развертываю один сервер каждую неделю. После шаги, необходимые для подготовки оборудования, Начинаю настройку ОС. У меня сейчас есть следующие проблемы:
1). Хороший способ загрузки системы в сетевой установщик. Я использовал 10 МБ boot.iso / netinstall.iso, доступный в дистрибутиве CentOS. Я монтирую его либо через VMWare vCenter (для виртуальных машин), либо через HP ILO (обычно через SSH, указывая на URL-адрес ISO), чтобы начать установку. Я не могу использовать PXE в большинстве случаев, потому что в центрах обработки данных недоступен DHCP. Есть ли чистый способ, например, загрузить boot.iso на USB-накопитель?
2). Иногда мне нужно установить статический IP для кикстарта. Есть ли лучший способ ввести эту информацию, чем вводить ее в boot:
командная строка в командной строке установщика?
3). Хороший метод настройки кикстарта. Прямо сейчас у меня есть большая часть того, что мне нужно, но иногда мне нужно изменить схему разделов, чтобы учесть различные настройки RAID (например, два контроллера SmartArray). Прямо сейчас я в основном создаю отдельный файл кикстарта для каждой системы (или группы системных) настроек. В итоге я получаю каталог, полный старых файлов * .cfg. Я знаю, что есть более элегантный способ сделать это. Возможно, PHP?
4). Помогите с методом установки. Как есть, полная сборка от запроса до завершения занимает 5-10 минут. Я заметил, что метод установки имеет значение в зависимости от местоположения. HTTP хорошо работает локально по отношению к серверу yum, но плохо работает с нашими соединениями с высокой пропускной способностью и низкой задержкой с другими сайтами. В этих случаях NFS работает лучше. Я был бы признателен за любые изящные уловки, используемые для предварительной загрузки настроек или параметров системы перед процессом кикстарта.
5). Сценарий после установки работает хорошо. Он извлекает дополнительные пакеты, устанавливает некоторые начальные настройки, сокращает список служб и заполняет несколько пользователей / паролей / ключей SSH. Я бы хотел, чтобы эта среда работала с правильным управлением конфигурацией (я привык CFEngine, но думаю, что Кукольный или Bcfg2 вероятно, лучший выбор в настоящее время). Могу ли я урезать сценарий после установки и перенести эти функции в CFEngine? Хотя, наверное, это другой вопрос.
Вот пример файла кикстарта, который я использовал:
install
text
url --url http://yum.abc.com/5.6/os/x86_64/
#nfs --server=yum.abc.com --dir=/yum/5/os/x86_64
lang en_US.UTF-8
langsupport --default=en_US.UTF-8 en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
rootpw --iscrypted $encryptedpassword
firewall --disabled
selinux --disabled
authconfig --enableshadow --enablemd5
timezone --utc America/Chicago
bootloader --location=mbr
clearpart --all --initlabel
part /boot --fstype ext3 --size=200
part /usr --fstype ext3 --size=8192 --asprimary
part / --fstype ext3 --size=12288 --asprimary
part /var --fstype ext3 --size=4096
part swap --size=8192
part /tmp --fstype ext3 --size=2048
#part /opt --fstype ext3 --size=100 --grow
#part /scratch --fstype ext3 --size=61440
%packages
@ admin-tools
@ editors
@ system-tools
@ network-server
@ mail-server
@ server-cfg
@ development-tools
yum-fastestmirror
rpm-devel
e2fsprogs
grub
kernel-devel
net-snmp-utils
-subversion
-xdelta
%post
exec < /dev/tty3 > /dev/tty3
chvt 3
echo
echo "################################"
echo "# Running Post Configuration #"
echo "################################"
(
/usr/bin/wget http://ks.abc.com/post/post-install-abc.sh -O /root/post-install-abc.sh
/bin/chmod 755 /root/post-install-abc.sh
/root/post-install-abc.sh
) 2>&1 | /usr/bin/tee /var/log/post-install.log
chvt 1
Я бы рекомендовал мастер над сапожником, так как он заменит сапожник / спутник в будущем.
Бригадир гораздо более гибок, и как только вы его правильно настроите, вы можете делегировать строительство хоста другим.
Он также глубоко интегрирован с Puppet, то есть вы можете управлять классами, сертификатами, просматривать отчеты марионеток и т. Д.
Взгляните на Cobbler - https://fedorahosted.org/cobbler/ - Я использую его в среде PXE, но он должен работать для вас.