MYSQL falla con: InnoDB: Error del sistema operativo número 30 en una operación de archivo

2

Mi servidor MYSQL ha estado parando recientemente una vez por semana. Se requiere un reinicio para que funcione nuevamente. Pero una vez que se reinicie, funcionará de nuevo durante una o dos semanas más.

El error en cuestión es el número 30. De acuerdo con la url en el registro de errores, MYSQL no me da más información que solo decir que mi unidad de base de datos ahora está en modo listo para usar.

Mi base de datos está en un disco montado utilizando UUID="c3c2527e-..." /media/database ext4 user,auto 0 2. Y esa unidad montada es accesible a través de ssh cuando se produce este error.

Que yo sepa, no he actualizado mi sistema operativo o MYSQL recientemente ni he realizado cambios en el servidor. Recuerdo tener que ajustar apparmor cuando agregué por primera vez la unidad que contiene MYSQL. Sin embargo, eso se hizo hace más de un año.

Entonces, mi pregunta es: ¿este problema tiene que ver con que mi disco duro se estropee, el hipo de mi armero o algo más?

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

MYSQL: 5.5.31-0ubuntu0.12.04.1 (Ubuntu)

Unidad MYSQL: / dev / sdb1 2.0T 709M 2.0T 1% / media / database

Todo el error es:

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.
Jon
fuente

Respuestas:

1

Definitivamente tienes problemas relacionados con el disco. Podría ser el controlador de disco. Cualquiera que sea la historia, el error está en el nivel del sistema operativo:

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

InnoDB dejará de funcionar porque requiere que se realicen muchas escrituras, incluso si está leyendo

Aquí es como se ve InnoDB

InnoDB Architecture

Los componentes activos de InnoDB que requieren escrituras son

  • Diccionario de datos (Al crear, alterar y soltar tablas)
  • Double Write Buffer (Copia de datos para reutilizar en recuperación de fallos)
  • Insertar búfer (mitigar los cambios en los índices de la agrupación de búferes)
  • Rollback Segments / Undo Logs ( Aislamiento de transacciones y MVCC )
  • Archivos de registro (Recibiendo cambios del búfer de registro a través de Punto de control difuso )
  • .ibd archivos (archivos de Tablespace individuales)

Una vez que un sistema de archivos se vuelve de solo lectura, todas estas partes en movimiento se detienen.

Usted debe respaldar los datos

  • Haría un mysqldump de todos los datos.
  • Apague mysql y obtenga una instantánea de LVM (si corresponde)
  • Apaga mysql y copia la datadir.

Una vez que tenga una copia de seguridad, vaya directamente al mantenimiento del disco. Compruebe el RAID, el controlador de disco y el disco en sí.

Aquí hay otras publicaciones de ServerFault sobre problemas de solo lectura.

RolandoMySQLDBA
fuente
Terminó siendo mi disco duro. Después de este problema, decidí mover todo a la nube, así que no tendré que lidiar con los discos duros de 1 año que van mal: +1
Jon