Red Hat Training
A Red Hat training course is available for Red Hat Satellite
Глава 10. Диагностика проблем
В этом разделе приведены рекомендации по определению причин и решению типичных проблем Red Hat Network Satellite. За помощью также можно обратиться в службу поддержки Red Hat Network по адресу https://access.redhat.com/support/. Используйте имя и пароль учетной записи Satellite для авторизации.
Диагностика начинается с анализа журналов и служебных файлов. Для их просмотра используйте
tail -f
, затем yum list
.
Распространенной проблемой является недостаток места на диске, индикатором чего является прекращение записи в журнал. Выполните следующую команду и обратите внимание на столбец Use%:
# df -h
Для проверки состояния Red Hat Network Satellite можно выполнить
# /usr/sbin/rhn-satellite status
Можно проверить статус отдельных компонентов. Например, для Apache выполните
# service httpd status
- 10.1. Установка и обновление
- 10.2. Службы
- 10.3. Соединение
- 10.4. Журналы и отчеты
- 10.5. Ошибки
- Вопрос: Что делать в случае ошибки проверки сертификата Satellite в процессе установки?
- Вопрос: Что означает ошибка "ERROR: server.mount_point not set in the configuration file" при активации или синхронизации Satellite?
- Вопрос: Почему «cobbler check» требует другую версию yum-utils?
- Вопрос: Почему при активации сертификата появляется сообщение о том, что текущая версия не поддерживается?
- Вопрос: Что означает ошибка ASCII при редактировании профиля кикстарта?
- Вопрос: Ошибки «Узел не найден» или «не удалось определить FQDN». Что делать?
- Вопрос: Почему при синхронизации Satellite появляется сообщение "This server is not an entitled Satellite"?
10.1. Установка и обновление
Вопрос:
Почему при установке появляются сообщения SELinux?
Ответ:
Если при установке RHN Satellite в появляются сообщения SELinux (отказы AVC и пр.), в анализе проблемы могут помочь журналы
audit.log
. Файл /var/log/audit/audit.log
можно прикрепить к созданному отчету.
Вопрос:
SELinux не работает после замены
/var/satellite
на NFS-ресурс.
Ответ:
Чтобы SELinux разрешал прохождение трафика NFS, выполните команду:
# /usr/sbin/setsebool -P spacewalk_nfs_mountpoint on
В Red Hat Enterprise Linux 6 дополнительно потребуется выполнить:
# /usr/sbin/setsebool -P cobbler_use_nfs on
Вопрос:
Происходит сбой работы Satellite. Почему?
Ответ:
Не подписывайте сервер Satellite на следующие каналы:
- Red Hat Developer Suite
- Red Hat Application Server
- Red Hat Extras
- Каналы JBoss
Подписка на эти каналы и обновление Satellite может привести к установке новых, несовместимых версий критических программных компонентов, тем самым вызвав сбой Satellite.
10.2. Службы
Вопрос:
Почему не работает Apache?
Ответ:
Если Apache не работает, возможно, есть ошибки в
/etc/hosts
.
Вопрос:
Как определить статус Task Engine?
Ответ:
Для определения статуса Task Engine выполните
# service taskomatic status
Вопрос:
Как определить статус встроенной базы данных Satellite?
Ответ:
Для определения статуса встроенной базы данных выполните
# service oracle status
Вопрос:
Что делать, если
yum
, up2date
или функции RHN Push не работают?
Ответ:
Причиной могут быть старые файлы журналов. Остановите
jabberd
и удалите эти файлы.
# service jabberd stop # rm -f /var/lib/jabberd/db/_db* # service jabberd start
10.3. Соединение
Вопрос:
Почему не удается установить соединение?
Ответ:
Возможные решения:
- Попробуйте подключиться к базе данных Satellite из командной строки, используя строку соединения из
/etc/rhn/rhn.conf
:# sqlplus пользователь/пароль@sid
- Убедитесь, что Satellite, системы клиентов и компьютер с независимой базой данных используют NTP (Network Time Protocol), и время установлено корректно.
- Проверьте наличие следующего пакета на Satellite:
rhn-org-httpd-ssl-key-pair-ИМЯ_КОМПЬЮТЕРА-ВЕРСИЯ-ВЫПУСК.noarch.rpm
Кроме того, во всех системах клиентов должен быть установлен соответствующий открытый сертификат SSL илиrhn-org-trusted-ssl-cert-*.noarch.rpm
. - Убедитесь, что клиентами используется корректный сертификат.
- При наличии прокси-серверов RHN убедитесь, что все SSL-сертификаты подготовлены корректно. На самом прокси-сервере должна присутствовать пара ключей SSL и открытый сертификат CA SSL. Глава сертификатов SSL в руководстве по настройке клиентов RHN содержит подробную информацию.
- Убедитесь, что межсетевые экраны клиентов не блокируют необходимые порты (см. Раздел 2.4, «Дополнительные требования»).
Вопрос:
Что делать, если не удается выполнить импорт или синхронизацию канала?
Ответ:
Если произошла ошибка при импорте или синхронизации канала, и не получается его восстановить, удалите кэш:
# rm -rf временный_каталог
Примечание
Раздел 6.2.1, «Подготовка к импорту с локального носителя» в качестве временного каталога использует
/var/rhn-sat-import/
.
После этого можно заново начать импорт или синхронизацию.
Вопрос:
Что означают ошибки SSL_CONNECT?
Ответ:
Ошибки
SSL_CONNECT
возникают в результате установки Satellite в системе с неверно определенным временем, так как сертификаты также будут создаваться с неточным временем. Если же время сервера было откорректировано, выбор времени активации сертификата может привести к тому, что сертификат окажется неверным.
Проверьте дату и время в системах клиентов и Satellite:
# date
Результаты должны быть аналогичны для всех машин и лежать в пределах "notBefore" и "notAfter". Проверьте дату и время сертификатов:
# openssl x509 -dates -noout -in /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
Проверьте дату и время сертификата Satellite:
# openssl x509 -dates -noout -in /etc/httpd/conf/ssl.crt/server.crt
По умолчанию сертификат сервера истекает через год, в то время как сертификаты клиентов действительны на протяжении 10 лет. Если сертификаты неверны, можно либо дождаться заданного времени начала, либо создать новые сертификаты. При этом желательно, чтобы время всех систем было в формате GMT.
10.4. Журналы и отчеты
Вопрос:
Для чего нужны журналы?
Ответ:
Анализ проблем должен начинаться с изучения соответствующих файлов журналов. Они содержат информацию о том, какие события имели место на заданном устройстве или в приложении (см. Таблица 10.1, «Файлы журналов»).
В каталоге
/var/log/rhn/
файлы пронумерованы: /var/log/rhn/rhn_satellite_install.log.1, /var/log/rhn/rhn_satellite_install.log.2 и т.п. Это так называемые циклические журналы, которые создаются, когда предыдущий файл rhn_satellite_install.log
достигает максимального размера, допустимого службой logrotate(8)
. Так, например, rhn_satellite_install.log.1
будет содержать более ранние события по сравнению с rhn_satellite_install.log.4
.
Таблица 10.1. Файлы журналов
Компонент, задача | Путь к журналам |
---|---|
Apache | /var/log/httpd/ |
Red Hat Network Satellite | /var/log/rhn/ |
Программа установки Red Hat Network Satellite | /var/log/rhn/rhn_satellite_install.log |
Установка встроенной базы данных | /var/log/rhn/install_db.log |
Заполнение базы данных | /var/log/rhn/populate_db.log |
Утилита синхронизации Red Hat Network Satellite | /var/log/rhn/rhn_server_satellite.log |
Инфраструктура мониторинга | /var/log/nocpulse/ |
Уведомления мониторинга | /var/log/notification/ |
Red Hat Network DB Control: встроенная база данных | /var/log/rhn/rhn_database.log |
taskomatic | /var/log/messages |
yum | /var/log/yum.log |
Транзакции XML-RPC | /var/log/rhn/rhn_server_xmlrpc.log |
Вопрос:
Для чего нужен
spacewalk-report
?
Ответ:
spacewalk-report
осуществляет сбор статистики о Satellite, полномочиях, подписанных системах, пользователях и организациях.
Примечание
Предварительно потребуется установить пакет
spacewalk-reports
.
spacewalk-report
формирует отчеты о пакетах, системах и пользовательских ресурсах Satellite:
- Системная информация — список зарегистрированных систем.
- Полномочия — список организаций Satellite, отсортированных по системам и полномочиям.
- Исправления — список исправлений для зарегистрированных систем, упорядоченных по приоритету.
- Пользователи — список зарегистрированных пользователей и их систем.
- Системные события — список всех или выборочных событий.
Следующая команда позволяет создать отчет в формате CSV:
# spacewalk-report report_name
Типы отчетов перечислены в таблице.
Таблица 10.2. Отчеты spacewalk-report
Отчет | Параметр | Описание |
---|---|---|
Системная информация | inventory | Список зарегистрированных на сервере систем, их программные и аппаратные характеристики. |
Полномочия | entitlements | Список организаций Satellite, их полномочия систем и каналов. |
Исправления в каналах | errata-channels | Список исправлений в каналах |
Все исправления | errata-list-all | Полный список исправлений. |
Исправления для систем | errata-systems | Список исправлений и систем, к которым они применимы. |
Пользователи | users | Список зарегистрированных на Satellite пользователей. |
Системы | users-systems | Системы под управлением конкретных пользователей. |
Дерево кикстарта | kickstartable-trees | Список кикстарт-структур. |
События системы | system-history | Список системных событий. |
Каналы событий системы | system-history-channels | Список системных событий. |
Настройка системных событий. | system-history-configuration | Журнал событий конфигурации системы. |
Полномочия системных событий | system-history-entitlements | Журнал событий настройки полномочий |
Журнал исправлений | system-history-errata | Журнал исправлений |
Журнал кикстарта | system-history-kickstart | Журнал событий кикстарта и инициализации системы. |
Журнал пакетов | system-history-packages | Журнал событий пакетов. |
Подробную информацию об интересующем отчете можно получить, выполнив
spacewalk-report
с аргументом --info
или --list-fields-info
с последующим именем отчета. В результате будет получен список полей и их описание.
За дальнейшей информацией обратитесь к справочной странице
spacewalk-report(8)
или выполните команду с параметром --help
.
Вопрос:
Как определить версию схемы базы данных?
Ответ:
Выполните команду
# rhn-schema-version
Вопрос:
Как определить доступные типы кодировки?
Ответ:
Определение кодировки базы данных RHN Satellite:
# rhn-charsets
Вопрос:
Почему администратор не получает почту?
Ответ:
Если администратор не получает почту с Red Hat Network Satellite, проверьте адреса
traceback_mail
в файле /etc/rhn/rhn.conf
.
Вопрос:
Как изменить адрес отправителя в сообщениях отладки?
Ответ:
Для изменения адреса dev-null@rhn.redhat.com, используемого по умолчанию для отправки отладочной информации, служит параметр
web.default_mail_from
в файле /etc/rhn/rhn.conf
.
10.5. Ошибки
Вопрос:
Что делать в случае ошибки проверки сертификата Satellite в процессе установки?
Ответ:
Ошибка при проверке сертификата в процессе установки Red Hat Network может быть вызвана прокси-сервером HTTP. Проверить это можно в
install.log
:
ERROR: unhandled exception occurred: Traceback (most recent call last): File "/usr/bin/rhn-satellite-activate", line 45, in ? sys.exit(abs(mod.main() or 0)) File "/usr/share/rhn/satellite_tools/rhn_satellite_activate.py", line 585, in main activateSatellite_remote(options) File "/usr/share/rhn/satellite_tools/rhn_satellite_activate.py", line 291, in activateSatellite_remote ret = s.satellite.deactivate_satellite(systemid, rhn_cert) File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 603, in __call__ return self._send(self._name, args) File "/usr/lib/python2.4/site-packages/rhn/rpclib.py", line 326, in _request self._handler, request, verbose=self._verbose) File "/usr/lib/python2.4/site-packages/rhn/transports.py", line 171, in request headers, fd = req.send_http(host, handler) File "/usr/lib/python2.4/site-packages/rhn/transports.py", line 698, in send_http self._connection.connect() File "/usr/lib/python2.4/site-packages/rhn/connections.py", line 193, in connect sock.connect((self.host, self.port)) File "<string>", line 1, in connect socket.timeout: timed out
Чтобы это исправить, выполните следующее:
- Запустите сценарий установки в автономном режиме без установки базы данных:
# ./install.pl --disconnected --skip-db-install
- В
/etc/rhn/rhn.conf
добавьтеserver.satellite.rhn_parent = satellite.rhn.redhat.com
Удалите выражениеdisconnected=1
Если подключение к Red Hat Network осуществляется через прокси-сервер, потребуется откорректировать настройки прокси.server.satellite.http_proxy = <hostname>:<порт> server.satellite.http_proxy_username = <пользователь> server.satellite.http_proxy_password = <пароль>
- Повторно включите Satellite, выполнив в режиме root:
# rhn-satellite-activate --rhn-cert=/путь/к/file.cert
В качестве альтернативы можно запустить сценарий
install.pl
с параметром --answer-file=файл
. Указанный файл должен содержать следующие сведения для доступа к прокси:
rhn-http-proxy = <узел>:<порт> rhn-http-proxy-username = <пользователь> rhn-http-proxy-password = <пароль>
Вопрос:
Что означает ошибка "ERROR: server.mount_point not set in the configuration file" при активации или синхронизации Satellite?
Ответ:
Ошибка "ERROR: server.mount_point not set in the configuration file" может означать, что параметр
mount_point
в /etc/rhn/rhn.conf
содержит неверный путь или недостаточно прав для доступа к каталогу.
Проверьте значение
mount_point
в /etc/rhn/rhn.conf
. Если оно содержит путь /var/satellite
, убедитесь, что этот каталог и /var/satellite/redhat
действительно существуют.
Вопрос:
Почему «
cobbler check
» требует другую версию yum-utils
?
Ответ:
Иногда при выполнении
cobbler check
может появиться сообщение:
# cobbler check The following potential problems were detected: #0: yum-utils need to be at least version 1.1.17 for reposync -l, current version is 1.1.16
Об этой ошибке в пакете
reposync
известно, и ее можно просто проигнорировать. Она будет исправлена в будущих выпусках Red Hat Network Satellite.
Вопрос:
Почему при активации сертификата появляется сообщение о том, что текущая версия не поддерживается?
Ответ:
Если сертификат Red Hat Network Satellite поврежден, могут появиться следующие ошибки:
ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 96'>
RHN_PARENT: satellite.rhn.redhat.com Error reported from RHN: <Fault -2: 'unhandled internal exception: unsupported version: 115'> ERROR: unhandled XMLRPC fault upon remote activation: <Fault -2: 'unhandled internal exception: unsupported version: 115'> ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 115'>
Invalid satellite certificate
За новым сертификатом обратитесь в службу поддержки Red Hat.
Вопрос:
Что означает ошибка ASCII при редактировании профиля кикстарта?
Ответ:
Если в профиль кикстарта были добавлены новые параметры ядра, при попытке просмотра списка профилей может появиться ошибка:
'ascii' codec can't encode character u'\u2013'
Вероятно, текст в профиле не может быть распознан.
Чтобы это исправить, выполните следующее:
- Откройте ssh-соединение с Satellite:
# ssh root@satellite.fqdn.com
- Найдите профиль, вызывающий ошибку, — это последний измененный файл в каталоге
/var/lib/cobbler/config/profiles.d
.# ls -l /var/lib/cobbler/config/profiles.d/
- Откройте его в текстовом редакторе и найдите строку
\u2013hostname
Измените ее:--hostname
- Сохраните файл.
- Чтобы изменения вступили в силу, перезапустите службы:
# rhn-satellite restart Shutting down rhn-satellite... Stopping RHN Taskomatic... Stopped RHN Taskomatic. Stopping cobbler daemon: [ OK ] Stopping rhn-search... Stopped rhn-search. Stopping MonitoringScout ... [ OK ] Stopping Monitoring ... [ OK ] Stopping httpd: [ OK ] Stopping tomcat5: [ OK ] Shutting down osa-dispatcher: [ OK ] Shutting down Oracle Net Listener ... [ OK ] Shutting down Oracle DB instance "rhnsat" ... [ OK ] Shutting down Jabber router: [ OK ] Done. Starting rhn-satellite... Starting Jabber services [ OK ] Starting Oracle Net Listener ... [ OK ] Starting Oracle DB instance "rhnsat" ... [ OK ] Starting osa-dispatcher: [ OK ] Starting tomcat5: [ OK ] Starting httpd: [ OK ] Starting Monitoring ... [ OK ] Starting MonitoringScout ... [ OK ] Starting rhn-search... Starting cobbler daemon: [ OK ] Starting RHN Taskomatic... Done.
- Теперь можно вернуться к веб-интерфейсу.
Вопрос:
Ошибки «Узел не найден» или «не удалось определить FQDN». Что делать?
Ответ:
Так как файлы конфигурации Red Hat Network принимают только полностью квалифицированные имена доменов (FQDN, Fully Qualified Domain Name), необходимо, чтобы ключевые приложения могли преобразовать имя RHN Satellite в IP-адрес. Это особенно важно для агента обновлений Red Hat, клиента регистрации Red Hat Network и Apache, так как в противном случае при попытке запуска приложения будут сообщать о том, что узел не найден, а веб-сервер — о том, что имя домена определить не удалось.
Обычно причина скрывается в файле
/etc/hosts
. Проверьте /etc/nsswitch.conf
(где определены методы и порядок преобразования имен). /etc/hosts
проверяется первым, затем NIS (Network Information Service) и DNS. Для корректного запуска Apache и нормальной работы приложений Red Hat Network необходимо, чтобы одна из этих проверок завершилась успешно.
Найдите в файле
/etc/hosts
следующий текст:
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
Удалите ненужную информацию:
127.0.0.1 localhost.localdomain.com localhost
Сохраните файл и попробуйте перезапустить приложения клиентов Red Hat Network и Apache. В случае неудачи измените IP-адреса:
127.0.0.1 localhost.localdomain.com localhost
123.45.67.8 this_machine.example.com this_machine
Если используется фиксированный IP-адрес, при изменении адреса компьютера его надо будет исправить в файле.
Вопрос:
Почему при синхронизации Satellite появляется сообщение "This server is not an entitled Satellite"?
Ответ:
Если при выполнении
satellite-sync
появляется сообщение о том, что сервер не может выполнять функции Red Hat Network Satellite, это значит, что он не подписан на соответствующий канал Red Hat Network Satellite. Возможно, требуется активация сертификата.
Проверьте дочерние каналы системы и убедитесь, что она подписана на канал Red Hat Network Satellite.
# yum repolist
Выполните активацию сертификата Satellite (в режиме root):
# rhn-satellite-activate -vvv --rhn-cert=/путь/к/сертификату
Примечание
Если вы не уверены, как решить ту или иную проблему, можно обратиться в службу поддержки Red Hat Network. Отправьте информацию о параметрах конфигурации Satellite, базе данных и файлы журналов.
Для сбора информации и создания архива *.tar используется
satellite-debug
(в режиме root). Пример вывода:
# satellite-debug Collecting and packaging relevant diagnostic information. Warning: this may take some time... * copying configuration information * copying logs * querying RPM database (versioning of RHN Satellite, etc.) * querying schema version and database character sets * get diskspace available * timestamping * creating tarball (may take some time): /tmp/satellite-debug.tar.bz2 * removing temporary debug tree Debug dump created, stored in /tmp/satellite-debug.tar.bz2 Deliver the generated tarball to your RHN contact or support channel.
Созданный файл будет сохранен в
/tmp/
. Отправьте его представителю Red Hat для дальнейшего анализа.