Мы выполняем импорт дампа базы данных в системе Oracle - (RHEL 5.9, 2.6.18-348.6.1.el5). Импорт не завершается, в конечном итоге происходит ошибка:
ORA-15080: synchronous I/O operation to a disk failed
WARNING: failed to write mirror side 1 of virtual extent 248 logical extent 0 of file 280 in group 1 on disk 1 allocation unit 986
Errors in file /u01/app/oracle/diag/rdbms/dbprod/DBPROD/trace/DBPROD_lgwr_24520.trc:
ORA-00345: redo log write error block 509314 count 2023
ORA-00312: online log 1 thread 1: '+DATA/dbprod/redo01.log'
ORA-15081: failed to submit an I/O operation to a disk
ORA-15081: failed to submit an I/O operation to a disk
Имеются соответствующие ошибки в кольцевом буфере и /var/log/messages
:
Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io error, sge_count = 51
Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd
Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io error, sge_count = 51
Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd
Jun 12 18:54:42 db1-test kernel: megasas: build_ld_io error, sge_count = 51
Jun 12 18:54:42 db1-test kernel: megasas: Err returned from build_and_issue_cmd
Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: timing out command, waited 360s
Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: Unhandled error code
Jun 12 18:54:42 db1-test kernel: sd 0:2:1:0: SCSI error: return code = 0x06000000
Jun 12 18:54:42 db1-test kernel: Result: hostbyte=DID_OK driverbyte=DRIVER_TIMEOUT,SUGGEST_OK
Массив дисков, содержащий импорт, представляет собой 10-дисковый массив SAS в RAID 1 + 0 с использованием дисков емкостью 300 ГБ 10 КБ. Контроллер RAID - это LSI MegaRAID SAS 9260-8i. Через MegaCLI не сообщается об ошибках диска или адаптера.
Редактировать:
Другие планировщики были опробованы с тем же результатом. Там является а сторонний (Vormetric) модуль шифрования файловой системы работает в этой настройке. Удаление позволяет завершить импорт. Итак, теперь мне интересно, является ли это недостатком модуля или он вызывает плохое состояние в драйвере LSI.
Во время импорта мы достигаем 14 000 операций ввода-вывода в секунду при записи.
В недавних попытках система полностью зависает со следующим на консоли.
Последний top
вывод до заморозки.
В конечном итоге Сергей правильно - это проблема драйвера. Но сначала давайте проверим:
Прежде всего, вы захотите использовать планировщик ввода-вывода крайнего срока, а не CFQ. deadline
, как следует из названия, гарантирует своевременное выполнение всех операций ввода-вывода в секунду.
Возьмите события из карты мегарайда:
megacli -adpeventlog -getevents -f /tmp/megaraid-$(date +%F_%T) -aALL
Проверьте данные SMART на дисках (для этого вам нужно будет собрать новый smartmontools):
# megacli -pdlist -a0 |grep 'Device Id'
Device Id: 10
Device Id: 9
# smartctl -a /dev/sda -d megaraid,9
«…»
# smartctl -a /dev/sda -d megaraid,10
«…»
Если все в порядке, попробуйте последний драйвер от LSI.
В этой настройке работает сторонний (Vormetric) модуль шифрования файловой системы. Удаление позволяет завершить импорт. Итак, теперь мне интересно, является ли это недостатком модуля или он вызывает плохое состояние в драйвере LSI.
Модуль Voretric, скорее всего, делает что-то несовместимое, да. Я бы начал с разговора с ними о том, как их модуль портит вашу систему при высокой нагрузке.