У меня довольно простой двухузловой кластер Apache с плоскими файлами в SAN с использованием файловой системы OCFS2, установленной на обоих узлах. Веб-сайт работает, как и ожидалось, но я вижу много следующих сообщений в системных журналах обоих серверов:
На Apache 1
[248816.701082] (apache2,62749,1):ocfs2_mknod:459 ERROR: status = -31
[248816.702187] (apache2,62749,1):ocfs2_mkdir:613 ERROR: status = -31
На Apache2
[249043.856561] (apache2,46225,2):ocfs2_mknod:459 ERROR: status = -31
[249043.858633] (apache2,46225,2):ocfs2_mkdir:613 ERROR: status = -31
Ежедневно регистрируется около 6000 таких строк, и ошибка всегда примерно
ocfs2_mknod:459 and ocfs2_mkdir:613.
Кто-нибудь видел это раньше? Мне бы очень хотелось избавиться от этих сообщений об ошибках.
У меня была ошибка «На устройстве не осталось места», но в моей файловой системе ocfs2 было свободное место с corosync + pacemaker на suse 11 sp2
"No space left on device"
Я решил проблему с этим http://www.novell.com/support/kb/doc.php?id=7008696
По-видимому, проблема была связана с поврежденными секторами (не знаю, как это сделать). Через несколько дней после того, как я опубликовал эту проблему, все стало еще хуже. Система жаловалась на наличие битых секторов в разделе, а затем монтировалась только для чтения. В конце концов он полностью прекратил монтирование раздела, и нам пришлось создать новый раздел в SAN и восстановить данные из резервной копии.
Новый раздел некоторое время работал, но теперь один из двух узлов, раздел по какой-то причине монтируется только для чтения. При прикосновении к файлу появляется следующая ошибка:
touch: cannot touch `test_file': No space left on device
Однако на другом узле он работает нормально. Я умею читать и писать как обычно.
Потратив слишком много времени на эту проблему, мы решили, что это не стоит усилий, и теперь ищем альтернативы - возможно, glusterfs, GFS2 или даже старый добрый общий ресурс NFS для хранения плоских файлов.