Сегодня один из моих серверов начал присылать мне предупреждения о неоптимальном состоянии RAID. Они были вызваны очень простым скриптом, запущенным cron - если он обнаруживает, что не все диски сообщают об «Оптимальном» состоянии, он отправляет предупреждение.
Теперь проблема в том, что RAID вроде бы в порядке, но megacli -LDInfo -Lall -aALL
команда, вызываемая сценарием, терпит неудачу, постоянно оставляя сообщение об ошибке в системном журнале: megacli: Failed to alloc kernel SGL buffer for IOCTL
. Любопытно, что команда иногда работает и возвращает результат, но в большинстве случаев она просто возвращает две пустые строки и код выхода:
# megacli -LDInfo -Lall -aALL Exit Code: 0x00
То же самое касается megacli
с другими параметрами, такими как megacli -AdpAllInfo -aAll
. Каждый раз, когда команда не выполняется, указанная ошибка появляется в системном журнале.
Насколько я помню, такого раньше не было. В последнее время на сервере не производилось никаких изменений. Адаптер - это PERC 6/i Integrated
а сервер работает под Debian Wheezy.
В чем может быть проблема и где мне начать ее решать?
РЕДАКТИРОВАТЬ:
# megacli -v MegaCLI SAS RAID Management Tool Ver 5.00.12 May 08, 2009 (c)Copyright 2009, LSI Corporation, All Rights Reserved. Exit Code: 0x00
По крайней мере, эта команда работает каждый раз, не вызывая ошибки;) Я только что понял, что это старая версия megacli. Тем не менее, это не имеет значения, поскольку одна и та же установка проработала пару десятков месяцев без проблем, а теперь внезапно решила сходить с ума.
Для этой проблемы существует отчет об ошибке в debian, см .:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=703356
Кажется, что на данный момент исправления нет, и это также происходит с недавними ядрами. Мой личный подозреваемый - Зен. Вы запускаете Xen на этом хосте?