Нужно по файловому серверу на Linux в два географически отдаленных филиала, какие есть варианты синхронизировать списки пользователей и файлы?
Файлы должны синхронизироваться в двунаправленном порядке (не зеркало). Удаленные и новые файлы на первом сервере должны корректно удаляться и создаваться на втором сервере с сохранением прав доступа ACL (будет ext4 с опцией acl). Думал про Syncthing, но не уверен, что он ACL подтягивает. Списки пользователей - думал и насчет FreeIPA, и Samba DC и о других вариантах (вплоть до копирования конфигов скриптом), но пока не пришел к самому оптимальному (домен/AD использовать не планирую, т.к. хватает Win Home), да и не разобрался толком как делать реплики.
В общем, цель так-то простая и банальная - иметь две копии файлового сервера со всем содержимым, чтобы любой юзер мог зайти из любого филиала на "местный" сервер и работать, а админу было достаточно заводить новые учетки только на каком-то одном сервере, а оно потом само там реплицировалось. Локалки объединены VPN, около 30-50 Мбит/с.
aleks-th, канал оптика около 30-50 Мбит/с. Файлы - документация, 1-100 МБ. Я тестировал такой вариант, не годится. Мягко говоря, тупит, всё открывается/сохраняется гораздо медленнее, чем с локального диска. Примерно как с самой паршивой флешки. Задача заставить всех пользователей (около 20 человек) работать с документами в сетевой папке на сервере, чтобы вся текучка была в одном месте, а не размазано по отдельным ПК. Но с такой скоростью работы они просто нас пошлют и будут совершенно правы. На WinServer с его DFS / BranchCache можно было бы сделать, что сильно проще было бы, но его сейчас не купить, да и лицензии стоили недешево, насколько помню там еще CAL докупать на каждого юзера.
Windows Home не лицензируется для организаций, так что можно "воровать, так с музыкой" - Windows Pro \ Ent на рабочие станции и Windows Server 2022 с доменом на серверы.
Alexey Dmitriev, Windows Home можно использовать в организации без нарушения лицензии, если это ОЕМ, идущий в комплекте с самим ПК (предустановленный). Никакого нарушения лицензии тут нет и быть не может. Для несогласных - почитайте лицензию. А вот для "Офис для дома и учебы", популярного в некоторых организациях, такие ограничения, к примеру, есть и прописаны в EULA.
Нет, прям готовое решение задачи я получить не рассчитывал конечно же, скорее понять правильный путь, куда копать. Возможно, ввел в заблуждение такой фразой.
Где тебе его хватает? Если у тебя два компа - Win Home хватит. Если у тебя два филиала и пользователей больше трёх десятков - Win Home тебе уже явно не хватит.
Сергей Сахаров, разве сервер не пустит пользователей с компьютеров, которые не присоединены к домену? Я попробовал установить Samba 4 как контроллер домена (пока без DFS) и расшарил на нем папку - пускает и даже дает работать с обычного ПК, запрашивая логин и пароль от доменной УЗ, добавленной через samba-tool. Одно только плохо - не ищет пользователей при задании разрешений на файлы через Проводник. Не ищет "EXAMPLE\user1" к примеру, хотя показывает, что размещение, где будет поиск, EXAMPLE.LAN (мой домен на тестовом сервере). И самое забавное, если разрешения на самом сервере задать, то Windows прекрасно отображает список юзеров, а сама найти не может по тем же именам.
Для синхронизации файлов для такой ситуации можно использовать SyncThing.
Для синхронизации пользователей и прав доступа использовать конечно свободные реализации OpenLDAP хорошо, но есть нюансы с единой точкой отказа, необходимо будет это протестировать.
А для двух контролеров домена в разных локациях будет вопрос насколько хорошо свободные LDAP работают с доверием друг к другу.
Раз вы всё ещё как-то живёте без службы каталогов, значит организация совсем не большая и возможно будет проще остаться с локальными пользователями.
Отпишусь сюда как версию а не комментарий поскольку считаю это действительно единственным правильным решением.
В вашем решение есть 1 минус.
Вы пытаетесь изобрести транзакцию в том месте где ее по факту нет.
Для параллельного изменения данных используется sql и писаться в файлах реализовать вполне возможно но как минимум как операция на гланды через ..пу.
Дабы собрать сейчас веб интерфейс можно через GPT за минуту.
если сли это документ, то гугл докс вам в помощь, или Битрикс24 документы, если форма то гугл формы.
Но все эти решения так или иначе работают через транзакции в sql. Собственно это основная причина вообще существования самого sql и все хранят данные в нем а не в файлах именно по этой причине.
Может если вы опишите больше вводных данных, с размерами способом применения будет более понятны причины и следствия а так же могу и измениться решения.
К примеру это файл с логинами и паролями которые использует компания для подключений к клиентам.
Файлы должны синхронизироваться в двунаправленном порядке (не зеркало).
Если 2 сессии одновременно начали в 2 филиалах редактировать один файл
то теоретически может возникнуть ситуация дедлока. И в случае одноранговой системы
у нас нет правильного решения по разрешению такого дедлока.