第 5 章 故障排除
本章提供了判断和解决与 Red Hat Satellite 相关的常见问题的方法。如果您需要额外的帮助,请通过 https://access.redhat.com/support/ 联络红帽支持。您还可通过您的 Satellite 授权帐户登录查看完整选项列表。
要开始进行一般问题的故障排除,您需要查看日志文件或者与出现问题组件相关的文件。我们的经验是使用
tail -f
命令查看所有的日志文件,然后运行 yum list
。这样,您就可以检查所有新的日志条目以获得线索。
- 5.1. 磁盘空间
- 5.2. 安装和更新
- 5.3. 服务
- 5.4. 连接性
- 5.5. 日志和报告
- 5.6. 出错信息
- 问: 我在安装 Red Hat Satellite 时得到 "Error validating satellite certificate" 出错信息,该如何解决?
- 问: 在激活或者与 Red Hat Satellite 同步时得到 "ERROR: server.mount_point not set in the configuration file" 出错信息,如何解决?
- 问: 为什么 cobbler check 给出出错信息说它需要 yum-utils 的不同版本?
- 问: 激活 Red Hat Satellite 证书时得到 "unsupported version" 出错信息,如何解决?
- 问: 编辑 kickstart 侧写时得到 "Internal Server Error" 信息说有 ASCII 问题,这是为什么?
- 问: 得到 "Host Not Found" 或者 "Could Not Determine FQDN" 出错信息,该怎么办?
- 问: 在与 Red Hat Satellite 服务器同步时得到 "This server is not an entitled Satellite" 信息,如何解决?
- 5.7. Web 界面
- 5.8. Anaconda
- 5.9. 回溯(Tracback)
- 5.10. 注册
- 5.11. Kickstart 和片断
- 5.12. 监控
- 5.13. 多机构 Satellite 以及 Satellite 证书
- 5.14. Proxy 安装和配置
- 问: 配置 Red Hat Network Package Manager 后如何确定已将本地软件包成功添加到专用红帽网络频道?
- 问: 如何才能知道客户端系统是否正在与 Squid 服务器连接?
- 问: 客户端系统中的 Red Hat Update Agent 没有通过 Red Hat Satellite Proxy 服务器进行连接。应该如何解决这个错误?
- 问: 我的 Red Hat Satellite Proxy 服务器配置无法正常工作。应从哪里着手开始进行故障排除?
- 问: 如何解决 Red Hat Satellite Proxy 中的常规问题?
- 问: 我的 Red Hat Satellite Proxy 发生 "Host Not Found"/"Could not Determine FQDN" 错误。我该怎么办?
- 问: 出现 Red Hat Satellite Proxy 和网络连接错误。我该怎么办?
- 问: 出现软件包发布错误和对象崩溃信息。我该检查什么内容?
5.1. 磁盘空间 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
我的磁盘空间很快就满了。是什么原因?我该怎么办?
答:
一个常见的问题是磁盘空间满。如果您发现日志文件突然不再写入时,比如写道一半就停止,可能意味磁盘空间已满。要确认这一点,运行这个命令并检查 Use% 栏中的数据:
df -h
# df -h
除了可以从日志文件中获得信息,您还可以通过检索 Red Hat Satellite 及其组件状态获得有用的信息,请使用以下命令:
/usr/sbin/rhn-satellite status
# /usr/sbin/rhn-satellite status
另外,您还可以获得 Apache 网页服务器和 Red Hat Network Task Engine 等其他组件的状态。例如,要查看 Apache 网页服务器的状态,请运行以下命令:
service httpd status
# service httpd status
5.2. 安装和更新 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
尝试安装时 SELinux 不断给出信息。为什么?
答:
如果您安装 Red Hat Satellite 时遇到问题,并出现 SELinux 信息(比如 AVC 拒绝信息),请确定
audit.log
可用,以便红帽支持人员可为您提供支持。您可在 /var/log/audit/audit.log
中找到该文件,并将其附加到您的支持 ticket 中以便工程师为您提供帮助。
问:
我将
/var/satellite
改为 NFS 挂载,现在 SELinux 无法正常工作。我该做什么?
答:
为让 SELinux 允许那个流量,就需要根据新的 NFS 挂载修改 SELinux 参数。方法是使用以下命令:
/usr/sbin/setsebool -P spacewalk_nfs_mountpoint on
# /usr/sbin/setsebool -P spacewalk_nfs_mountpoint on
如果您使用的是红帽企业版 Linux 6,您还需要运行命令:
/usr/sbin/setsebool -P cobbler_use_nfs on
# /usr/sbin/setsebool -P cobbler_use_nfs on
问:
我的 Satellite 失败,这是为什么?
答:
不要在红帽网络中央服务器的以下子频道中订阅您的 Red Hat Satellite:
- 红帽开发者套件(Red Hat Developer Suite)
- 红帽应用程序服务器(Red Hat Application Server)
- 红帽附加组件(Red Hat Extras)
- JBoss 产品频道
订阅这些频道并更新 Satellite 可能会安装关键软件组件较新且不兼容的版本,从而导致 Satellite 失败。
5.3. 服务 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
为什么 Apache 网页服务器不运行?
答:
如果 Apache 网页服务器没有运行,您的
/etc/hosts
文件中的条目可能有误。
问:
怎样获得 Red Hat Network Task Engine 状态?
答:
要获得 Red Hat Network Task Engine 的状态,请运行命令:
service taskomatic status
# service taskomatic status
问:
怎样获得 Satellite 内嵌数据库的状态?
答:
要获得 Satellite 内嵌数据库的状态,请运行命令:
db-control status
# db-control status
问:
如果 Red Hat Satellite 的 pugh 功能不工作我该怎么办?
答:
如果 Red Hat Satellite 的 push 功能失去作用,这可能是因为旧的日志文件出了问题。删除这些文件前,请停止 jabberd 守护进程。要做到这一点,请以 root 用户的身份使用以下命令:
service jabberd stop rm -f /var/lib/jabberd/db/_db* service jabberd start
# service jabberd stop
# rm -f /var/lib/jabberd/db/_db*
# service jabberd start
5.4. 连接性 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
无法连接!怎样才能知道哪里出问题了?
答:
可使用以下方法排除一般连接错误:
- 在命令行中尝试使用
/etc/rhn/rhn.conf
中的正确连接字符串与 Red Hat Satellite 数据库连接:sqlplus username/password@sid
# sqlplus username/password@sid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 确定 Red Hat Satellite 正在使用网络时间协议(NTP),并设置为正确的时区。这适用于所有的客户端系统以及在使用独立数据库的 Red Hat Satellite 机器。
- 确认正确的软件包:
rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm
rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Satellite 中安装,并在所有客户端系统中安装相应的rhn-org-trusted-ssl-cert-*.noarch.rpm
或原 CA SSL 公共(客户端)证书。 - 确认将客户端系统配置为使用恰当的证书。
- 如果还使用一个或多个 Red Hat Satellite Proxy 服务器,确定每个 Proxy 的 SSL 证书都是正确的。Proxy 应该有它们自己的服务器 SSL 密钥对并安装了 CA SSL 公共(客户)。具体步骤请参阅《Red Hat Satellite 客户端配置指南》中的 SSL 证书一章。
- 请确认客户端系统自身没有使用防火墙,没有阻塞所需端口,如《Red Hat Satellite 安装指南》 中《附加条件》一节所述。
问:
如果导入或者同步频道失败,怎样才可恢复?
答:
如果导入/同步频道失败并且您不能用其它的方式解决它,运行这个命令来删除缓存中的内容:
rm -rf temporary-directory
# rm -rf temporary-directory
注意
《准备从本地介质中导入》的《Red Hat Satellite 安装指南》一节将
/var/rhn-sat-import/
指定为临时目录。
接下来,重新启动导入或同步。
问:
得到 "SSL_CONNECT" 出错信息,该怎么做?
答:
常见的连接问题是出现
SSL_CONNECT
错误,它是由于在没有正确设定时间的机器中安装 Satellite 造成的。在 Satellite 的安装过程中,创建的 SSL 证书中有一个不准确的时间。如果修正了这个 Satellite 时间,这个证书的开始日期和时间就有可能是一个未来的时间,从而使它无效。
要排除这个故障,请在客户端系统和 Satellite 中使用以下命令检查日期/时间:
date
# date
所有机器的结果都会几乎完全相同并包括在这个证书的 "notBefore" 和 "notAfter" 的有效窗口中。使用以下的命令检查客户证书的日期和时间:
openssl x509 -dates -noout -in /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT
# 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
# openssl x509 -dates -noout -in /etc/httpd/conf/ssl.crt/server.crt
在默认的情况下,服务器证书的有效期是一年,而客户端证书的有效期是十年。如果您发现证书不正确,您可以等到有效的开始时间或重新创建新的证书。首选将所有系统的时间都设为 GMT。
5.5. 日志和报告 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
不同的日志文件是什么?
答:
几乎每个故障排除的步骤都是从查看相关的日志文件开始。它们提供了有关在设备或者应用程序中进行的活动,包含非常有价值的信息,这样可监控性能并确保正确的配置。所有相关日志文件的路径请参考 表 5.1 “日志文件”:
/var/log/rhn/
目录中有很多按数字排列的日志文件(比如 /var/log/rhn/rhn_satellite_install.log.1、/var/log/rhn/rhn_satellite_install.log.2 等等)。这些轮转的日志是在当前 rhn_satellite_install.log
文件已满时使用 .<NUMBER> 扩展生成的日志文件,文件大小由 logrotate(8)
守护进程指定,内容写入轮转的日志文件。例如:rhn_satellite_install.log.1
包含最旧的轮转日志文件,rhn_satellite_install.log.4
包含最新的循轮转日志。
组件/任务 | 日志文件位置 |
---|---|
Apache Web 服务器 | /var/log/httpd/ 目录 |
Red Hat Satellite | /var/log/rhn/ 目录 |
Red Hat Satellite Installation Program | /var/log/rhn/rhn_satellite_install.log |
数据库安装 - 内嵌数据库 | /var/log/rhn/install_db.log |
数据库填入 | /var/log/rhn/populate_db.log |
Red Hat Satellite Synchronization Tool | /var/log/rhn/rhn_server_satellite.log |
监控基础设施 | /var/log/nocpulse/ 目录 |
监控通知 | /var/log/notification/ 目录 |
Red Hat Network DB Control - 内嵌数据库 | /var/log/rhn/rhn_database.log |
Red Hat Network Task Engine (taskomatic) | /var/log/messages |
yum | /var/log/yum.log |
XML-RPC 交易 | /var/log/rhn/rhn_server_xmlrpc.log |
问:
如何使用
spacewalk-report
?
答:
在有些事务中管理员需要一个简明、格式化的 Red Hat Satellite 资源总结;它是否使用其授权库存;订阅系统或者用户及机构。与其手动从 Satellite 网页界面中收集这些信息,Red Hat Satellite 中有一个
spacewalk-report
命令可一次收集并显示重要的 Satellite 信息。
注意
要使用
spacewalk-report
,您必须安装 spacewalk-reports
软件包
spacewalk-report
可让管理员管理并显示有关 Satellite 中内容、系统事件历史记录、系统和用户资源的报告。使用 spacewalk-report
命令您可以得到有关以下内容的报告:
- 系统清单 - 列出所有在 Satellite 中注册的系统。
- 授权 - 列出 Satellite 中的所有机构,并根据系统或者频道授权排序。
- 勘误 - 列出与注册的系统关联的勘误,并根据严重性以及应用具体勘误的系统对勘误排序。
- 用户 - 列出在 Satellite 中注册的所有用户并列出与具体用户关联的任意系统。
- 系统历史记录 - 列出所有发生的系统事件或者子集。
要获得 CSV 格式的报告,请在您的 Satellite 服务器的命令行提示符后运行该命令。
spacewalk-report report_name
# spacewalk-report report_name
以下报告可用:
报告 | 调用 | 描述 |
---|---|---|
系统清单 | inventory | 列出在服务器中注册的系统以及硬件和软件信息 |
授权 | entitlements | 列出 Satellite 中的所有机构及其系统或者频道授权 |
频道中的勘误 | errata-channels | 列出频道中的勘误 |
所有勘误 | errata-list-all | 所有勘误的完整列表 |
系统勘误 | errata-systems | 列出可用勘误以及受影响的系统 |
系统中的用户 | users | 列出所有在 Satellite 中注册的用户 |
管理的系统 | users-systems | 列出可由单个用户管理的系统列表 |
Kickstart 树 | kickstartable-trees | 列出可 kickstart 的树 |
系统历史记录 | system-history | 列出系统事件历史记录 |
系统历史记录频道 | system-history-channels | 列出系统事件历史记录 |
系统历史记录配置 | system-history-configuration | 列出系统配置事件历史记录 |
系统历史记录授权 | system-history-entitlements | 列出系统授权事件历史记录 |
系统历史记录勘误 | system-history-errata | 列出系统勘误事件历史记录 |
系统历史记录 kickstart | system-history-kickstart | 列出系统 kickstart 及 provisioning 事件历史记录 |
系统历史记录软件包 | system-history-packages | 列出系统软件包事件历史记录 |
有关独立报告的详情请运行使用
--info
或者 --list-fields-info
和报告名称的 spacewalk-report
命令。这样会在报告中显示可能字段的描述和列表。
有关详情请参考
spacewalk-report(8)
manpage 和 spacewalk-report
程序的 --help
参数,其中包括该程序调用及其选项的附加信息。
问:
怎样才能找到我使用的数据库方案版本是什么?
答:
要决定您的数据库机构方案版本,请运行以下命令:
rhn-schema-version
# rhn-schema-version
问:
怎样才能知道我使用的字符集类型是什么?
答:
要获得您的 Satellite 数据库字符集的类型,运行以下命令:
rhn-charsets
# rhn-charsets
问:
为什么管理员无法收到电子邮件?
答:
如果管理员不能从 Red Hat Satellite 获得电子邮件,请确定在
/etc/rhn/rhn.conf
文件中正确地配置了 traceback_mail
。
问:
如何更改 traceback 邮件的发件人?
答:
如果这个回溯邮件是从 dev-null@rhn.redhat.com 发出的,您应该使这个地址成为一个在您的机构内有效的地址,包括
web.default_mail_from
选项并在 /etc/rhn/rhn.conf
中包括适当的值。
5.6. 出错信息 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
我在安装 Red Hat Satellite 时得到 "Error validating satellite certificate" 出错信息,该如何解决?
答:
在 Red Hat Satellite 安装过程中的 "Error validating satellite certificate" 出错信息是由于环境中有 HTTP 代理服务器所致。您可查看
install.log
确定,并找到以下出错信息:
要解决问题:
- 请使用断开连接模式运行安装脚本,并跳过已经完成的数据库安装:
./install.pl --disconnected --skip-db-install
# ./install.pl --disconnected --skip-db-install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用您喜欢的文本编辑器打开
/etc/rhn/rhn.conf
,并添加或者修改以下行:server.satellite.rhn_parent = satellite.rhn.redhat.com
server.satellite.rhn_parent = satellite.rhn.redhat.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除以下行:disconnected=1
disconnected=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您使用代理服务器连接到红帽网络,那么您还将需要添加或者以下行以体现该代理服务器设置。server.satellite.http_proxy = <hostname>:<port> server.satellite.http_proxy_username = <username> server.satellite.http_proxy_password = <password>
server.satellite.http_proxy = <hostname>:<port> server.satellite.http_proxy_username = <username> server.satellite.http_proxy_password = <password>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在连接的模式中重新激活 Satellite,作为 root 用户使用
rhn-satellite-activate
命令,其中包含 satellite 证书的路径和文件名:rhn-satellite-activate --rhn-cert=/path/to/file.cert
# rhn-satellite-activate --rhn-cert=/path/to/file.cert
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
另外,还可在连接的模式运行
install.pl
脚本,但要使用 --answer-file=answer file
选项。确定该 answer file 中包含指定的 HTTP 代理服务器信息,如下所示:
rhn-http-proxy = <hostname>:<port> rhn-http-proxy-username = <username> rhn-http-proxy-password = <password>
rhn-http-proxy = <hostname>:<port>
rhn-http-proxy-username = <username>
rhn-http-proxy-password = <password>
问:
在激活或者与 Red Hat Satellite 同步时得到 "ERROR: server.mount_point not set in the configuration file" 出错信息,如何解决?
答:
如果
/etc/rhn/rhn.conf
文件的 mount_point
配置参数没有指向目录路径,或者它指向的目录路径不存在或者无权访问该目录,则会在 Red Hat Satellite 激活或者同步的过程中出现 "ERROR: server.mount_point not set in the configuration file" 出错信息。
要解决这个问题,请检查
/etc/rhn/rhn.conf
文件中的 mount_point
配置参数值,确定有 /var/satellite
和 /var/satellite/redhat
目录。对所有值,检查到该文件的路径正确,并正确设定了权限。
问:
为什么
cobbler check
给出出错信息说它需要 yum-utils
的不同版本?
答:
有时运行
cobbler check
命令会给出类似如下的出错信息:
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
这是个已知 Cobbler
reposync
软件包问题。这个出错信息是伪信息,可忽略。会在 Red Hat Satellite 以后的版本中解决这个出错信息问题。
问:
激活 Red Hat Satellite 证书时得到 "unsupported version" 出错信息,如何解决?
答:
如果您的 Red Hat Satellite 证书被破坏,您会得到以下出错信息之一:
ERROR: <Fault -2: 'unhandled internal exception: unsupported version: 96'>
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'>
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
Invalid satellite certificate
要解决这个问题,请联络红帽支持服务获得新证书。
问:
编辑 kickstart 侧写时得到 "Internal Server Error" 信息说有 ASCII 问题,这是为什么?
答:
如果您最近在您的 kickstart 侧写中添加了一些内核参数,您可能会发现当您要「查看 kickstart 侧写列表」时会得到以下内部服务器出错信息:
'ascii' codec can't encode character u'\u2013'
'ascii' codec can't encode character u'\u2013'
出现这个出错信息是因为无法正确识别该侧写中的一些文本。
要解决问题:
- 作为 root 用户直接 ssh 到 Satellite 服务器:
ssh root@satellite.fqdn.com
# ssh root@satellite.fqdn.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 查看
/var/lib/cobbler/config/profiles.d
中的数据并找到最新编辑的文件,这样可找到造成这个问题的 kickstart 文件:ls -l /var/lib/cobbler/config/profiles.d/
# ls -l /var/lib/cobbler/config/profiles.d/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用您喜欢的文本编辑器打开该侧写,并找到以下文本:
\u2013hostname
\u2013hostname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更改要读取的条目:--hostname
--hostname
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存对该侧写的更改并关闭文件。
- 重启 Red Hat Satellite 服务应用更新的侧写:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 返回网页界面。请注意该界面需要一些时间方可解析该服务,但应恢复正常状态。
问:
得到 "Host Not Found" 或者 "Could Not Determine FQDN" 出错信息,该怎么办?
答:
因为红帽网络配置文件只依赖完全限定域名(FQDN), 这在主要程序将 Red Hat Satellite 名称解析为 IP 地址时至关重要。Red Hat Update Agent、Red Hat Network Registration Client 和 Apache 网页服务器特别容易出现这个问题,出问题时,红帽网络程序会给出 "host not found" 出错信息,且网页服务器会在启动失败时给出 "Could not determine the server's fully qualified domain name" 信息。
这个问题通常是由
/etc/hosts
文件造成的。您应该检查 /etc/nsswitch.conf
文件,这个文件定义了域名的解析和顺序。通常情况下,应首先检查 /etc/hosts
文件,然后是网络信息服务(NIS),然后是 DNS。必须成功使用以上方法之一方可要让 Apache 网页服务器启动,且红帽网络客户应用程序可以正常工作。
要解决这个问题,检查
/etc/hosts
文件的内容,它应该与以下内容相似:
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
首先,在一个文本编辑器中删除错误的机器信息,如:
127.0.0.1 localhost.localdomain.com localhost
127.0.0.1 localhost.localdomain.com localhost
然后,保存这个文件并重新运行红帽网络客户应用程序或 Apache 网页服务器。如果它们还无法正常运行,在文件中明确指定 Satellite 的 IP 地址,如:
127.0.0.1 localhost.localdomain.com localhost 123.45.67.8 this_machine.example.com this_machine
127.0.0.1 localhost.localdomain.com localhost
123.45.67.8 this_machine.example.com this_machine
使用实际的 Satellite IP 地址来替换这里的值。这么做可能会解决这个问题。请注意,如果规定了具体的 IP 地址,则在机器获得新地址时要更新这个文件。
问:
在与 Red Hat Satellite 服务器同步时得到 "This server is not an entitled Satellite" 信息,如何解决?
答:
如果
satellite-sync
报告该服务器没有激活为 Red Hat Satellite,就不会在对应的 Red Hat Satellite 频道中订阅它。如果这是一个新安装的系统,请确定在该系统中激活这个 satellite 证书。如果之前激活了该证书,那么它已被取消激活。
检查系统的子频道查看它是否订阅到任意红帽网络的 Red Hat Satellite 频道。使用以下命令查看订阅的频道:
yum repolist
# yum repolist
作为 root 用户使用这个命令在您的 Satellite 中再次激活同一 Satellite 证书:
rhn-satellite-activate -vvv --rhn-cert=/path/to/certificate
# rhn-satellite-activate -vvv --rhn-cert=/path/to/certificate
5.7. Web 界面 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
我无法使用 Red Hat Satellite 用户界面。应该检查哪个日志文件?
答:
如果您无法在 Red Hat Satellite 用户界面中查看、调度或者使用 kickstart,请查看
/var/log/tomcat6/catalina.out
日志文件。
有关其它所有用户界面错误,请查看
/var/log/httpd/error_log
日志文件。
5.8. Anaconda 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
我得到
Error downloading kickstart file
出错信息。出了什么问题,如何修复?
答:
这个出错信息一般是因为网络问题。要确定哪里出了问题,请运行
cobbler check
命令,并查看输出结果,您应该看到类似如下信息:
如果
cobbler check
没有提供任何回答,请检查:
- 确定
httpd
正在运行:service httpd status
- 确定
cobblerd
正在运行:service cobblerd status
- 确定您可在不同主机中使用
wget
提取上述文件:wget http://satellite.example.com/cblr/svc/op/ks/profile/rhel5-i386-u3:1:Example-Org
wget http://satellite.example.com/cblr/svc/op/ks/profile/rhel5-i386-u3:1:Example-Org
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
问:
我得到软件包安装出错信息:
The file chkconfig-1.3.30.1-2.i386.rpm cannot be opened
。是什么问题,该如何修复?
答:
客户端将根据 kickstart 中的
--url
参数从 Red Hat Satellite 中提取内容。例如:
url --url http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
url --url http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3
如果您看到出错信息指出 Anaconda 无法找到映像或者软件包,检查该 kickstart 中的 URL 会生成
200 OK
响应。您可以尝试使用 wget
在那个 URL 定位该文件:
如果您得到
200 OK
之外的响应,请检查出错日志发现问题所在。您还可以通过搜索 access_log
文件检查 Anaconda 具体尝试下载的文件:
如果那些请求没有出现在
access_log
文件中,则该系统就应该有联网设置问题。如果该请求没有出现但生成出错信息,请检查出错日志。
您还可以手动下载这些文件看该软件包是否可用:
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm
wget http://satellite.example.com/ks/dist/ks-rhel-i386-server-5-u3/Server/chkconfig-1.3.30.1-2.i386.rpm
5.9. 回溯(Tracback) 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
我收到标题为 "WEB TRACEBACK" 的电子邮件。我该怎么办?
答:
典型的回溯电子邮件应类似:
这表明 Cobbler 在与
taskomatic
服务沟通时有问题。尝试检查如下内容:
- 确定
httpd
正在运行:# service httpd status
- 确定
cobblerd
正在运行:# service cobblerd status
- 确定没有阻止
localhost
连接的防火墙规则
5.10. 注册 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
我运行
rhnreg_ks
命令时失败,显示 ERROR: unable to read system id
。这是什么问题?
答:
在 kickstart 结尾有一个
%post
部分,这部分可在 Red Hat Satellite 中注册该机器:
按添加的顺序进行解读,即:
- 创建一个目录,并在其中保存用于 Red Hat Satellite 的自定义 SSL 证书。
- 提取要在注册过程中使用的 SSL 证书。
- 搜索并替换
rhn-register
中的 SSL 证书字符串;然后使用该 SSL 证书和激活码在 Red Hat Satellite 注册。每个 kickstart 侧写都有一个激活码,它可保证将该系统分配给正确的基本频道和子频道,并获得正确的系统授权。如果要重新指配现有系统,该激活码还将保证它与之前的系统侧写关联。
如果
rhnreg_ks
命令失败,您会在 ks-post.log
日志文件中看到出错信息:
ERROR: unable to read system id.
ERROR: unable to read system id.
如果您执行
rhn_check
且该系统还没有在 Red Hat Satellite 中注册也会出现这些出错信息。
解决这个问题最好的方法是在完成 kickstart 后查看 kickstart 文件,并在命令提示符后复制-粘贴上面的四步。这可生成可用的出错信息帮助您找出问题。
5.11. Kickstart 和片断 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
Kickstart 的目录结构是什么?
答:
保存 kickstart 文件的基本路径为
/var/lib/rhn/kickstarts/
。在这个目录中,原始 kickstart 位于 upload
子目录中,而使用向导创建的文件保存在 wizard
子目录中:
Raw Kickstarts: /var/lib/rhn/kickstarts/upload/$profile_name--$org_id.cfg Wizard Kickstarts: /var/lib/rhn/kickstarts/wizard/$profile_name--$org_id.cfg
Raw Kickstarts: /var/lib/rhn/kickstarts/upload/$profile_name--$org_id.cfg
Wizard Kickstarts: /var/lib/rhn/kickstarts/wizard/$profile_name--$org_id.cfg
问:
Cobbler 片断的目录结构是什么?
答:
Cobbler 片断保存在
/var/lib/rhn/kickstarts/snippets
。Cobbler 使用符号链接 /var/lib/cobbler/snippets/spacewalk
访问片断。
Snippets: /var/lib/rhn/kickstarts/snippets/$org_id/$snippet_name
Snippets: /var/lib/rhn/kickstarts/snippets/$org_id/$snippet_name
重要
Red Hat Satellite RPM 需要 Cobbler kickstart 和片断目录保存在其默认位置,不要更改。
5.12. 监控 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
是否有可以帮助确定监控错误的诊断工具?
答:
虽然所有与监控相关的动作都是通过 Satellite 界面执行的,红帽还提供了一些命令行诊断工具来帮助您找出产生错误的原因。要使用这些工具,您必须成为在 Satellite 中执行监控的
nocpulse
用户。
首先请作为 root 用户登录到 Satellite。然后使用以下命令切换到
nocpulse
用户:
su - nocpulse
su - nocpulse
为了全面诊断探测错误,首先您必须要获得它的探测 ID。您可以作为
nocpulse
用户在 Red Hat Satellite 服务器中运行 rhn-catalog
获得这个信息。它的输出结果类似于:
2 ServiceProbe on example1.redhat.com (199.168.36.245): test 2 3 ServiceProbe on example2.redhat.com (199.168.36.173): rhel2.1 test 4 ServiceProbe on example3.redhat.com (199.168.36.174): SSH 5 ServiceProbe on example4.redhat.com (199.168.36.175): HTTP
2 ServiceProbe on example1.redhat.com (199.168.36.245): test 2
3 ServiceProbe on example2.redhat.com (199.168.36.173): rhel2.1 test
4 ServiceProbe on example3.redhat.com (199.168.36.174): SSH
5 ServiceProbe on example4.redhat.com (199.168.36.175): HTTP
每行的第一个数字是探测 ID,最后一项是探测名称(在 Satelllite 界面中输入的)。在以上示例中,探测 ID 5 与名为 HTTP 的探测对应。
另外,您可以在
rhn-catalog
中使用这个探测的 ID 以及 --commandline
(-c
)和 --dump
(-d
)选项获得这个探测的附加信息,如:
rhn-catalog --commandline --dump 5
rhn-catalog --commandline --dump 5
--commandline
为探测产生命令参数,而 --dump
则接收其他的所有信息,包括改变阈和通知间隔及方法。
以上命令的输出结果应类似:
现在您有了 ID,使用它和
rhn-rhnprobe
来检查这个探测的输出。
问:
如何解读
rhn-runprobe
的输出?
答:
现在,您已经使用
rhn-catalog
获得了探测 ID,您可以使用它和 rhn-runprobe
的组合来检查这个探测的完整输出。请注意,在默认的情况下,rhn-runprobe
使用测试模式,其结果不会被输入数据库。以下是它的选项:
选项 | 描述 |
---|---|
--help | 列出有效的选项并退出。 |
--probe=PROBE_ID | 以这个 ID 运行探测 |
--prob_arg=PARAMETER | 覆盖数据库中任何探测的参数。 |
--module=PERL_MODULE | 要运性的可替换使用代码的软件包名称。 |
--log=all=LEVEL | 为一个软件包或者软件包前缀设置日志级别。 |
--debug=LEVEL | 设置纠错的数字级别。 |
--live | 运行探测、将数据排入队列、以及发送通知(若有必要)。 |
至少您应该将
--probe
和 --log
选项以及相应的值包含在内。--probe
使用 probeID 作为它的值;--log
使用 “all”(对所有的运行级别)和一个代表详细程度的数字来作为它的值。示例如下:
rhn-runprobe --probe=5 --log=all=4
rhn-runprobe --probe=5 --log=all=4
以上命令需要带有详细信息的 probeID 5 所有运行级别的探测输出。
更具体的,您可以提供从
rhn-catalog
中获得的命令参数,如:
rhn-runprobe 5 --log=all=4 --sshuser=nocpulse --sshport=4545
rhn-runprobe 5 --log=all=4 --sshuser=nocpulse --sshport=4545
该命令将在输出中详细显示探测的工作情况。可清楚识别错误信息。
5.13. 多机构 Satellite 以及 Satellite 证书 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
如果我的 Satellite 证书有足够的权限,应该怎样在多机构环境中注册我的系统?
答:
有些情况是您需要释放一些授权但没有时间去做,而且自己不能访问每个机构来完成这个操作。在多机构 Satellite 中有这样一个选项可允许 Satellite 管理员减少机构授权数。这个方法要登录到管理机构中才可完成。
例如:登录到管理机构,如果您的证书是可以覆盖所有在您的 Satellite 中注册的系统的 5 个系统管理授权,那么最新在那个机构中注册的 5 个系统将取消资格。过程描述如下:
- 在
/etc/rhn/rhn.conf
文件中将web.force_unentitlement
设定为 1。 - 重启 Satellite。
- 可通过每个机构的「订阅」标签或者各个授权的「机构」标签减少为您要求机构分配的授权。
- 机构中的很多系统现在应该处于「未授权」状态。机构中未授权系统数目应等于您从该机构删除的授权总数与该机构没有应用到系统中的授权数之差。例如:如果您在第三步从该机构中删除了 10 个授权,且该机构有 4 个授权未被系统使用,那么在该机构中应该有 6 个未授权的系统。
在您拥有足够数目的所需授权后,您应该可以激活新的 Satellite 证书。请注意:只在要将机构的分配授权数减小到他们正在使用的授权数以下时才有必须要修改
web.force_unentitlement
变量。如果某个机构的授权数超过其正在使用的授权数,则您不需要设定此变量将其删除。
问:
我的 Satellite 证书中还有未使用的额外权限。如何处理这些权限?
答:
如果为您发放了一个新 Satellite 证书,并且拥有比您在 Satellite 中所消耗的授权更多的授权,则会为管理机构分配额外的授权。如果您作为 Satellite 管理员登录到网页界面,那么您将可以将这些授权分配给其他机构。不会影响预先分配给其他机构的授权。
5.14. Proxy 安装和配置 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
问:
配置 Red Hat Network Package Manager 后如何确定已将本地软件包成功添加到专用红帽网络频道?
答:
使用
rhn_package_manager -l -c "name_of_private_channel"
命令列出 Satellite 已知的专用频道软件包。或访问 Satellite 界面。
在将专用频道中订阅注册的系统后,您可以在注册的系统中执行
yum --disablerepo="*" --enablerepo="your_repo_name" list available
命令查看专用 Satellite 频道的软件包。
问:
如何才能知道客户端系统是否正在与 Squid 服务器连接?
答:
/var/log/squid/access.log
文件记录了所有与 Squid 服务器的连接。
问:
客户端系统中的 Red Hat Update Agent 没有通过 Red Hat Satellite Proxy 服务器进行连接。应该如何解决这个错误?
答:
确认在客户端系统中安装了最新版本的 Red Hat Update Agent。最新的版本包括了通过 Red Hat Satellite Proxy 服务器进行连接所需要的特性。您可以在红帽网络中以 root 用户身份使用
yum update yum
命令,或者在 http://www.redhat.com/support/errata/ 获得最新版本。
Red Hat Satellite Proxy 服务器是 Apache 的一个扩展。其日志文件位置请参考 《Red Hat Satellite Proxy 安装指南》中《日志文件》一节。
问:
我的 Red Hat Satellite Proxy 服务器配置无法正常工作。应从哪里着手开始进行故障排除?
答:
确定
/etc/sysconfig/rhn/systemid
的所有者是根。apache 的权限设置是 0640。
阅读日志文件。可用日志文件列表位于 《Red Hat Satellite Proxy 安装指南》中《日志文件》一节。
问:
如何解决 Red Hat Satellite Proxy 中的常规问题?
答:
对一般故障进行排除,通常从查看出现故障的部件的日志文件或相关文件开始。
一个常见的产生问题的原因是磁盘空间满。当系统出现停止向日志文件中写内容的时候,通常是没有磁盘空间了。如果在写入过程中停止进行记录,比如一个字写了一半,您的磁盘很可能已经满了。要确定它,运行这个命令并检查 Use% 栏中的值:
df -h
df -h
除了日志文件,您还可以通过查看不同组件的状态获得有用的信息。可以在 Apache Web 服务器和 Squid 中执行这个操作。
要获得 Apache Web 服务器的状态,请运行命令:
service httpd status
service httpd status
要获得 Squid 的状态,请运行以下命令:
service squid status
service squid status
如果管理员不能从 Red Hat Satellite Proxy 获得电子邮件,请确定在
/etc/rhn/rhn.conf
文件中正确地配置了 traceback_mail
。
问:
我的 Red Hat Satellite Proxy 发生 "Host Not Found"/"Could not Determine FQDN" 错误。我该怎么办?
答:
因为红帽网络配置文件只依赖完全限定域名(FQDN), 这在主要程序将 Red Hat Satellite Proxy 名称解析为 IP 地址时至关重要。Red Hat Update Agent、Red Hat Network Registration Client 和 Apache 网页服务器特别容易出现这个问题,出问题时,红帽网络程序会给出 "host not found" 出错信息,且网页服务器会在启动失败时给出 "Could not determine the server's fully qualified domain name" 信息。
这个问题源自
/etc/hosts
文件。您应该检查 /etc/nsswitch.conf
文件,这个文件定义了域名的解析和顺序。通常情况下,应首先检查 /etc/hosts
文件,然后是网络信息服务(NIS),然后是 DNS。必须成功使用以上方法之一方可要让 Apache 网页服务器启动,且红帽网络客户应用程序可以正常工作。
要解决这个问题,检查
/etc/hosts
文件的内容,它应该与以下内容相似:
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
127.0.0.1 this_machine.example.com this_machine localhost.localdomain \ localhost
使用文本编辑器中从该文件中删除该机器的主机信息,它应类似如下:
127.0.0.1 localhost.localdomain.com localhost
127.0.0.1 localhost.localdomain.com localhost
保存这个文件并重新运行红帽网络客户应用程序或 Apache 网页服务器。如果它们还无法正常运行,在文件中明确指定 Satellite 的 IP 地址,如:
127.0.0.1 localhost.localdomain.com localhost 123.45.67.8 this_machine.example.com this_machine
127.0.0.1 localhost.localdomain.com localhost
123.45.67.8 this_machine.example.com this_machine
使用 Proxy 的实际地址替换这里的值。这应该可以解决这个问题。请记住,如果特定的 IP 地址是被指定的,当这个机器获得一个新地址时,这个文件需要被更新。
问:
出现 Red Hat Satellite Proxy 和网络连接错误。我该怎么办?
答:
如果您认为您遇到的问题是因为网络连接造成的,请使用以下方法:
- 确认正确的软件包:
rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm
rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm rhn-org-httpd-ssl-key-pair-MACHINE_NAME-VER-REL.noarch.rpm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Red Hat Satellite Proxy 中安装,并在所有客户端系统中安装相应的rhn-org-trusted-ssl-cert-*.noarch.rpm
或原 CA SSL 公共(客户端)证书。 - 确认将客户端系统配置为使用恰当的证书。
- 如果使用一个或多个 Red Hat Satellite Proxy,请保证正确准备了每个 Proxy 的 SSL 证书。如果 Red Hat Satellite Proxy 和 Red Hat Satellite 一起使用,Proxy 应该安装它自己的服务器 SSL 密钥对和 CA SSL 公共(客户端)证书,这是因为它需要提供这两种功能。请参阅《RHN 客户端配置指南》中的 SSL 证书一章获得详细的信息。
- 如果 Red Hat Satellite Proxy 服务器是通过 HTTP Proxy 连接的,请确定列出的 URL 是有效的。例如,HTTP Proxy URL 项中不应该包括协议名参考,如 http:// 或 https://。这个项中应该只包括以以下形式出现的主机名和端口— hostname:port,如
your-gateway.example.com:8080
。 - 请确认客户端系统自身没有使用防火墙,没有阻塞所需端口,如《Red Hat Satellite Proxy 安装指南》 中《附加条件》一节所述。
问:
出现软件包发布错误和对象崩溃信息。我该检查什么内容?
答:
如果软件包传输失败或出现内容被破坏的情况,而且您确定这不是连接错误造成的,您可以考虑清除缓存中的内容。Red Hat Satellite Proxy 服务器有两个缓存您需要考虑:一个是 Squid 缓存,另一个是验证缓存。
Squid 缓存位于
/var/spool/squid/
。要清除它,请:
- 停止 Apache Web 服务器:
service httpd stop
- 停止 Squid 服务器:
service squid stop
- 删除那个目录中的内容:
rm -fv /var/cache/rhn/*
- 重启这两个服务:
service squid start service httpd start
service squid start service httpd start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
只要清除该目录并重启 squid 可达到同样的目的,且更迅速,但这个方法很可能导致大量红帽网络 traceback 信息。
Proxy 验证所使用的内部缓存机制也需要清除它的缓存内容。要完成这个任务,请运行以下命令:
rm -fv /var/cache/rhn/*
rm -fv /var/cache/rhn/*
注意
如果您已经尝试了所有的故障排除的步骤或希望红帽网络的专业技术人员提供帮助,红帽建议您利用 Red Hat Satellite 提供的强大的支持功能。最有效的获得技术支持的方法是收集您的 Satellite 的配置参数、日志文件和数据库信息并将它们直接发送到红帽。
红帽网络提供了一个实现这个任务的命令行工具:Satellite 诊断信息收集器(
satellite-debug
)。要使用这个工具,您只需要以 root 用户的身份运行这个命令。您会看到所收集的信息以及一个 tarball 文件,如:
完成后,请将
/tmp/
中的新文件通过电子邮件发送到红帽客户服务代表以便及时进行诊断。
另外,红帽提供了一个名为 SoS Report 的命令行工具,一般我们知道的是其命令
sosreport
。这个工具会收集您 Proxy 的配置参数、日志文件和数据库信息,并将其直接发送给红帽。
要使用这个工具获得 Red Hat Satellite 信息,您必须安装
sos
软件包。作为 root 用户在 Satellite 服务器中输入 sosreport -o rhn
可生成报告。例如:
会提示您输入您名字的首字母和姓,然后支持输入案例。
授权可能需要几分钟生成报告并将其打包为压缩文件。完成后,通过电子邮件将
/tmp/
目录中的这个新文件发送到红帽代表以便立即进行诊断。