Как зеркально хранить файлы на нескольких серверах в интернете на горячую?
Есть 5 филиалов, по ~70 пользователей в каждом. Есть общая файлопомойка ~2ТБ - офисные документы, таблицы, картинки. Филиалы подключены к интернету на скорости в ~20Мб/с. Хочу сделать зеркало файлопомойки в каждом филиале. Встал скромный вопрос синхронизации файлов. Rsync я не осилил, он синхронизирует только в одну сторону и моя криворукость привела к тому, что иногда старые версии файлов переписывали новые. Syncthing как-то тупит, он может к "вечеру понять, что утром" что-то изменилось и начать передавать...
В какую сторону можно почитать? Хочется что-то на уровне файловой системы, чтобы определяла, что что-то меняется и само изменение передавала на другие зеркала, а не целиком файлы. Как это реализуется в облаках?
PS. Да, сервера на debian. И как бы нет главного сервера, пользователи подключаются каждый к своему и шерудят там файлами как им вздумается. И нужно это всё синхронизировать.
Не думаю, что только у меня возник такой вопрос, но как-то всё глухо. Или каждый пишет что-то своё закрытое, или что...
Нашел интересную штуку - Ceph, кажись именно то, что нужно. Раскуриваю потихоньку, забористая.
Ещё есть Glaster, но уж очень нежная, очень желательно компьютерам находиться в одной локалке рядышком друг с другом.
Ceph мощная штука, но ежели архитектура виндовая я бы присмотрелся к BranchCashe, ибо все есть в комплекте, работает очень неплохо. Там используется тот же механизм что и при дедупликации в windows.
На удаленный филиал передаются только измененные блоки если файл изменен, если не изменен идет работа с локальным кэшем.