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.
server /# portsnap fetch extractсмотрим dmesg:
server /# dmesg | grep mpt mpt0:Последние 3 строки тут явно лишние. Зпись Target 0x0f — в десятичном представлении 15, а Target 0x0f — 16, смотрим чуть выше target 15 и target 16, это у нас диски da2 и da3. В моем случае это SAS диски 10к. Те-же самые сообщения можно получить и для других дисков, если дать на них соответствующую нагрузку. Воспроизводится довольно легко: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
server #/ find / -name "*"Теперь можно посмотреть, кто у нас там da2 и da3:
server /# dmesg | grep -E "da2|da3" da2 at mpt0 bus 0 scbus0 target 15 lun 0 da2:Это у нас 2 диска SEAGATE, модель ST9146803SS. Далее если интересно, можно найти на сайте производителя спецификацию на данную модель хардов, скачать ее и почитать.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
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 если много обновлений. Помогает только локальный перезагруз.
Хотелось бы знать, снижение параметра поможет решить проблему зависона (если она из-за этого) или чисто косметически отключит логирование?
не поможет, поскольку одно с другим не связано
Спасибо.
Отправить комментарий