LINUX.ORG.RU
ФорумAdmin

траблы с glustersf

 ,


0

1

Привет. gluster перестаёт работать при падении одной из двух нод.

Ставлю по их quick-Start-Guideс сайта, на двух серверах. всё делаю в debian.

Потом монтирую с сторонней ноды как по доке mount -t glusterfs server1:/gv0 /mnt и на server2 говорю reboot - перезагружаю его.

Всё, данные перестают читаться и писаться на в\из /mnt Как толлько нода поднимается - всё нормализуется. Хочу читать и писать данные даже при отказе одного сервера.. Где я ошибся?


Хочу читать и писать данные даже при отказе одного сервера.. Где я ошибся?

В выборе инструмента. Эта файловая система пишет синхронно на все ноды. Клиент не получит ответа, пока все ноды не синхронизируются. Для частных случаев есть асинхронный механизм geo replication с понятием master-slave, но тебе это врядли нужно.

gluster volume get volXX network.ping-timeout
по умолчанию 42 секунды после пропажи ноды клиент будет ждать ответа.
Подозреваю, что за это время

server2 говорю reboot - перезагружаю его

у тебя успевает встать в строй.
Сделай 5 секунд, клиент будет отваливаться с ожидаемым поведением + смотри логи живой ноды.

bass ★★★★★
()
Ответ на: комментарий от bass

Фигню говоришь.

При reboot'е glusterfsd килляется с SIGTERM, и это *не* приводит к внезапному отвалу ноды. Клиент получает уведомление о том, что нода идёт в даун, и всё работает нормально. Таймаут тут роли не играет.

И, конечно, это так только в случае с replicated. Если у пациента исключительно distributed volume (что, собственно, по умолчанию и делается), то никакой отказоустойчивости не будет.

Поэтому, ещё раз — где лейаут?

post-factum ★★★★★
()
Последнее исправление: post-factum (всего исправлений: 1)
Ответ на: комментарий от bass

bass, спасибо, таймаут играет роль. скажите, если при replica 2 если ушла одна из вдух нод в даун, клиент продолжает писать на оставшуюся, тут ок, при этом ушедлашя в даун нода лежит долго, за это время в первую ноду с клиента влетает много данных, потом сам клиент уходит в даун и только затем поднимается вторая нода, в этом случае записанные клиентом за это время данные на первую ноду будут синхронизированы на вторую? Кто в этом случае выступает в роли «синхронизатора»?

Заранее спасибо.

VoDD87
() автор топика
Ответ на: комментарий от VoDD87

Тебе никто не мешает просто проверить все свои вопросы на стенде из виртуалок.

будут синхронизированы на вторую?

естественно

кто в этом случае выступает в роли «синхронизатора»?

не понял вопроса, но в терминах этой фс процесс синхронизации данных на нодах называется heal, этим занимается glustershd
если ты спрашивал кто будет донором данных, то логично, что нода, у которой самые свежие данные/журналы

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

И ещё, в случае с glusterfs, я больше теоретик, изучал, тестировал, но не выводил в продакшн. Так что уровень моих ответов соответственный :)

bass ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.