LSILogic 1064 - QUEUE FULL EVENT

Итак, имеем в распоряжении новый сервер следующего конфига:
  • 2хXeon E5630
  • RAM 48 Gb
  • SAS адаптер LSILogic 1064
  • 3 Seagate SAS 10000 rpm
  • 2 Seagate SAS 15000 rpm
  • 1 Seagate SAS 10000 rpm 600Gb
  • 2 Toshiba SATA по 1 Tb.
На сервер установлена операционная система FreeBSD 8.1. Процесс установки прошел штатно, все в норме, не считая некоторой ругани на ACPI. Я предпочитаю не ставить дерево портов с диска, а качать из сети свежее. После установки портов, кто не в курсе:
server /# portsnap fetch extract
смотрим dmesg:
server /# dmesg | grep mpt
mpt0:  port 0xc000-0xc0ff mem 0xdf3ec000-0xdf3effff,0xdf3f0000-0xdf3fffff irq 16 at device 0.0 on pci5
mpt0: [ITHREAD]
mpt0: MPI Version=1.5.20.0
mpt0: Capabilities: ( RAID-0 RAID-1E RAID-1 )
mpt0: 0 Active Volumes (2 Max)
mpt0: 0 Hidden Drive Members (14 Max)
da0 at mpt0 bus 0 scbus0 target 11 lun 0
da1 at mpt0 bus 0 scbus0 target 12 lun 0
da2 at mpt0 bus 0 scbus0 target 15 lun 0
da3 at mpt0 bus 0 scbus0 target 16 lun 0
da4 at mpt0 bus 0 scbus0 target 17 lun 0
da5 at mpt0 bus 0 scbus0 target 18 lun 0
da6 at mpt0 bus 0 scbus0 target 19 lun 0
SMP: AP CPU #1 Launched!da7 at mpt0 bus 0 scbus0 target 20 lun 0
mpt0: QUEUE FULL EVENT: Bus 0x00 Target 0x0f Depth 128
mpt0: QUEUE FULL EVENT: Bus 0x00 Target 0x0f Depth 128
mpt0: QUEUE FULL EVENT: Bus 0x00 Target 0x0f Depth 128
mpt0: QUEUE FULL EVENT: Bus 0x00 Target 0x10 Depth 127
mpt0: QUEUE FULL EVENT: Bus 0x00 Target 0x10 Depth 127
Последние 3 строки тут явно лишние. Зпись Target 0x0f — в десятичном представлении 15, а Target 0x0f — 16, смотрим чуть выше target 15 и target 16, это у нас диски da2 и da3. В моем случае это SAS диски 10к. Те-же самые сообщения можно получить и для других дисков, если дать на них соответствующую нагрузку. Воспроизводится довольно легко:
server #/ find / -name "*"
Теперь можно посмотреть, кто у нас там da2 и da3:
server /# dmesg | grep -E "da2|da3"
da2 at mpt0 bus 0 scbus0 target 15 lun 0
da2:  Fixed Direct Access SCSI-5 device
da2: 300.000MB/s transfers
da2: Command Queueing enabled
da2: 140014MB (286749488 512 byte sectors: 255H 63S/T 17849C)
da3 at mpt0 bus 0 scbus0 target 16 lun 0
da3:  Fixed Direct Access SCSI-5 device
da3: 300.000MB/s transfers
da3: Command Queueing enabled
da3: 140014MB (286749488 512 byte sectors: 255H 63S/T 17849C)
Trying to mount root from ufs:/dev/da2s1a
Это у нас 2 диска SEAGATE, модель ST9146803SS. Далее если интересно, можно найти на сайте производителя спецификацию на данную модель хардов, скачать ее и почитать.
Standard features:
128 - deep task set (queue)
Если я правильно понял, это и есть значение, которое превышает FreeBSD. То есть мы пытаемся запихнуть в очередь больше, чем определено настройками. Проверяем:
server /# camcontrol tags da2 -v
(pass2:mpt0:0:15:0): dev_openings  255
(pass2:mpt0:0:15:0): dev_active    0
(pass2:mpt0:0:15:0): devq_openings 255
(pass2:mpt0:0:15:0): devq_queued   0
(pass2:mpt0:0:15:0): held          0
(pass2:mpt0:0:15:0): mintags       2
(pass2:mpt0:0:15:0): maxtags       255
Ставим новое значение, чуть меньше чем написано в сообщении dmesg:
server /# camcontrol tags da2 -N 126
(pass2:mpt0:0:15:0): tagged openings now 126
(pass2:mpt0:0:15:0): device openings: 126
После этого можно снова попробовать воспроизвести ситуацию, однако новых сообщений о переполнении очереди в dmesg не появится. Что-бы настройки вступали в силу, при загрузке FreeBSD, достаточно прописать в файл /etc/rc.conf строку для каждого диска:
camcontrol tags da2 -N 126
Покурив интернеты, более простого решения не нашел.

Комментарии

Вчера работал все было ОК. Сейчас не могу посмотреть базу данных
Выдает ошибку "
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right
syntax to use near '' at line 2"
Что нужно делать ?

проверить синтаксис запроса

Подвисает 2 системы после portsnap update если много обновлений. Помогает только локальный перезагруз.
Хотелось бы знать, снижение параметра поможет решить проблему зависона (если она из-за этого) или чисто косметически отключит логирование?

не поможет, поскольку одно с другим не связано

Спасибо.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
Регистр имеет значение
                          .ooooo.    ooooo              .ooooo.   
d88' `8. `888' 888' `Y88.
.ooooo. oooo ooo Y88.. .8' 888 .ooooo. 888 888
d88' `"Y8 `88. .8' `88888b. 888 d88' `88b `Vbood888
888 `88..8' .8' ``88b 888 888ooo888 888'
888 .o8 `888' `8. .88P 888 888 .o .88P'
`Y8bod8P' `8' `boood8' o888o `Y8bod8P' .oP'


Введите код, изображенный в стиле ASCII-арт.