Сбой MYSQL с: InnoDB: Ошибка операционной системы номер 30 в файловой операции

2569
Jon

Мой MYSQL-сервер недавно останавливался примерно раз в неделю. Требуется перезагрузка, чтобы снова заработало. Но после перезагрузки он снова будет работать еще неделю или две.

Ошибка, о которой идет речь, - номер 30. Согласно URL-адресу в журнале ошибок, MYSQL не дает мне больше информации, чем просто говорит, что мой диск базы данных теперь находится в режиме готовности.

Моя база данных находится на смонтированном диске с помощью UUID="c3c2527e-..." /media/database ext4 user,auto 0 2. И этот смонтированный диск доступен через ssh при возникновении этой ошибки.

Насколько я знаю, я недавно не обновлял свою ОС или MYSQL и не вносил изменения на сервере. Я помню, что мне приходилось настраивать apparmor при первом добавлении диска, содержащего MYSQL. Однако это было сделано более года назад.

Итак, мой вопрос: связана ли эта проблема с неисправностью моего жесткого диска, сбоями в работе оборудования или чем-то еще?

ОС: 12.04.2 LTS (GNU / Linux 3.5.0-23-generic x86_64)

MYSQL: 5.5.31-0ubuntu0.12.04.1 (Ubuntu)

MYSQL Диск: / dev / sdb1 2.0T 709M 2.0T 1% / медиа / база данных

Вся ошибка такова:

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. 
2

1 ответ на вопрос

1
RolandoMySQLDBA

You definitely have disk-related problems. It could be the disk controller. Whatever the story the error is at the OS level:

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

InnoDB will stop working because it requires lots of writes to take place, even if it is reading

Here is what InnoDB looks like

InnoDB Architecture

The active InnoDB components requiring writes are

  • Data dictionary (When creating, altering and dropping tables)
  • Double Write Buffer (Copy of data to reuse in crash recovery)
  • Insert Buffer (Mitigate changes in indexes from Buffer Pool)
  • Rollback Segments/Undo Logs (Transaction Isolation and MVCC)
  • Log Files (Receiving Changes From Log Buffer via Fuzzy Checkpointing)
  • .ibd files (Individual Tablespace files)

Once a file system turns read-only, all these moving parts stop.

You should back the data

  • I would do a mysqldump of all the data
  • Shutdown mysql and get an LVM snapshot (if applicable)
  • Shutdown mysql and copy the datadir

Once you have a backup, get right to the disk maintenance. Check the RAID, the disk controller, and the disk itself.

Here are some other ServerFault posts on read-only issues

Это оказалось моим жестким диском. После этой проблемы я решил перенести каждую вещь в облако, чтобы мне не приходилось иметь дело с повреждениями жестких дисков 1 года: +1 Jon 10 лет назад 0

Похожие вопросы