Назад | Перейти на главную страницу

Ext3 продолжает получать ошибку журнала и становится доступным только для чтения

У меня есть сервер RHEL5.5 x86_64 с 2 HBA, подключенными к массивам хранения EMC и HP. EMC PowerPath установлен, потому что на этом настаивает мой поставщик EMC.

Моя проблема в том, что тома в хранилище HP часто получают ошибку журнала (см. Ниже) и переходят в режим только для чтения.

Это проблема с SAN или с ОС? Как я могу это решить?

May 27 14:16:57 cvoddv01 kernel: journal_bmap: journal block not found at offset 6156 on dm-7
May 27 14:16:57 cvoddv01 kernel: Aborting journal on device dm-7.
May 27 14:16:57 cvoddv01 kernel: ext3_abort called.
May 27 14:16:57 cvoddv01 kernel: EXT3-fs error (device dm-7): ext3_journal_start_sb: Detected aborted journal
May 27 14:16:57 cvoddv01 kernel: Remounting filesystem read-only
May 27 14:16:57 cvoddv01 kernel: __journal_remove_journal_head: freeing b_frozen_data
May 27 14:16:57 cvoddv01 kernel: __journal_remove_journal_head: freeing b_committed_data
May 27 14:16:57 cvoddv01 kernel: __journal_remove_journal_head: freeing b_frozen_data
May 27 14:17:36 cvoddv01 kernel: ext3_abort called.
May 27 14:17:36 cvoddv01 kernel: EXT3-fs error (device dm-7): ext3_put_super: Couldn't clean up the journal

Мой modprobe.conf:

alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 cciss
alias scsi_hostadapter3 ata_piix
alias scsi_hostadapter4 qla2xxx
alias eth0 e1000e
alias eth2 e1000e
alias eth1 e1000e
alias eth3 e1000e
alias eth4 bnx2
alias eth5 bnx2
#Added by HP rpm installer
alias scsi_hostadapter_mptscsih_module mptscsih
#Added by HP rpm installer
alias scsi_hostadapter_mptsas_module mptsas
options qla2xxx ql2xmaxqdepth=16 ql2xloginretrycount=30 qlport_down_retry=64
options lpfc lpfc_lun_queue_depth=16 lpfc_nodev_tmo=30 lpfc_discovery_threads=32
###BEGINPP
include /etc/modprobe.conf.pp
###ENDPP

/ Etc / fstab:

/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
#/dev/sdae1             /mnt/sda1               ext3    defaults        0 0
#/dev/sdaf1             /mnt/sdb1               ext3    defaults        0 0
#/dev/sdag1             /mnt/sdc1               ext3    defaults        0 0
#/dev/sdah1             /mnt/sdd1               ext3    defaults        0 0
/dev/vg01/lvu02         /u02                    ext3    defaults        0 0
/dev/vg01/lvu03         /u03                    ext3    defaults        0 0
/dev/vg01/lvu04         /u04                    ext3    defaults        0 0
/dev/vg01/lvu05         /u05                    ext3    defaults        0 0
/dev/vg02/lvu06         /u06                    ext3    defaults        0 0
/dev/vg02/lvu07         /u07                    ext3    defaults        0 0
/dev/vg02/lvu08         /u08                    ext3    defaults        0 0
/dev/vg02/lvu09         /u09                    ext3    defaults        0 0
shmfs                   /dev/shm                tmpfs   rw,size=22g     0 0

uanme -a

Linux cvoddv01.globetel.com 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

Вам действительно следует использовать либо dm-multipath, либо PowerPath, но не оба одновременно.

Из Руководство администратора PowerPath:

PowerPath несовместим с родным средством отображения устройств Linux (DM-MPIO). Настройка обоих продуктов на одном хосте может вызвать нестабильность системы. EMC рекомендует не настраивать собственный сопоставитель устройств на хосте, на котором будет установлен PowerPath.

В прилагаемом журнале упоминается устройство dm-7, поэтому я ожидаю, что вы используете multipathd для хранилища HP, верно? Если да, приложите также свою конфигурацию multipathing.

el5 в имени ядра предполагает RHEL 5. Если у вас есть контракт на поддержку, свяжитесь с ними как можно скорее, они смогут вам помочь.

На основании данных мы уверены, что попытка доступа к журналу была предпринята, но не удалась, и ОС сделала единственное, что могла, то есть заморозила файловую систему, чтобы не повредить ее любыми записями.

Неисправность может заключаться в любом из компонентов:

  1. Хранилище - в порядке ли файловая система после перемонтирования? Можете ли вы сделать полный fsck, чтобы увидеть, является ли проблема с журналом единственной причиной, которая пошла не так, или, может быть, у вас много скрытых повреждений, и только когда ошибка попадает в журнал, она становится видимой.
  2. Этот конкретный LUN. Можете ли вы (например: возможно ли это) отформатировать его, восстановить данные и посмотреть, повторится ли это снова?
  3. Можете ли вы создать еще один LUN в том же массиве и посмотреть, сможете ли вы воспроизвести ошибку? LUN в другом массиве в том же хранилище?
  4. Multipathing - можете ли вы воспроизвести ошибки, если вы обращаетесь к хранилищу напрямую, только по одному пути (для этого требуется изменение зонирования SAN или маскировки lun в хранилище).
  5. Конфликт драйверов между powerpath и родным multipathing. Можете ли вы воспроизвести ошибку на том же LUN, если у вас не установлен powerpath?

Я не думаю, что это будет ошибка в коде ext3, потому что она существует уже давно, но вы используете какие-либо экзотические варианты монтирования? У вас есть блок 4K на хранилище? Что-нибудь экзотическое?

Сервер когда-нибудь работал нормально? Если да, то можете ли вы назвать изменение, которое привело к сбою?

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

Однако я думаю, что лучше всего будет связаться с поставщиком вашей ОС и заставить его выступить за дело.

Вы пробовали удалить и восстановить журналы? Есть несколько сообщений, в которых объясняется, как воссоздать журналы EXT3. Если восстановление журналов по-прежнему выдает ошибки, я бы исследовал оборудование / драйверы. - Извините, я не могу здесь подробнее рассказать.