The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Организация сетевой загрузки и обновления группы машин при помощи Cobbler (cobbler)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: cobbler,  (найти похожие документы)
From: Василец Дмитрий Date: Mon, 25 Sep 2010 17:02:14 +0000 (UTC) Subject: Организация сетевой загрузки и обновления группы машин при помощи Cobbler Оригинал: http://vasilec.blogspot.com/2008/12/cobbler.html http://vasilec.blogspot.com/2008/12/cobbler_04.html Часть первая - о установке. Рассмотрим вариант с сетевой установкой И так - у нас есть сеть и компьютер на который необходимо по сети установить ОС(называть его будем клиентом). Сервер с которого будет устанавливаться (просто сервер). Устанавливаем на машину с которой будет производиться установка cobbler и необходимые пакеты. yum install cobbler dhcp httpd syslinux tftp-server -y dhcp Первая служба к которой обратится клиент будет dhcp - потому настроим его. Вот простейший рабочий конфиг. ddns-update-style none; ignore client-updates; use-host-decl-names on; authoritative; set vendorclass = option vendor-class-identifier; # указываем свою сеть subnet 10.20.4.0 netmask 255.255.255.0 { # задаем роутер по умолчанию option routers 10.20.4.1; # маска подсети option subnet-mask 255.255.240.0; # сервер днс option domain-name-servers 10.20.4.1; # часовой пояс option time-offset -18000; #EST # диапазон адресов которые будем раздавать по dhcp # в нашем случае от 10.20.4.2 до 10.20.4.100 pool { range dynamic-bootp 10.20.4.2 10.20.4.100; # время аренды адреса по умолчанию default-lease-time 86400; # максимальное время аренды адреса max-lease-time 86400; } # сервер с которого попытаться загрузиться next-server 10.20.4.1; # файл который скачать по tftp протоколы с сервера загрузки filename "pxelinux.0"; # разрешаем загрузку allow bootp; allow booting; filename "/pxelinux.0"; default-lease-time 21600; max-lease-time 43200; } Если несколько сетевых интерфейсов то в файле /etc/sysconfig/dhcpd указываем какой из них слушать DHCPDARGS=eth1 Запускаем dhcpd сервер service dhcpd start tftp Следом за dhcpd клиент воспользуется tftp сервером что б скачать файл pxe который в свою очередь уже будет скачивать ядро(функция его основная но не единственная) tftp-server будет запускаться через xinetd - для этого в файле /etc/xinetd.d/tftp в строке disable поставьте значение no. disable = no и перезапустите xinetd service xinetd restart cobbler проверим все ли настройки выполнены необходимые для cobbler cobbler check Скорее всего он попросит запустить httpd cobblerd и подредактировать шаблоны kickstart файлов заменив хеш пароля по умолчания на ваш хеш теперь необходима сама устанавливаемая операционная система Если она у нас на dvd диске, монтируем диск в /home/os mount /dev/dvd-hdb /home/os и забираем все файлы указывая название --name=F9 откуда берем файлы --mirror=/home/os и архитектуру процессора --arch=x86_64 cobbler import --name=F9 --mirror=/home/os --arch=x86_64 Еще один вариант - синхронизировать с официальном сервером, например используем сервер яндекса cobbler import --name=F10 --mirror=rsync://mirror.yandex.ru/fedora/linux/releases/10/Fedora/x86_64/os --arch=x86_64 И еще один вариант - не использовать синхронизацию - мы просто укажем где есть весь набор пакетов cobbler import --name=F9 --mirror=/home/os --arch=x86_64 --available-as=nfs://10.20.4.1:/home/os и настроить nfs после того как синхронизация завершится нужно настроить в kickstart файле источник установки. в нашем случае это http://10.20.4.1/cobbler/ks_mirror/F9-x86_64/ Узнать можно вызвав синхронизацию снова и найти строку http://@@http_server@@/cobbler/ks_mirror/config/F9-x86_64-0.repo где @@http_server@@ адресс сервера по ссылке расположен файл конфигурации репозитория - его можно прописать для использования локальног о репозитория предоставляемого cobbler там же указан адрес папки со всеми файлами - вот его и пишем как источник установки После того как написан kickstart файл (http://fedoraproject.org/wiki/Anaconda/Kickstart) добавим клиента cobbler system add --name=system1 --profile=F9-x86_64 --mac= --ip= --hostname= --kickstart=/root/ks.system1.cfg Параметров на самом деле много - даже определенные поля kickstart файла можно задать персонально для каждого клиента Посмотреть список профилей можно с помощью команды koan --server=10.20.4.1 --list=profiles (подробней о koan в след.раз) Теперь указываем в биосе клиента,что загружаемся в первую очередь с сетевой карточки используя pxe. Если kickstart файл написан правильно то все загрузится и установится самостоятельно. Часть 2 Cobbler не ограничивается ролью загрузчика, можно настроить взаимодействие его с dhcp и dns. А также есть у него простенький веб интерфейс - который ,на мой взгляд, страшнее консольки. Web интерфейс Настраиваем интерфейс после настройки всех служб и синхронизации с репозиторием. Смотри в /etc/cobbler/modules.conf Аутентификация по файлу. (еще варианты запретить для всех:"authn_denyall", использовать spacewalk: "authn_spacewalk" - пользователь с правами администратора на RHN/spacewalk может залогиниться используя теже лоигн и пароль , но необходимо прописать в /etc/cobbler/settings строчку "spacewalk_url: "http://сервер_spacewalk/rpc/api" , аутентификацию проводит apache и kerberos : "authn_passthru", использовать ldap: "authn_ldap" , тестирование - логин и пароль "testing" :"authn_testing", если все выше перечиленное не устраивает то можно и самому написать модель аутентификации) [authentication] module = authn_configfile Авторизацию разрешить всем (можно также использовать authz_configfile - т.е. только тем кто перечислен в файле, либо authz_ownership - пользователям перечисленным в users.conf и добавить пренадлежность объектов к определенному хозяину, либо опять написать свой модуль ) [authorization] module = authz_allowall Взаимодействие cobbler с dhcpd Используем стандартный сервер [13]isc-dhcp . В /etc/cobbler/settings разрешаем администрировать dhcpd manage_dhcp: 1 В файл /etc/cobbler/dhcp.template вносим изменения (если нужно) Теперь вносим новую систему cobbler system add --name= --mac= --profile= --ip= <> синхронизируем конфигурацию dhcpd c cobbler cobbler sync Если dhcpd находится на том же сервере что и cobbler то по умолчанию перезапустится. За это в конфиге отвечают строки restart_dhcp: 1 Все - теперь к определенным мак адресам привязаны ip которые мы назначили Редактировать можно так cobbler system edit --name= --mac= --profile= --ip= Взаимодействие cobbler с bind Включаем редактирование конфигов bind manage_dns: 1 Редактируем /etc/cobbler/named.template вписывая наши данные Открываем файл /etc/cobbler/settings , находим такие параметры manage_forward_zones и manage_reverse_zones - это соответственно прямая и обратная зона. Конфиг пишется на yaml, он и в rails используется. Вот что примерно должно получится manage_forward_zones: - 'adenin.ru' manage_reverse_zones: - '10.20.4' Для нашей зоны adenin.ru нужно в папке /etc/cobbler/zome_templates (если ее нет - создайте) создать файл adenin.ru , файл называется так же как и прямая зона , или зоны, в manage_forward_zones. И самое важное, каждой системе в необходимо задать hostname вида node1.adenin.ru cobbler system edit --name=node1 --hostname=node1.adenin.ru и выполняем cobbler sync Bind перезапустится автоматом. Подключение репозиториев с обновлениями Необходимо получить url резотирия для нашей архитектуры и дистрибутива Например для fedora9 ftp://dispenser.yandex.net/fedora/linux/updates/9/x86_64.newkey/ Подсмотел в /etc/yum.repos.d/fedora-updates-newkey.repo Включаем его cobbler repo add --mirror=ftp://dispenser.yandex.net/fedora/linux/updates/9/x86_64.newkey/ \ --name=f9_x86_64_update_newkeys И выполняем синхронизацию cobbler reposync Теперь добавляем профиль который будет использовать список репозиториев включающий нужные нам cobbler profile add --name=f9-x86_64_test --repos="список имен репозиториев" --distro=F9-x86_64 Что б после установки система использовала для обновления наш репозиторий вписыавем в файл /etc/cobbler/settingsyum_post_install_mirror: 1 В крон вписываем задание обновляться и наслаждаемся всегда свежим локальным репозиторием Кстати - так же можно создать репозиторий для debian-based дистрибутивов, только добавляем аргумент --breed=apt

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Ваш комментарий
Имя:         
E-Mail:      
Заголовок:
Текст:





  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor