Сбой MYSQL с: InnoDB: Ошибка операционной системы номер 30 в файловой операции
Мой 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.
1 ответ
У вас определенно есть проблемы с диском. Это может быть контроллер диска. Какой бы ни была история, ошибка на уровне ОС:
sh-4.1# perror 30
OS error code 30: Read-only file system
InnoDB перестанет работать, потому что требуется много записей, даже если он читает
Вот как выглядит InnoDB
Активные компоненты InnoDB, требующие записи,
- Словарь данных (при создании, изменении и удалении таблиц)
- Двойной буфер записи (копия данных для повторного использования при восстановлении после сбоя)
- Вставить буфер (Смягчить изменения в индексах из пула буферов)
- Сегменты отката / журналы отмены ( изоляция транзакций и MVCC)
- Файлы журнала (получение изменений из буфера журнала через нечеткую контрольную точку)
.ibd
файлы (отдельные файлы табличного пространства)
Как только файловая система становится доступной только для чтения, все эти движущиеся части останавливаются.
Вы должны вернуть данные
- Я бы сделал mysqldump из всех данных
- Завершите работу mysql и получите снимок LVM (если применимо)
- Завершите работу mysql и скопируйте datadir
Получив резервную копию, получите право на обслуживание диска. Проверьте RAID, контроллер диска и сам диск.
Вот некоторые другие сообщения ServerFault о проблемах только для чтения