kashey
@kashey
Программирую большую половину жизни

Glusterfs — deadlock при одновременном создании файла

GlusterFS — один из вариантов кластерной FS
Мы решили использовать ее для синхронизации двух серверов фронтенда.
Картинки, метафайлы, скрипты, исходники.
По началу казалось что все хорошо.
И чтука эта хорошая, работала две недели, но уже второй день сервер можно так сказать — лежит.

Проблема, судя по всему, проста — при одновременном создании одного и того же файла( а в процессе работы такое часто случается) система уйдет в deadlock.
Данная проблема гуглиться, но ниодного решения я не обнаружил

результат блокировки — LA 50-80, нулевая нагрузка на сервер, и даже nginx нельзя выключить( framelock )
Решение одно — ребут. Сервер работает несколько часов и все повторяется опять.

Сейчас из двух серверов в итоге работает только один — второй обслуживает только статику, переправляя остальные запросы на апстрим первого.
Таким образом мы пишем всегда из одного места и проблемы нет.
И это как-то ну совсем не интересно, когда один из серверов простаивает.

Поделитесь решением обхода данной проблемы.
Вариант решения:
1. правильный — надо настроить систему с glusterfs -так-
2. приемлемый — DRBD
3. возможный — демон на inotify, благо есть

ps: два сервера, две ноды в реплике. каждый клиент смотрит на себя и на соседний сервер.
В инете была инфа что магия начинается именно когда клиент соединяется в том числе с локальным сервером. Ведь работают же как-то большие системы на глустере, и не уходят в лок
  • Вопрос задан
  • 2725 просмотров
Пригласить эксперта
Ответы на вопрос 1
kashey
@kashey Автор вопроса
Программирую большую половину жизни
Сам написал — сам и решу
бага версии 3.2.1
решена в 3.2.2
судя по всему ее не было в версиях меньеш 3.2.0
bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3011
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы