Glusterfs — deadlock при одновременном создании файла
GlusterFS — один из вариантов кластерной FS
Мы решили использовать ее для синхронизации двух серверов фронтенда.
Картинки, метафайлы, скрипты, исходники.
По началу казалось что все хорошо.
И чтука эта хорошая, работала две недели, но уже второй день сервер можно так сказать — лежит.
Проблема, судя по всему, проста — при одновременном создании одного и того же файла( а в процессе работы такое часто случается) система уйдет в deadlock.
Данная проблема гуглиться, но ниодного решения я не обнаружил
результат блокировки — LA 50-80, нулевая нагрузка на сервер, и даже nginx нельзя выключить( framelock )
Решение одно — ребут. Сервер работает несколько часов и все повторяется опять.
Сейчас из двух серверов в итоге работает только один — второй обслуживает только статику, переправляя остальные запросы на апстрим первого.
Таким образом мы пишем всегда из одного места и проблемы нет.
И это как-то ну совсем не интересно, когда один из серверов простаивает.
Поделитесь решением обхода данной проблемы.
Вариант решения:
1. правильный — надо настроить систему с glusterfs -так-
2. приемлемый — DRBD
3. возможный — демон на inotify, благо есть
ps: два сервера, две ноды в реплике. каждый клиент смотрит на себя и на соседний сервер.
В инете была инфа что магия начинается именно когда клиент соединяется в том числе с локальным сервером. Ведь работают же как-то большие системы на глустере, и не уходят в лок