Задать вопрос

Dual-primary DRBD: почему именно ocfs2/gfs/другая кластерная ФС?

Почему при развертывании DRBD, обе ноды которого работают в Primary режиме, для нормальной работы необходимо использовать кластерную фс, к примеру ocfs2?

При использовании ext3 синхронизация происходит, но только после перемонтирования раздела, как будто с первой ноды на вторую не передается файловая таблица.

К примеру, на 1 ноде удаляем файл 1.txt, на 2 ноде в выводе ls он присутствует, но попытка его открытия завершается ошибкой. Перемонтируем раздел на 2 ноде и файл пропадает. Почему так происходит, ведь DRBD работает с блоками и ничего не знает о развернутой поверх ФС?
  • Вопрос задан
  • 3438 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Почему так происходит, ведь DRBD работает с блоками и ничего не знает о развернутой поверх ФС

Потому что не-кластерная ФС не ожидает изменения блоков на носителе "в обход" себя.
Кластерные ФС либо организуют доступ данным на носителе таким образом, чтобы узнавать об изменениях ФС выполненных другими нодами кластера, либо синхронизируют ноды по отдельному каналу.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
lesovsky
@lesovsky
System engineer and PostgreSQL DBA
потому что нужен распределенный менеджер блокировок (DLM) для контроля за тем кто какие файлы читает/изменяет. так как кластерные фс используют этот механизм у них не возникает проблем с которой вы столкнулись при использовании ext3... но и в случае ocfs/gfs, и на старуху бывает проруха ;)

p.s. не люблю ни drbd, ни кластерные системы )))
p.p.s. вообще во многих распределенных системах используется такой механизм в том или ином виде, name node в hadoop, gtm в postgres-xc, metadata сервера в ceph и т.д.
Ответ написан
Комментировать
Shyrick
@Shyrick Автор вопроса
@jcmvbkbc @lesovsky т.е. получается что "метаданные" (кто что читает/изменяет) ОС хранит за пределами этого раздела? Просто в противном случае мой мозг отказывается понимать как ls на 2 ноде видит удаленный файл, если раздел отсинхронился и стал полной копией раздела 1 ноды.
Ответ написан
@tgz
А нужна ли кластерная fs, если мы пишем на обе ноды с одной машины? Например через iscsi multipath?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы