Drupal 6, ошибка Got error 28 from storage engine query.

22 августа 2014

Рис. Ошибка Got error 28 from storage engine query.

Сегодня  сайт «упал», без предупреждения и неожиданно. До этого у сайта возникали проблемы, но как правило они начинались с того, что появлялось желание добавить новый модуль на сайт и при этом была резервная копия. В этом случае все было иначе, резервной копии не было и на сайт ничего не устанавливалось. Собственно сайт был поставлен на тех. обслуживание – и обратился в тех поддержку, местную и на сайте хостера. Местная тех. поддержка (из соседнего кабинета) нашла ошибку в базе данных, база была исправлена и о падении ресурса было благополучно забыто.  О проблеме только остался красный журнал событий на 15 страницах.

Через два часа сайт снова пал, на этот раз база данных была абсолютно исправна, а значит  проблема не в ней. Попытка разобраться с тех поддержкой, закончилась простым уроком скоропечатания на клавиатуре, но не более. Поэтому пришлось разбираться самостоятельно, так как обычно ремонтируется аппаратура в мастерской.

 

Внешнее проявление неисправности. На сайте на красном фоне появляется сообщение от MySQL

  • user warning: Got error 28 from storage engine query: SELECT t.*,v.weight AS v_weight_unused FROM term_node r INNER JOIN term_data t ON r.tid = t.tid INNER JOIN vocabulary v ON t.vid = v.vid WHERE r.vid = 446 ORDER BY v.weight, t.weight, t.name in /home/zival/public_html/modules/taxonomy/taxonomy.module on line 640.

Эти сообщения росли комом и вскоре заполняли все пространство на главной странице. Жирным курсивом выделена ключевая фраза, которая была во всех сообщениях, остальной текст менялся в зависимости от запроса породившее предупреждение. 

Первичная диагностика. Средствами хостера база данных отказывалась делать бекап, при этом Backup and Migrate делал копию без проблем. Бекап хостера выдавал следующее:

  • mysqldump: Error: 'Got error 28 from storage engine' when trying to dump tablespaces
  • mysqldump: Couldn't execute 'show fields from `access`': Got error 28 from storage engine (1030)

То есть те же самые ошибки, что во фронте.

Решение проблемы. Так как круг возможных неисправностей ограничился хостером, то пришлось почитать форумы. А форумы по этому поводу говорят о том, что у хостера кончилось место на диске. Проверяем свободное пространство – на всякий случай заливаем на сайт гигабайт всякого мусора, а затем стираем, фактически проверяем правоту тех. поддержки хостера, места предостаточно. На одном сайте наталкиваемся на замечательное сообщение, которое и помогло решить проблему с сайтом и грамотно задать вопрос тех. поддержке.

Оная ошибка означает, больше, что хозяева сервера пожлобились :))))
Т.е - вместо того чтобы вынести временный каталог муськи во временный каталог сервера хранящийся в оперативной памяти, используется дисковое пространство.
Конечно такой вариант тоже не запрещен.
Вообщем если у Вас вылезает вышеназванная ошибка - то либо сервак выел всю оперативку отведенную под временный каталог, либо закончилось место на диске

Половину этой абракадабры мы не поняли, но смело отправляйте это сообщение в тех. поддержку хостера – и Ваш сайт заработает уже через 2-3 минуты. Что делается у хостера после получения такого текста - неизвестно, но проблема устраняется быстро.