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

Монтирование многопутевых устройств по UUID в fstab

У меня есть несколько многопутевых iSCSI LUN, отформатированных как ocfs2 файловые системы. Они являются частью кластера Ubuntu 14.04, использующего локальное сердцебиение. Кажется, все это работает нормально, если я монтирую их вручную после перезагрузки.

Если я попытаюсь автоматически смонтировать их по UUID через fstab (даже с _netdev вариант) У меня проблемы.

Если у меня есть записи fstab (например, следующие), закомментированные во время загрузки

UUID=094c02f6-bfbb-4fe5-8a90-3b6992c81a60     /mnt/lun-1   ocfs2   _netdev        0       0

а затем раскомментируйте их после входа в систему и запустите mount -a вроде все нормально. т.е. multipath -ll показывает несколько путей к каждому устройству iSCSI. например.:

3603be8bfce91e3e06e63e5ad426f4d98 dm-5 EQLOGIC ,100E-00
size=15T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  |- 19:0:0:0 sdr 65:16 active ready  running
  `- 20:0:0:0 sdf 8:80  active ready  running

и mount показывает, что /dev/mapper/* устройства для моих iSCSI LUN:

/dev/mapper/3603be8bfce91e3e06e63e5ad426f4d98-part1 on /mnt/lun-1 type ocfs2 (rw,_netdev,heartbeat=local)

Однако, если я перезагружусь с тем же fstab запись без комментариев, я не получаю то же самое multipath -ll вывод. А именно, присутствует только одно многопутевое устройство, а не одно для каждого iSCSI LUN.

mount показывает устройство не как /dev/mapper/* но только одному устройству без многопутевого /dev/sdc1.:

/dev/sdk1 on /mnt/lun-1 type ocfs2 (rw,_netdev,heartbeat=local)

Я что-то делаю не так, или это вызвано multipath не был полностью готов до моего ocfs2 многолучевые устройства монтируются?

Недавно у меня была очень похожая проблема, и я обнаружил эту ошибку:

https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1547206

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

apt-get install multipath-tools = 0.4.9-3ubuntu7

apt-mark hold multipath-tools

aptitude hold multipath-tools

Проблема, похоже, такая, как я ожидал, либо multipath не полностью или open-iscsi еще не вошел в цели iscsi для всех путей, когда ocfs2 fstab записи смонтированы. Это несмотря на то, что _netdev как вариант крепления.

Я пробовал возиться с init.d скрипты для /etc/init.d/o2cb и /etc/init.d/ocfs2 добавляя iscsi и multipath-tools к их Should-Start: и Should-Stop: линий. Но, похоже, не удалось заставить эту многопутевую установку ocfs2 с помощью UUID работать должным образом.

Если вместо этого я использую соответствующее многопутевое устройство (например, /dev/mapper/3603be8bfce91e3e06e63e5ad426f4d98-part1), а не UUID, вещи загружаются нормально, а монтирование через fstab корректно работает с использованием многопутевости.

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

fstab на хосте с участием Многолучевость

/dev/mapper/3603be8bfce91e3e06e63e5ad426f4d98-part1 /mnt/lun-1 ocfs2 _netdev 0 0

fstab на хосте без Многолучевость

/dev/disk/by-id/scsi-3603be8bfce91e3e06e63e5ad426f4d98-part1 /mnt/lun-1 ocfs2 _netdev 0 0

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

Смотря на /etc/multipath/bindings Я вижу, что существует статическое соответствие между WWID (глобально уникальный серийный номер накопителя) и устройствами mpath {a-z}. Использование UUID файловой системы для обхода непостоянных букв дисков просто не было необходимым, поскольку multipathd реализует собственное постоянное сопоставление, которое гарантирует, что буквы дисков не меняются при перезагрузках или при изменении подключения физического диска.

Я не могу сказать, применимо ли это решение к iSCSI, но оно сработало для меня для физических устройств с несколькими путями.