MYSQL falha com: InnoDB: Erro de sistema operacional número 30 em uma operação de arquivo

2

Meu servidor MYSQL parou recentemente uma vez por semana. Requer uma reinicialização para obter está funcionando novamente. Mas uma vez reiniciado, ele funcionará novamente por mais uma semana ou duas.

O erro em questão é o número 30. De acordo com o URL no log de erro, o MYSQL não fornece mais informações do que apenas dizer que a unidade de banco de dados está agora no modo somente pronto.

Meu banco de dados está em uma unidade montada usando UUID="c3c2527e-..." /media/database ext4 user,auto 0 2 . E essa unidade montada é acessível via ssh quando esse erro ocorre.

Até onde sei, não atualizei meu sistema operacional ou MYSQL recentemente ou fiz alterações no servidor. Eu me lembro de ter que ajustar o apparmor quando adicionei pela primeira vez a unidade contendo MYSQL. No entanto, isso foi feito há mais de um ano.

Então, minha pergunta é: esse problema tem a ver com o meu disco rígido ficar ruim, com o soluço do aparato ou algo mais?

OS: 12.04.2 LTS (GNU / Linux 3.5.0-23-genérico x86_64)

MYSQL: 5.5.31-0ubuntu0.12.04.1 (Ubuntu)

MYSQL Drive: / dev / sdb1 2.0T 709M 2.0T 1% / media / base de dados

O erro inteiro é:

140301  8:00:29 [Note] Plugin 'FEDERATED' is disabled.
140301  8:00:29 InnoDB: The InnoDB memory heap is disabled
140301  8:00:29 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140301  8:00:29 InnoDB: Compressed tables use zlib 1.2.3.4
140301  8:00:29 InnoDB: Initializing buffer pool, size = 128.0M
140301  8:00:29 InnoDB: Completed initialization of buffer pool
140301  8:00:29  InnoDB: Operating system error number 30 in a file operation.
InnoDB: Error number 30 means 'Read-only file system'.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/operating-system-error-codes.html
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'open'.
InnoDB: Cannot continue operation.
    
por Jon 01.03.2014 / 16:45

1 resposta

1

Você definitivamente tem problemas relacionados ao disco. Pode ser o controlador de disco. Seja qual for a história, o erro está no nível do SO:

sh-4.1# perror 30
OS error code  30:  Read-only file system

O InnoDB irá parar de funcionar porque requer muitas gravações, mesmo que esteja lendo

Aqui está como o InnoDB se parece

OscomponentesativosdoInnoDBquerequeremgravaçõessão

  • Dicionáriodedados(aocriar,alterareeliminartabelas)
  • DoubleWriteBuffer(Cópiadedadosparareutilizarnarecuperaçãodefalhas)
  • Inserirbuffer(atenuaralteraçõesnosíndicesdopooldebuffers)
  • RollbackSegments/UndoLogs( Isolamento de transações e MVCC )
  • Arquivos de log (recebimento de alterações do buffer de log por meio de Checkpointing difuso )
  • .ibd files (arquivos individuais do Tablespace)

Quando um sistema de arquivos se torna somente leitura, todas essas partes móveis param.

Você deve retornar os dados

  • eu faria um mysqldump de todos os dados
  • Encerre o mysql e obtenha um instantâneo do LVM (se aplicável)
  • Encerre o mysql e copie o datadir

Depois de ter um backup, vá direto para a manutenção do disco. Verifique o RAID, o controlador de disco e o próprio disco.

Aqui estão algumas outras postagens do ServerFault sobre problemas somente leitura

por 10.03.2014 / 19:29