Erros do controlador LSI RAID na importação do DB - Como solucionar problemas?

7

Estamos executando uma importação de um despejo de banco de dados em um sistema Oracle - (RHEL 5.9, 2.6.18-348.6.1.el5). A importação não é concluída, acabando por ocorrer um erro:

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

Há erros correspondentes no buffer de anel e /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

A matriz de unidades que contém a importação é um array SAS de 10 discos em RAID 1 + 0 usando discos de 300 GB e 10k. O controlador RAID é um LSI MegaRAID SAS 9260-8i . Nenhum erro de disco ou adaptador é relatado via MegaCLI.

  • Isso é um problema de hardware?
  • Existe alguma maneira de solucionar problemas? O status do controlador RAID está bom. Os discos e as unidades lógicas reportam com integridade.
  • Este é um problema do Linux OS ou de ajuste? Vou tentar com diferentes agendadores de E / S para ter certeza. CFQ é o padrão.

Editar:

Outros agendadores foram tentados com o mesmo resultado. um módulo de criptografia de sistema de arquivos terceirizado (Vormetric) executando nesta configuração. A remoção permite que a importação seja concluída. Então, agora eu estou querendo saber se isso é uma deficiência no módulo ou se está provocando uma condição ruim no driver LSI.

Durante a importação, estamos atingindo 14.000 IOPS de gravação.

Emtentativasrecentes,osistematravatotalmentecomoseguintenoconsole.

Última saída de top antes de congelar.

    
por ewwhite 13.06.2013 / 14:48

1 resposta

3

Por fim, Sergey é certo - este é um problema de driver. Mas vamos checar as coisas primeiro:

Primeiro, você vai querer usar o agendador de E / S de prazo, em vez de CFQ. deadline , como o nome indica, garante que todos os IOPs sejam concluídos em tempo hábil.

Agarre os eventos do cartão megaraid:

megacli -adpeventlog -getevents -f /tmp/megaraid-$(date +%F_%T) -aALL

Verifique os dados SMART nos discos (você precisará criar um novo smartmontools para que isso funcione):

# 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
«…»

Se tudo estiver correto, vá em frente e experimente o driver mais recente do LSI .

There is a third-party (Vormetric) filesystem encryption module running in this setup. Removing it allows the import to complete. So now I'm wondering if this is a deficiency in the module or if it is triggering a bad condition in the LSI driver.

O módulo Voretric provavelmente está fazendo algo incompatível, sim. Eu começaria falando com eles sobre como seu módulo está estragando seu sistema sob alta carga.

    
por 14.06.2013 / 15:51