Установка и настройка сервера Cobbler для автоматической установки ОС по сети.

Cobbler-это Linux система, для автоматической установки и обновления операционных систем по сети. Незаменимая вещь для системных администраторов которым по долгу службы приходится разворачивать систему сразу на нескольких десятков машин.

Установка Cobbler

Устанавливаем репозиторий epel-release

yum install epel-release -y

Устанавливаем сам cobbler с необходимыми пакетами

yum install cobbler cobbler-web dnsmasq syslinux pykickstart xinetd httpd dhcp debmirror pykickstart bind -y

Запускаем cobbler и другие сервисы необходимые для работы и добавляем их в автозагрузку

systemctl start cobblerd ; systemctl enable cobblerd
systemctl start httpd ; systemctl enable httpd
systemctl start xinetd ; systemctl enable xinetd
systemctl start rsyncd ; systemctl enable rsyncd
systemctl start dhcp ; systemctl enable dhcp

Если запущен selinux то отключаем его, редактируем файл /etc/selinux/config

SELINUX=disabled

Перезагружаем сервер

shutdown –r now

Добавляем разрешения в firewalld

firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --add-port=443/tcp --permanent
firewall-cmd --add-service=dhcp --permanent
firewall-cmd --add-port=69/tcp --permanent
firewall-cmd --add-port=69/udp --permanent
firewall-cmd --add-port=4011/udp --permanent
firewall-cmd --reload

подключаемся к веб интерфейсу

https://ip address/cobbler_web/

Вводим логин пароль cobbler/cobbler Если вы видите эту страницу, то первую часть установки можно считать завершенной. Все дальнейшие настройки можно делать как через консоль так и через веб интерфейс.

Настройка Cobbler

Задаем пароль root. Этот пароль будет устанавливаться в новых устанавливаемых системах, если не задан в kickstart файле. Для этого генерим хэш пароля

openssl passwd -1

Сохраняем оригинальный файл /etc/cobbler/settings на всякий случай.

cp settings settings.orig

Редактируем settings приведя его к следующему виду

default_password_crypted: "$1$i5Ucz2q9$dRypeZXT5AjfYyi97xr6a0"
manage_dhcp: 1
manage_dns: 1
pxe_just_once: 1
next_server: 192.168.1.5
server: 192.168.1.5

В параметр default_password_crypted прописываем сгенерированный хэш next_server – адрес tftp сервера server – ip cobbler сервера У нас tftp и cobber сервер на одной машине, поэтому указываем ip адрес сервера. Редактируем файл /etc/cobbler/dhcp.template, в нем прописываем подсеть которая будет выдаваться по DHCP клиентам Отредактируем файл /etc/cobbler/dnsmasq.template указав диапазон адресов выдаваемых PXE клиентам Перезапускаем cobbler

systemctl restart cobblerd

выполняем

cobbler sync

Если видим TASK COMPLETE значит синхронизация прошла успешно Проверяем что все нормально

cobbler check

Вывод показывает следующее

1 : Some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
2 : comment out 'dists' on /etc/debmirror.conf for proper debian support
3 : comment out 'arches' on /etc/debmirror.conf for proper debian support
4 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

В общем критических замечаний нет, ну давайте исправим и эти Запускаем команду

cobbler get-loaders

Редактируем /etc/debmirror.conf и /etc/debmirror.conf

sed -i "s/^@dists/#@dists/" /etc/debmirror.conf
sed -i "s/^@arches/#@arches/" /etc/debmirror.conf

Устанавливаем fence-agents

yum install fence-agents –y

снова проверяем кобблер

cobbler check

Теперь вывод показывает что никаких замечаний нет

No configuration problems found. All systems go.

Подготовка образа установочного образа системы

Следующим шагом монтируем iso образ. Загрузим на наш сервер iso образ какой нибудь системы, например Centos 7

сd /tmp
wget http://mirror.tversu.ru/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso

Монтируем iso образ в mnt

mount -t iso9660 -o loop,ro /tmp/CentOS-7-x86_64-Minimal-1810.iso /mnt

Переходим в веб интерфейс и импортируем образ, для этого переходим на вкладку Import DVD, Заполняем поля и нажимаем Run

Или через консоль

cobbler import --arch=x86_64 --path=/mnt --name=CentOS7

Если получили ошибку

No signature matched in /var/www/cobbler/ks_mirror/CentOS7-x86_64

Удаляем директорию /var/www/cobbler/ks_mirror/CentOS7-x86_64

rm -rf /var/www/cobbler/ks_mirror/CentOS7-x86_64

Обнавляем сигнатуру и перезапускаем сервис.

cobbler signature update
systemctl restart cobblerd

Снова импортируем образ системы.

cobbler import --arch=x86_64 --path=/mnt --name=CentOS7

Если все успешно вы увидите следующий вывод Смотрим смонтированные образы

cobbler distro list

Или через веб интерфейс меню Distros Информацию о сборке можно посмотреть командой

cobbler distro report --name=CentOS7-x86_64

Создание kickstart файла для установки

Следующим шагом создаем Kickstart файл. Назовем его Centos7.ks. В этом файле задаем параметры для автоматической установки, такие как пароль для пользователя root, настройки сети и т.д. Директория для kickstart файлов /var/lib/cobbler/kickstarts.

vi /var/lib/cobbler/kickstarts/CentOS7.ks
# настройка фаервола(выключаем)
firewall --disabled
# Режим, установка или обновление
install
# Путь к образу установки
url --url="http://192.168.1.5/cobbler/links/CentOS7-x86_64/"
# Пароль root
rootpw --iscrypted $1$oajNiL8Z$pJGtHLbsSYroo9whwnp4k/

# Настройка сети
network --bootproto=dhcp --device=eth0 --onboot=on

# Перезагрузка после установки
reboot

# Информация об авторизации системы
auth useshadow passalgo=sha512
# Использовать графический интерфейс во время установки
graphical
firstboot disable
# Настройка клавиатуры
keyboard us
# Язык системы
lang ru_RU
# Конфигурация Selinux
selinux disabled
# Installation logging level
logging level=info
# Временная зона
timezone Europe/Moscow
# Настройка файловой системы
bootloader location=mbr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=500
part pv.01 --size=1 --grow
volgroup root_vg01 pv.01
logvol / --fstype xfs --name=lv_01 --vgname=root_vg01 --size=1 --grow
%packages
@^minimal
@core
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end

Обнавляем профиль

cobbler profile edit --name=CentOS7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS7.ks
cobbler sync

Запуск установки по сети

Включаем компьютер на который нужно установить систему, в качестве источника загрузки выбираем загрузку по сети Net boot. Если все сделано правильно, то мы увидим как наш компьютер получает ip адрес и начинает загружать по tftp ОС На следующем шаге выбираем наш загрузочный образ в меню загрузки, все остальные действия при установке произойдут в автоматическом режиме

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

ИТ Проффи

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: