2

Мой 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 ответ1

1

У вас определенно есть проблемы с диском. Это может быть контроллер диска. Какой бы ни была история, ошибка на уровне ОС:

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

InnoDB перестанет работать, потому что требуется много записей, даже если он читает

Вот как выглядит InnoDB

InnoDB Архитектура

Активные компоненты InnoDB, требующие записи,

  • Словарь данных (при создании, изменении и удалении таблиц)
  • Double Write Buffer (копия данных для повторного использования при восстановлении после сбоя)
  • Вставить буфер (Смягчить изменения в индексах из пула буферов)
  • Сегменты отката / журналы отмены (изоляция транзакций и MVCC)
  • Файлы журнала (получение изменений из буфера журнала через нечеткую контрольную точку)
  • файлы .ibd (отдельные файлы табличного пространства)

Как только файловая система становится доступной только для чтения, все эти движущиеся части останавливаются.

Вы должны вернуть данные

  • Я бы сделал mysqldump из всех данных
  • Завершите работу mysql и получите снимок LVM (если применимо)
  • Выключите MySQL и скопируйте datadir

Получив резервную копию, получите право на обслуживание диска. Проверьте RAID, контроллер диска и сам диск.

Вот некоторые другие сообщения ServerFault о проблемах только для чтения

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .