Я подумываю создать способ автоматизации резервирования данных и синхронизации нескольких рабочих станций в офисе. Наш офис устроен так, что ни у кого нет фиксированного стола, и любой может войти в систему и работать на любой рабочей станции в сети.
Один из способов сделать это - смонтировать NFS. /домой файловая система. Однако это замедлит доступ к файлам, так как все придется вытащить из сети, плюс это создаст единую точку отказа.
Это общая идея.
[WS-A]--- (DRBD) ---[BACKUP]--- (DRBD) ---[WS-B/C/D/etc]
Идея состоит в том, чтобы кто-то работал с WS-A, и любой сохраненный файл автоматически синхронизируется с другой машиной (резервное копирование). Таким образом, данные теперь доступны более чем на одной машине.
В идеале данные должны синхронизироваться и распространяться по всем рабочим станциям WS-B, WS-C и т. Д. В сети. Это распространение и синхронизация не обязательно должны быть мгновенными и могут быть асинхронными до тех пор, пока один и тот же пользователь может войти на любую рабочую станцию в другое время (но только на одной машине за раз) и найти свои последние файлы.
Кроме того, если какая-либо рабочая станция выйдет из строя, установка будет автоматически восстановлена и повторно синхронизирована после того, как машина вернется в сеть, что предотвратит проблемы с разделением мозга.
PS: В настоящее время у нас есть аналогичная установка, использующая glusterfs, и, похоже, она пока работает, за исключением того, что производительность падает при доступе к большому репозиторию git через нее.
Включение рабочих станций в кластер DRBD кажется мне ужасной идеей. Я сомневаюсь, что это когда-либо будет работать надежно, потому что теперь пользователи больше не могут перезагружать свою рабочую станцию.
Вместо этого убедитесь, что ваш NFS-сервер больше не является единственной точкой отказа, и настройте систему высокой доступности на этом этапе. Поскольку это непросто, я просто ссылаюсь на учебник для этогос.
То, что вы пытаетесь настроить, напоминает мне способ работы перемещаемых профилей Windows.
В принципе, вы можете добиться того же, используя rsync во время входа в систему и выхода из / на центральный сервер (который, конечно, должен быть HA).
ИМХО DRBD-конфигурация слишком статична для ваших целей.
С DRBD вы столкнетесь с проблемами, если у вас есть один пользователь с несколькими логинами. Если вы используете rsync -e ssh -auHS --delete
последнее обновление победит, и последнее удаление перед выходом из системы будет распространяться.
Кстати: синхронизация через ssh также сделает все это безопасным.