У меня есть сервер 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, и он сообщает, что все зеленое.
Убедитесь, что openmange использует инструмент omreport, и это напрямую генерирует указанную выше ошибку:
[root@lynx tmp]# omreport storage controller
No controllers found
Я нашел в Интернете ряд потоков, касающихся проблем с OMSA и 64-битными RHEL 5 и CentOS 5, где они предлагают запускать 32-битное программное обеспечение в 64-битных системах:
Однако я уже использую 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?
Есть ли у кого-нибудь дополнительные мысли по этапам диагностики или решениям?
Я предполагаю, что вы выполнили основные действия по устранению неполадок перезапуска OMSA (service dataeng restart
) и убедитесь, что 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
чтобы загрузить новые настройки.
Я столкнулся с этим на хосте, где было запланировано задание 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
Следующие указания 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
Для этого не удалось:
omreport chassis memory Memory Information Error : Memory object not found
Остановите srvadmin-services.sh:
srvadmin-services.sh stop
Следующая команда может использоваться для очистки семафоров с параметром последней операции «Не задано»:
for i in `ipcs -st |grep "Not set"| cut -d ' ' -f1`; do (ipcrm -s $i); echo -e "$i clear."; done
Запустите srvadmin-services.sh:
srvadmin-services.sh start
Пытаться /etc/init.d/dataeng start
и /etc/init.d/dsm_om_shrsvc start