Red Hat Training
A Red Hat training course is available for Red Hat Satellite
Введение в Red Hat Network Satellite
Подготовка систем Red Hat Network Satellite
Редакция 2
Red Hat Engineering Content Services
Аннотация
Глава 1. Введение
Основные термины
- Кикстарт
- Процесс автоматической установки Red Hat, требующий минимального вмешательства пользователя. Изначально термин кикстарт использовался применительно к механизму установки Anaconda, где необходимые параметры размещались в специальном файле. Предопределенный набор настроек получил название профиля кикстарта.
- Профиль кикстарта
- Это текстовый файл, в котором хранятся необходимые для установки параметры: схема разделов, конфигурация сети, список устанавливаемых пакетов. Настройки Anaconda являются лишь подмножеством профиля кикстарта RHN Satellite, так как он построен на основе расширений Cobbler. Для использования профиля необходимо наличие дерева установки.
- Дерево кикстарта
- Также известное как дерево установки, представляет собой каталог с необходимыми для установки файлами. В терминах Cobbler дерево кикстарта является составляющей дистрибутива.
- PXE (Preboot eXecution Environment)
- Низкоуровневый протокол, позволяющий выполнить кикстарт-установку системы без ее предварительной подготовки. Функции объявления загрузочных серверов клиентам при этом возлагаются на сервер DHCP. При этом PXE должен поддерживаться на микропрограммном уровне. Возможности виртуализации и переустановки Satellite доступны и без PXE, но PXE значительно облегчает задачу подготовки новых компьютеров к работе и переустановке незарегистрированных систем.
Режимы установки
- Новая установка
- Установка на компьютерах, в которых не установлена операционная система — так называемая установка с нуля.
- Виртуальная установка
- Satellite поддерживает полностью виртуализированные системы KVM, Xen и паравиртуализированные системы Xen.
- Переустановка
- В зарегистрированных физических и виртуальных системах можно выполнить повторную установку (см. Раздел 2.5.2, «Переустановка»).
Глава 2. Кикстарт
2.1. Обязательные пакеты
rhn-tools:
koan,spacewalk-koan.
rhn-tools.
kernel и initrd в определенных каталогах (см. таблицу).
Таблица 2.1. Обязательные файлы
| Архитектура | Ядро | Образ диска инициализации |
|---|---|---|
| IBM System z | ПУТЬ/images/kernel.img | ПУТЬ/images/initrd.img |
| PowerPC | ПУТЬ/ppc/ppc64/vmlinuz | ПУТЬ/images/pxeboot/vmlinux |
| Другие | ПУТЬ/images/pxeboot/vmlinuz | ПУТЬ/images/pxeboot/initrd.img |
2.2. Дерево установки
Процедура 2.1. Автоматическая установка дерева кикстарта
- Выберите базовый и канал rhn-tools для дистрибутива.Так, для Red Hat Enterprise Linux 5 на x86 надо выбрать
rhel-i386-server-5иrhn-tools-rhel-i386-server-5. - Выполните синхронизацию Satellite с серверами Red Hat. Если Satellite работает в автономном режиме, для синхронизации могут использоваться заранее подготовленные копии каналов.
- При синхронизации будет автоматически создано соответствующее дерево установки.
Процедура 2.2. Установка дерева кикстарта вручную
- Скопируйте образ на Satellite и смонтируйте его в
/mnt/iso. - Скопируйте содержимое образа во временный каталог в
/var/satellite. Так, например, содержимое образа бета-выпуска RHEL можно скопировать в/var/satellite/custom-distro/rhel-i386-server-5.3-beta/. - Откройте веб-интерфейс RHN Satellite и создайте канал (Каналы → Управление каналами → Создать канал). Выберите подходящее для дистрибутива имя, например rhel-5.3-beta.
- Перенесите пакеты из дерева в созданный канал:
rhnpush --server=http://localhost/APP -c 'rhel-5.3-beta' \ -d /var/satellite/custom-distro/rhel-i386-server-5.3-beta/Server/
Каталог внутри /var/satellite/ может отличаться от приведенного примера в зависимости от дистрибутива. - Позднее копии пакетов можно будет удалить из временного каталога с помощью
rm. Сами пакеты все так же будут храниться на сервере Satellite.rm /var/satellite/custom-distro/rhel-i386-server-5.3-beta/Server/*.rpm
Примечание
Копии можно не удалять. Это позволит в любое время переустановить пакеты с помощьюyum. - Чтобы создать дистрибутив, на сайте RHN Satellite выберите Системы → Кикстарт → Дистрибутивы → создать дистрибутив. Введите имя и путь к дереву установки (например,
/var/satellite/custom-distro/rhel-i386-server-5.3-beta/), выберите базовый канал и установщик (например, Red Hat Enterprise Linux 5). Нажмите Создать кикстарт дистрибутива. - Для согласования программного обеспечения в разных окружениях и системах можно скопировать дочерний канал RHN Tools из базового канала Red Hat Enterprise Linux для созданного дистрибутива. Доступные методы копирования:
- В меню веб-интерфеса Satellite выберите Каналы → Управление каналами → Дублировать канал
- Выберите канал в списке Дублировать: и режим копирования.
- Нажмите Создать канал.
- Введите необходимую информацию и выберите родительский канал для нового канала.
- Нажмите Создать канал.

Рисунок 2.1. Создание дистрибутива кикстарта
2.3. Профили кикстарта
Процедура 2.3. Работа с помощником создания профиля
- Выберите Система → Кикстарт → Создать профиль.
- Введите метку, базовый канал и дерево установки.
- Выберите тип виртуализации (см. Типы виртуализации).
- Выберите каталог для размещения профиля. Для нестандартных дистрибутивов введите URI (HTTP или FTP). Нажмите кнопку продолжения.
- Введите пароль root и нажмите кнопку завершения.
- Для просмотра созданного профиля нажмите Файл кикстарта.
Процедура 2.4. Создание профиля вручную.
- Выберите Системы → Кикстарт → Загрузить файл кикстарта.
- Введите метку и выберите дистрибутив.
- Выберите тип виртуализации (см. Типы виртуализации).
- Можно выбрать существующий файл или ввести текст профиля в окне ввода.Пример:
install text network --bootproto dhcp url --url http://$http_server/ks/dist/org/1/ks-rhel-i386-server-5 lang en_US keyboard us zerombr clearpart --all part / --fstype=ext3 --size=200 --grow part /boot --fstype=ext3 --size=200 part swap --size=1000 --maxsize=2000 bootloader --location mbr timezone America/New_York auth --enablemd5 --enableshadow rootpw --iscrypted $1$X/CrCfCE$x0veQO88TCm2VprcMkH.d0 selinux --permissive reboot firewall --disabled skipx key --skip %packages @ Base %post $SNIPPET('redhat_register') - RHN Satellite не использует
urlпо умолчанию, поэтому в профиль можно включить следующее:url --url http://satellite.example.com/ks/dist/org/1/my_distro
Заменитеmy_distroметкой дистрибутива, а1— идентификатором организации. - Созданные таким образом профили принимают параметр
$http_server, который будет автоматически заменен именем Satellite. - Команда
$SNIPPET('redhat_register')отвечает за регистрацию.

Рисунок 2.2. Ввод текста кикстарта
Каждому профилю кикстарта соответствует тип виртуализации.
Таблица 2.2. Типы виртуализации
| Тип | Описание | Применяется |
|---|---|---|
| нет | Нет виртуализации | Стандартная подготовка физических систем, установка виртуальных систем, не использующих Xen и KVM (например, VMware и Virtage) |
| Виртуальный гость KVM | Гостевые системы KVM | Для подготовки гостевых систем KVM |
| Полностью виртуализированный гость Xen | Гостевые системы Xen | Для подготовки гостевых систем Xen
Примечание
Требует соответствующей поддержки оборудования на хосте. Не требует модификации гостевой операционной системы.
|
| Паравиртуализированный гость Xen | Гостевые системы Xen | Red Hat Enterprise Linux 5 поддерживает паравиртуализацию, которая является наиболее быстрым способом виртуализации. Требует наличия флага PAE процессора и модификации операционной системы. |
| Хост Xen | Хосты Xen | Используется для создания виртуального хоста Xen. Поддерживаются паравиртуализированные гости и хосты Xen. |
%packages профиля, который будет использоваться хостами Xen, должен быть указан пакет kernel-xen.
%packages профиля, который будет использоваться хостами KVM, должен быть указан пакет qemu.
Примечание
2.4. Шаблоны
cheetah можно создать шаблоны с переменными, фрагментами настроек, операторами if и for, которые будут включены в файлы кикстарта.
- Многоразовое использование фрагментов кода в разных файлах кикстарта (например, в секциях разделов).
- Многоразовое выполнение операций из
%post. - Определение шаблонов для создания сервера DNS, прокси-сервера или веб-сервера. Так, например, для веб-сервера можно включить следующее:
httpd mod_ssl mod_python
При создании профиля веб-сервера следует добавить его шаблон в секцию%packages. Добавление в эту секцию определений прокси-сервера позволит использовать этот же профиль для создания прокси. При добавлении нового пакета в шаблон все использующие его профили будут обновлены автоматически.
Шаблоны могут содержать переменные. Подстановка их значений осуществляется в соответствии с иерархией: системные переменные переопределяют переменные в профиле кикстарта, которые, в свою очередь, переопределяют переменные дистрибутива.
Примечание
С помощью выражения $SNIPPET('фрагмент') можно добавить отдельные фрагменты в профиль. Фрагменты могут содержать список пакетов, секции сценария %post и прочие определения, которые может содержать файл кикстарта.
/var/lib/cobbler/snippets/ на RHN Satellite. В /var/lib/rhn/kickstarts/wizard/ можно найти шаблон с описанием этих фрагментов.
redhat_register используется для регистрации компьютеров на сервере RHN Satellite. Определите значение redhat_management_key на уровне системы, профиля или дистрибутива и добавьте строку $SNIPPET('redhat_register') в секцию %post. Созданные автоматически профили будут содержать этот фрагмент.
/var/lib/rhn/kickstarts/snippets/. Шаблоны для разных организаций будут храниться в разных каталогах. Так, команда добавления фрагмента для организации с идентификатором 1 будет выглядеть так:
$SNIPPET('spacewalk/1/snippet_name')
Примечание

Рисунок 2.3. Фрагменты кикстарта
Для подстановки переменных используются знаки $ и #. Если требуется непосредственно указать эти знаки в сценарии, можно выбрать один из приведенных ниже способов:
- Указать
\перед$или#. - Заключить весь сценарий в
#raw ... #end rawСозданные помощником сценарии%preи%postзаключены в#raw...#end rawпо умолчанию. Это можно отключить, сняв флажок Шаблон при редактировании сценария. - Добавить
#errorCatcher Echoв начало фрагмента.
Пример 2.1. Примеры подстановки специальных знаков
%post надо добавить сценарий bash:
%post echo $foo > /tmp/foo.txt
$foo, что завершится неудачей, так как эта переменная не существует.
\ перед $:
%post echo \$foo > /tmp/foo.txt
\$foo будет преобразован в $foo.
#raw ... #end raw:
%post #raw echo $foo > /tmp/foo.txt #end raw
#errorCatcher Echo в первую строку шаблона. Эта команда заставляет обработчик игнорировать несуществующие переменные и выводить текст в исходном виде. Это выражение включено по умолчанию в файлы кикстарта, созданные с помощью помощника.
2.5. Установка
2.5.1. Установка на новых компьютерах
- с установочного носителя;
- загрузив компьютер с помощью PXE;
Процедура 2.5. Загрузка с установочного носителя
- Вставьте установочный диск с соответствующей версией дистрибутива. Так, для кикстарта
ks-rhel-i386-server-5-u2используйте диск Red Hat Enterprise Linux 5.2 для i386. - В строке приглашения введите:
linux ks=http://satellite.example.com/путь/к/файлу/кикстарта
- Установка начнется автоматически после загрузки системы.
Процедура 2.6. Загрузка PXE
Важно
Если сервер DHCP размещен на отдельном компьютере в сети, для изменения файла конфигурации DHCP надо разрешить к нему административный доступ.Если же системы расположены в разных сетях, необходимо, чтобы они могли подключаться к серверу DHCP. Для этого настройки маршрутизаторов и коммутаторов должны разрешать взаимодействие между сетями.Параметрnext-serverв настройках сервера DHCP должен указывать на сервер PXE.Чтобы использовать имена узлов во время установки, надо добавить:option domain-name ДОМЕН; option domain-name-servers IP_АДРЕС1, IP_АДРЕС2;
- На сервере DHCP перейдите в режим root и откройте файл
/etc/dhcpd.conf. Добавьте следующую секцию, чтобы разрешить загрузку PXE:allow booting; allow bootp; class "PXE" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 192.168.2.1; filename "pxelinux.0"; }В этой секции определены действия:- Активация сетевой загрузки с помощью протокола
bootp. - Создание класса с именем
PXE. Если в последовательности загрузки системы первым выбирается PXE, система будет идентифицирована какPXEClient. - Перенаправление сервера DHCP на Cobbler с адресом 192.168.2.1.
- Сервер DHCP обращается к загрузочному образу
/var/lib/tftpboot/pxelinux.0.
- Настройте службу xinetd, которая управляет целым набором служб, в том числе TFTP — сервером FTP, отвечающим за передачу загрузочного образа клиенту PXE.Команда активации xinetd:
chkconfig xinetd on
Другой способ состоит в изменении параметраdisable = yesнаdisable = noв файле/etc/xinetd.d/tftp(в режиме root). - Запустите xinetd, чтобы TFTP стал предоставлять образ
pxelinux.0:chkconfig --level 345 xinetd on /sbin/service xinetd start
chkconfigвключаетxinetdна всех уровнях выполнения, в то время как/sbin/serviceзапускаетxinetdнемедленно.
2.5.2. Переустановка
Пример 2.2. Изменение параметров ядра
vnc vncpassword=ПАРОЛЬ.
noapic, надо его добавить в строку Post-параметры.
Процедура 2.7. Восстановление файлов
Примечание
- Список восстановления можно создать на странице Системы → Кикстарт → Восстановление файлов → создать список восстановления файлов.
- После этого перейдите на страницу Системы → Кикстарт → Профили и свяжите список с профилем.
- На странице Свойства системы → Восстановление файлов выберите интересующий список.
2.5.3. Установка виртуальной системы
- виртуальный гость KVM;
- полностью виртуальный гость Xen;
- паравиртуальный гость Xen.
Процедура 2.8. Установка виртуальной системы
- Убедитесь, что компьютер, где будет устанавливаться виртуальная система, обладает полномочием виртуализации или платформы виртуализации.
- На странице Системы выберите хост, затем Виртуализация → Инициализация. Далее следует выбрать профиль кикстарта и ввести имя гостевой системы.
- На странице Дополнительные настройки можно изменить следующее:
- сетевое подключение (DHCP или статическое);
- параметры ядра;
- настройки синхронизации профиля (после установки можно синхронизировать профиль с другой системой или с другим профилем);
- память (по умолчанию 512 МБ);
- размер виртуального диска;
- число виртуальных процессоров (по умолчанию 1);
- виртуальный мост (по умолчанию
xenbr0для Xen иvirbr0для KVM).Примечание
virbr0не разрешает внешние соединения. Если требуется внешнее соединение, рекомендуется использовать мостxenbr0. - путь к накопителю (файлу, каталогу, логическому тому, блочному устройству), где будут храниться данные виртуальной системы. Примеры:
/dev/sdb,/dev/LogVol00/mydisk,VolGroup00,/var/lib/xen/images/myDisk.
- Нажмите Назначить кикстарт и выйти.
2.5.4. Установка через RHN Proxy
- Выберите прокси-сервер из списка.
- При установке на новом компьютере замените имя RHN Satellite полным именем прокси-сервера. Например, если путь к файлу кикстарта выглядел так:
http://satellite.example.com/ks/cfg/org/1/label/myprofile
его надо изменить:http://proxy.example.com/ks/cfg/org/1/label/myprofile
Глава 3. Группы серверов Satellite
Требования взаимной синхронизации
- как минимум два сервера RHN Satellite;
- как минимум один RHN Satellite с каналами;
- соединение между серверами должно быть защищено — SSL-сертификат мастер-сервера Satellite должен быть доступен на подчиненных серверах.
3.1. Синхронизация серверов Satellite
Процедура 3.1. Настройка мастер-сервера RHN Satellite
- Сначала следует включить функции синхронизации. Откройте файл
/etc/rhn/rhn.confи проверьте наличие строки:disable_iss=0
- В
/etc/rhn/rhn.confнадо изменить переменнуюallowed_iss_slaves=так, чтобы она содержала имена узлов всех подчиненных Satellite, разделенных запятой:allowed_iss_slaves=slave1.satellite.example.org,slave2.satellite.example.org
- Сохраните файл и перезапустите
httpd:service httpd restart
Процедура 3.2. Настройка подчиненных серверов
- Чтобы настроить синхронизацию подчиненных серверов, нужно получить сертификат
ORG-SSLиз каталога/pub/на мастер-сервере. ФайлRHN-ORG-TRUSTED-SSL-CERTможно переименовать и разместить в любом каталоге на подчиненном Satellite, например в/usr/share/rhn/. - Следующая команда получит список доступных для синхронизации каналов:
satellite-sync --iss-parent=master.satellite.example.com --ca-cert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --list-channels
Замените master.satellite.example.com именем мастер-сервера.
Процедура 3.3. Синхронизация разных Satellite
- В
/etc/rhn/rhn.confна подчиненных серверах настройте имя мастер-сервера и путь к сертификату SSL:iss_parent = master.satellite.example.com iss_ca_chain = /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
- Теперь можно начать синхронизацию:
satellite-sync -c канал
Примечание
Параметры командыsatellite-syncпереопределяют настройки в файле/etc/rhn/rhn.conf
3.2. Синхронизация организаций
- Если исходные пакеты принадлежат Red Hat (значение
NULL), то эта организация будет использоваться, даже если задана другая организация. Это гарантирует, что содержимое всегда будет принадлежать привилегированной базовой организации. - Если организация задана в командной строке, будет выполнен импорт ее данных.
- Если организация не задана, по умолчанию будет использоваться первая организация.
orgid.
Пример 3.1. Импорт с мастер-сервера
satellite-sync --parent-sat=master.satellite.example.com -c канал --orgid=2
Пример 3.2. Импорт из сохраненной копии организации
$ satellite-sync -m /dump -c канал --orgid=2
Пример 3.3. Импорт содержимого с RHN Hosted
$ satellite-sync -c канал
3.3. Примеры синхронизации
Пример 3.4. Тестовый сервер Satellite


- Выполните команду синхронизации:
satellite-sync -c your-channel
- Выполните синхронизацию с тестовым сервером:
satellite-sync --iss-parent=staging-satellite.example.com -c частный_канал
Пример 3.5. Синхронизация подчиненных серверов

Пример 3.6. Собственные пакеты на подчиненных серверах

Пример 3.7. Двухсторонняя синхронизация

- Оба сервера должны открыть доступ к своим сертификатам SSL.
- Параметр
iss_parentв файле/etc/rhn/rhn.confна сервере A должен содержать имя Satellite B. - Параметр
iss_parentв файле/etc/rhn/rhn.confна сервере B должен содержать имя Satellite A.
Глава 4. Дополнительные команды и функции
4.1. XML-RPC API
Таблица 4.1. Методы XML-RPC
| Метод | Описание |
|---|---|
kickstart | Создание, импорт и удаление профиля кикстарта. Также используется для просмотра дерева установки и профилей. |
kickstart.tree | Создание, переименование, обновление и удаление дерева установки. |
kickstart.filepreservation | Создание, просмотр и удаление списков восстановления файлов, которые в дальнейшем могут быть сопоставлены профилю кикстарта с помощью kickstart.profile.system.add_file_preservations. |
kickstart.keys | Создание, просмотр и удаление ключей GPG/SSL, которые могут быть назначены разным профилям.
Примечание
Метод kickstart.profile.system.add_keys позволяет сопоставить созданный ключ профилю кикстарта.
|
kickstart.profile | Изменение диапазона IP, дерева установки и дочерних каналов, загрузка файлов установки, настройка дополнительных параметров и сценариев pre и post. |
kickstart.profile.keys | Добавление, просмотр и удаление ключей активации. |
kickstart.profile.software | Изменение списка пакетов в профиле. |
kickstart.profile.system | Управление списком восстановления файлов, ключами активации, разделами, настройка удаленных команд и выбор языка для профиля. |
system.provision_systemsystem.provision_virtual_guest
https://satellite.example.com/rpc/api.
4.2. Cobbler
Таблица 4.2. Команды Cobbler
| Команда | Описание |
|---|---|
cobbler profile list | Просмотр списка профилей на хосте RHN Satellite. |
cobbler distro list | Просмотр списка установочных деревьев, ядер, дисков RAM и др. |
cobbler system list | Просмотр списка системных записей, созданных при выборе времени запуска установки. |
cobbler profile report --name=профиль или cobbler system report --name=система | Просмотр подробной информации о выбранном объекте. |
cobbler profile edit --name=профиль --virt-ram=1024 | Позволяет изменить параметры. В этом примере при установке виртуальных систем им будет выделяться по 1 ГБ оперативной памяти. |
cobbler system edit --name=система --netboot-enabled=1 | Система будет переустановлена при следующей загрузке. |
cobbler system edit --name=система --profile=новый_профиль --netboot-enabled=1 | Назначает системе новый профиль. |
cobbler system find --profile=профиль | Просмотр списка систем для указанного профиля. |
cobbler system find --profile="abc" | xargs -n1 --replace cobbler system edit \ --name={} --profile="def" --netboot-enabled=1 | Присвоение системам с профилем abc профиля def и переустановка при следующей загрузке. |
cobbler profile edit --name=профиль --kopts="variablename=3" --in-place | Настройка дополнительной переменной в профиле. |
cobbler system edit --name=система --kopts="selinux=disabled asdf=jkl" | Добавляет переменные в системную запись. При этом старые переменные будут игнорироваться. |
cobbler profile find --name="*webserver*" | xargs -n1 --replace cobbler profile edit --name={} --profile="RHEL5-i386" | Для новых установок изменяет профиль, имя которого содержит webserver, на профиль RHEL5-i386. |
В /etc/cobbler/settings можно изменить другие параметры Cobbler, например pxe_just_once (см. Процедура 4.3, «Настройка PXE для Cobbler») или server (определяет имя или адрес сервера RHN Satellite).
/sbin/service cobblerd restart cobbler sync
Важно
/etc/cobbler/settings. Также не следует изменять файл /etc/cobbler/modules.conf, который отвечает за аутентификацию. Эти файлы должны оставаться в том состоянии, в котором они были созданы при установке RHN Satellite.
Процедура 4.1. Cobbler и SELinux
- Для этого используется команда
setsebool -P httpd_can_network_connect true
Аргумент-Pподдерживает подключение HTTPD между перезагрузками и является обязательным. - Затем следует настроить правила SELinux для предоставления загрузочного образа. Для этого на сервере Cobbler надо выполнить
semanage fcontext -a -t public_content_t "var/lib/tftpboot/.*"
- Правила IPTables должны разрешать передачу данных через сервер Cobbler.Если уже задан набор правил iptables для межсетевого экрана, надо добавить правила, открывающие порты для Cobbler.Для TFTP:
/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 69 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 69 -j ACCEPT
Для HTTPD:/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
Для Cobbler:/sbin/iptables -A INPUT -m state --state NEW -m udp -p udp --dport 25150 -j ACCEPT
Для Koan:/sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25151 -j ACCEPT
- Сохраните настройки:
/sbin/iptables-save
- Выполните синхронизацию файлов конфигурации:
cobbler sync
- Запустите Satellite:
/usr/sbin/rhn-satellite start
Предупреждение
Не следует запускать или останавливатьcobblerdотдельно отrhn-satellite, так как это может привести к ошибкам.Для запуска и остановки RHN Satellite следует использовать/usr/sbin/rhn-satellite.
Процедура 4.2. Настройка системных записей Cobbler
- Перейдите на страницу Свойства системы → Обеспечение и выберите профиль кикстарта.
- Выберите Создать системную запись Cobbler.
- Созданную связь можно изменить, присвоив параметру
pxe_just_onceзначениеtrue(см. Процедура 4.3, «Настройка PXE для Cobbler»).
Процедура 4.3. Настройка PXE для Cobbler
pxe_just_once.
- Загрузка PXE будет выбираться в BIOS первой, до загрузки с локального диска. Если настройки сервера PXE подразумевают удаленную загрузку с локального диска, это приведет к циклической переустановке системы.Чтобы этого избежать, в
/etc/cobbler/settingsдобавьте:pxe_just_once: 1
Это добавит в шаблон команду$kickstart_done, которая загрузит установленную систему с локального носителя, а не через сеть. - Если требуется переустановить систему с параметром
pxe_just_once: 1, надо будет изменить флагnetboot-enabled(на сайте RHN Satellite или напрямую в Cobbler). После перезагрузки системы начнется установка PXE, после завершения которой система будет загружена с локального диска.Если в BIOS локальный жесткий диск выбирается первым, не надо устанавливать флагpxe_just_once. Для переустановки системы через PXE потребуется обнулить главную загрузочную запись.
Правила формирования имен
- Дистрибутивы
$tree_name:$org_id:$org_name(если создан вручную)$tree_name(если создан при синхронизации с RHN Satellite)- Профили
$profile_name:$org_id:$org_name
Важно
Примечание
/var/log/cobbler/.
4.3. Koan
koan (сокр. от «kickstart over a network») позволяет удаленно обращаться к RHN Satellite из установленных систем. С помощью koan можно выполнить кикстарт-установку, создать виртуальные системы и получить список доступных профилей с узла RHN Satellite.
Таблица 4.3. Команды Koan
| Команда | Описание |
|---|---|
man koan | Справочная страница koan. |
koan --replace-self --server=satellite.example.org --profile=профиль или koan --replace-self --server=satellite.example.org --system=система | Повторная инициализация системы. Для начала установки следует перезагрузить систему. С помощью этой команды можно также обновить Red Hat Enterprise Linux на большом числе компьютеров. |
koan --virt --server=satellite.example.org --profile=профиль или koan --virt --server=satellite.example.org --system=система | Установка виртуальной системы |
koan --list=profiles --server=satellite.example.org или koan --list=systems --server=satellite.example.org | Вывод списка профилей и систем, доступных для удаленной установки. |
Примечание
/var/log/koan.
Глава 5. Диагностика проблем
- 5.1. Веб-интерфейс
- 5.2. Anaconda
- 5.3. Отладочные сообщения
- 5.4. Регистрация
- 5.5. Файловая структура кикстарта
- Вопрос: Где расположены файлы кикстарта?
- Вопрос: Где хранятся фрагменты Cobbler?
5.1. Веб-интерфейс
/var/log/tomcat5/catalina.out.
/var/log/httpd/error_log.
5.2. Anaconda
Ошибка при загрузке файла кикстарта. Что делать?
cobbler check:
# cobbler check The following potential problems were detected: #0: reposync is not installed, need for cobbler reposync, install/upgrade yum-utils? #1: yumdownloader is not installed, needed for cobbler repo add with --rpm-list parameter, install/upgrade yum-utils? #2: The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed #3: fencing tools were not found, and are required to use the (optional) power management features. install cman to use them
cobbler check не помогает определить проблему, можно сделать следующее:
- Выполните
service httpd status, чтобы проверить статус работыhttpd. - Выполните
service cobblerd status, чтобы проверить статус работыcobblerd. - Проверьте возможность загрузки файла кикстарта с другого узла:
wget http://satellite.example.com/cblr/svc/op/ks/profile/rhel5-i386-u3:1:Example-Org
Не удалось открыть файл chkconfig-1.3.30.1-2.i386.rpm». Что делать?
--url, например:
url --url http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
200 OK):
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3 --2011-08-19 15:06:55-- http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3 Resolving satellite.example.com... 10.10.77.131 Connecting to satellite.example.com|10.10.77.131|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 0 [text/plain] Saving to: `ks-rhel-i386-server-5-u3.1' 2011-08-19 15:06:55 (0.00 B/s) - `ks-rhel-i386-server-5-u3.1' saved [0/0]
200 OK, проверьте сообщения об ошибках. В access_log можно проверить, какой именно файл Anaconda пытается загрузить:
# grep chkconfig /var/log/httpd/access_log 10.10.77.131 - - [19/Aug/2011:15:12:36 -0400] "GET /rhn/common/DownloadFile.do?url=/ks/dist/ks-rhel-i386-server- 5-u3/Server /chkconfig-1.3.30.1-2.i386.rpm HTTP/1.1" 206 24744 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.76.143 - - [19/Aug/2011:15:12:36 -0400] "GET /ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig- 1.3.30.1-2.i386.rpm HTTP/1.1" 206 24744 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.76.143 - - [19/Aug/2011:15:14:20 -0400] "GET /ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig- 1.3.30.1-2.i386.rpm HTTP/1.1" 200 162580 "-" "urlgrabber/3.1.0 yum/3.2.19" 10.10.77.131 - - [19/Aug/2011:15:14:20 -0400] "GET /rhn/common/DownloadFile.do?url=/ks/dist/ks-rhel-i386-server- 5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm HTTP/1.1" 200 162580 "-" "urlgrabber/3.1.0 yum/3.2.19"
access_log, возможно, проблема скрывается в сетевых настройках. Если запросы есть, но они генерируют ошибки, надо проверить журналы ошибок.
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm
5.3. Отладочные сообщения
Subject: WEB TRACEBACK from satellite.example.com Date: Wed, 19 Aug 2011 20:28:01 -0400 From: RHN Satellite <dev-null@redhat.com> To: admin@example.com java.lang.RuntimeException: XmlRpcException calling cobbler. at com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper.invokeMethod(CobblerXMLRPCHelper.java:72) at com.redhat.rhn.taskomatic.task.CobblerSyncTask.execute(CobblerSyncTask.java:76) at com.redhat.rhn.taskomatic.task.SingleThreadedTestableTask.execute(SingleThreadedTestableTask.java:54) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) Caused by: redstone.xmlrpc.XmlRpcException: The response could not be parsed. at redstone.xmlrpc.XmlRpcClient.handleResponse(XmlRpcClient.java:434) at redstone.xmlrpc.XmlRpcClient.endCall(XmlRpcClient.java:376) at redstone.xmlrpc.XmlRpcClient.invoke(XmlRpcClient.java:165) at com.redhat.rhn.manager.kickstart.cobbler.CobblerXMLRPCHelper.invokeMethod(CobblerXMLRPCHelper.java:69) ... 4 more Caused by: java.io.IOException: Server returned HTTP response code: 503 for URL: http://someserver.example.com:80/cobbler_api at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1236) at redstone.xmlrpc.XmlRpcClient.handleResponse(XmlRpcClient.java:420) ... 7 more
taskomatic. Можно сделать следующее:
- Выполните
service httpd status, чтобы проверить статус работыhttpd. - Выполните
service cobblerd status, чтобы проверить статус работыcobblerd. - Убедитесь, что правила межсетевого экрана не запрещают подключения
localhost.
5.4. Регистрация
rhnreg_ks возвращает ошибку «Не удалось получить ID системы»?
%post, которая среди прочего содержит команды регистрации компьютера на RHN Satellite:
# begin Red Hat management server registration mkdir -p /usr/share/rhn/ wget http://satellite.example.com/pub/RHN-ORG-TRUSTED-SSL-CERT -O /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT perl -npe 's/RHNS-CA-CERT/RHN-ORG-TRUSTED-SSL-CERT/g' -i /etc/sysconfig/rhn/* rhnreg_ks --serverUrl=https://satellite.example.com/XMLRPC --sslCACert=/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT --activationkey=1-c8d01e2f23c6bbaedd0f6507e9ac079d # end Red Hat management server registration
- Создание каталога для хранения сертификата SSL.
- Загрузка сертификата SSL, который будет использоваться в процессе регистрации.
- Замена строк в сертификате в соответствии с файлами конфигурации
rhn-registerи регистрация системы на RHN Satellite. Каждый профиль кикстарта содержит ключ активации, который используется для выделения системе каналов и полномочий. При переустановке системы ключ активации поможет выбрать тот же профиль, который использовался для первоначальной установки.
rhnreg_ks в файле ks-post.log будут зарегистрированы сообщения:
ERROR: unable to read system id.
rhn_check для незарегистрированной системы.
5.5. Файловая структура кикстарта
/var/lib/rhn/kickstarts/. Настроенные вручную параметры хранятся в подкаталоге upload/, а параметры, созданные в ходе работы помощника — в wizard/.
Стандартный кикстарт: /var/lib/rhn/kickstarts/upload/$profile_name--$org_id.cfg Автоматически созданный кикстарт: /var/lib/rhn/kickstarts/wizard/$profile_name--$org_id.cfg
/var/lib/rhn/kickstarts/snippets. Для обращения к ним используется ссылка /var/lib/cobbler/snippets/spacewalk.
Фрагменты: /var/lib/rhn/kickstarts/snippets/$org_id/$snippet_name
Важно
Приложение A. История переиздания
| История переиздания | |||||||
|---|---|---|---|---|---|---|---|
| Издание 4-2.3.400 | 2013-10-31 | Rüdiger Landmann | |||||
| |||||||
| Издание 4-2.3 | Thu Apr 18 2013 | Yulia Poyarkova | |||||
| |||||||
| Издание 4-2.2 | Mon Mar 25 2013 | Yulia Poyarkova | |||||
| |||||||
| Издание 4-2.1 | Thu Feb 21 2013 | Yulia Poyarkova | |||||
| |||||||
| Издание 4-2 | Wed Sept 19 2012 | Dan Macpherson | |||||
| |||||||
| Издание 4-1 | Thu Aug 9 2012 | Athene Chan | |||||
| |||||||
| Издание 4-0 | Mon June 25 2012 | Athene Chan | |||||
| |||||||
| Издание 3-0 | Thu May 31 2012 | Athene Chan | |||||
| |||||||
| Издание 2-0 | Thu May 24 2012 | Athene Chan | |||||
| |||||||
| Издание 1-3 | Mon Aug 15 2011 | Lana Brindley | |||||
| |||||||
| Издание 1-2 | Wed Jun 15 2011 | Lana Brindley | |||||
| |||||||
| Издание 1-1 | Fri May 27 2011 | Lana Brindley | |||||
| |||||||
| Издание 1-0 | Fri May 6, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-8 | Thu May 5, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-7 | Thu April 14, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-6 | Wed March 23, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-5 | Tue March 22, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-4 | Tue March 22, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-3 | Mon March 21, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-2 | Thu March 17, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-1 | Wed Jan 5, 2011 | Lana Brindley | |||||
| |||||||
| Издание 0-0 | Tue Dec 21, 2010 | Lana Brindley | |||||
| |||||||