有人知道如何修复 Red Hat 5.1 上 omsa 报告“未找到控制器”的问题吗?

有人知道如何修复 Red Hat 5.1 上 omsa 报告“未找到控制器”的问题吗?

我有一台 Red Hat 5.1 服务器 64 位 Dell 2950,带有 PERC 5/i 控制器,直到最近还运行良好。

在其上我有一个 NRPE 命令 check_openmange,它开始返回错误:

/usr/local/nagios/libexec/check_openmanage
Storage Error! No controllers found
Problem running 'omreport chassis memory': Error: Memory object not found
Problem running 'omreport chassis fans': Error! No fan probes found on this system.
Problem running 'omreport chassis temps': Error! No temperature probes found on this system.
Problem running 'omreport chassis volts': Error! No voltage probes found on this system.

显然,这些组件在系统启动和运行时是存在的。我可以访问 Dell Open Manage 的 Web 界面,它报告一切正常。

检查 openmange 是否使用 omreport 工具,这会直接生成上述错误:

[root@lynx tmp]# omreport storage controller
No controllers found

我在网上找到了许多与 OMSA 和 64 位 RHEL 5 和 CentOS 5 问题相关的帖子,他们建议在 64 位系统上运行 32 位软件:

但是我已经在运行 32 位软件了:

Installed Packages
Name   : srvadmin-storage
Arch   : i386
Version: 6.5.0
Release: 1.201.2.el5
Size   : 8.4 M
Repo   : installed
Summary: Storage Management accessors package, 3.5.0

此外,这些帖子中的大多数似乎与 PERC 4 有关,而我的是 PERC 5。这项检查和报告直到最近才稳定下来,并且已经持续了几个月的生产负荷,这让我犹豫是否要采取这些措施。然而,我还没有找到任何好的迹象来说明这种行为为什么会改变。

有谁遇到过 PERC 5 的这个问题吗?

有人对诊断步骤或解决方案有进一步的想法吗?

答案1

service dataeng restart我假设您已完成重新启动 OMSA( )并确保 IPMI 已加载的基本故障排除步骤:

service dataeng stop
service dsm_sa_ipmi start
service dataeng start

导致此问题的一个常见但不明显的原因是系统信号量耗尽。检查您的系统日志;如果您看到类似以下内容:

Server Administrator (Shared Library): Data Engine EventID: 0  A semaphore set has to be created but the system limit for the maximum number of semaphore sets has been exceeded

那么你的信号量就用完了。

您可以运行ipcs -s列出系统上当前分配的所有信号量,然后使用ipcrm -s <id>删除信号量(如果您确信不再需要它)。您可能还想追踪创建它们的程序(使用来自的信息)ipcs -s -i <id>以确保它没有泄漏信号量。但根据我的经验,大多数泄漏都来自在运行清理代码之前被中断的程序(由段错误或类似原因造成)。

如果您的系统确实需要当前分配的所有信号量,则可以增加可用的信号量数量。运行sysctl -a | grep kernel.sem以查看当前设置。最终数字是系统上可用的信号量数量(通常为 128)。将该行复制到 中/etc/sysctl.conf,将最终数字更改为更大的值,保存并运行sysctl -p以加载新设置。

答案2

按照 asciiphil 的说明操作对我有用。在我的例子中,nrpe有很多与打开管理相关的信号量打开。清理它们并重新启动一切。

失败了:

omreport chassis memory
Memory Information

Error : Memory object not found

确保有足够的信号量:

sysctl -a | grep kernel.sem
ipcs -s |wc -l 

停止nrpe使用omreport

/etc/init.d/nrpe stop

删除nrpe信号量:

ipcs -s | awk '/nrpe/ {print "ipcrm -s ",$2}  ' | sh 
/etc/init.d/dataeng stop
/etc/init.d/dsm_sa_ipmi stop
/etc/init.d/dsm_sa_ipmi start
/etc/init.d/dataeng start

确保一切顺利

tail -n 50 /var/log/messages

测试:

omreport chassis memory

重新开始nrpe

/etc/init.d/nrpe restart

答案3

我在一台主机上遇到了这个问题,其中安排了 Nagios 作业来检查 Openmanage。它会表现为 Nagios 拥有的大量陈旧信号量。

我每晚都会cron花 10 分钟查看两份清单,找出过期的清单;两份清单中出现的任何内容都被视为过期的。(显然,要根据您的情况进行调整。)

nagioi () {
    ipcs -a | awk '$3 == "nagios" { print $2 }'
}

# Run two listings, 10 minutes apart
# The ones which are in both listings are definitely stuck
(nagioi; sleep 600; nagioi) |
sort | uniq -d |
xargs -n 1 -r -t ipcrm -s

答案4

尝试/etc/init.d/dataeng start/etc/init.d/dsm_om_shrsvc start

相关内容