Назад | Перейти на главную страницу

Настройка DRBD для нескольких рабочих станций

Я подумываю создать способ автоматизации резервирования данных и синхронизации нескольких рабочих станций в офисе. Наш офис устроен так, что ни у кого нет фиксированного стола, и любой может войти в систему и работать на любой рабочей станции в сети.

Один из способов сделать это - смонтировать NFS. /домой файловая система. Однако это замедлит доступ к файлам, так как все придется вытащить из сети, плюс это создаст единую точку отказа.

Это общая идея.

[WS-A]--- (DRBD) ---[BACKUP]--- (DRBD) ---[WS-B/C/D/etc]

Идея состоит в том, чтобы кто-то работал с WS-A, и любой сохраненный файл автоматически синхронизируется с другой машиной (резервное копирование). Таким образом, данные теперь доступны более чем на одной машине.

В идеале данные должны синхронизироваться и распространяться по всем рабочим станциям WS-B, WS-C и т. Д. В сети. Это распространение и синхронизация не обязательно должны быть мгновенными и могут быть асинхронными до тех пор, пока один и тот же пользователь может войти на любую рабочую станцию ​​в другое время (но только на одной машине за раз) и найти свои последние файлы.

Кроме того, если какая-либо рабочая станция выйдет из строя, установка будет автоматически восстановлена ​​и повторно синхронизирована после того, как машина вернется в сеть, что предотвратит проблемы с разделением мозга.

  1. Возможно ли это даже с DRBD; и
  2. Есть ли какие-то кошмарные проблемы с синхронизацией, о которых нам, возможно, нужно беспокоиться?

PS: В настоящее время у нас есть аналогичная установка, использующая glusterfs, и, похоже, она пока работает, за исключением того, что производительность падает при доступе к большому репозиторию git через нее.

Включение рабочих станций в кластер DRBD кажется мне ужасной идеей. Я сомневаюсь, что это когда-либо будет работать надежно, потому что теперь пользователи больше не могут перезагружать свою рабочую станцию.

Вместо этого убедитесь, что ваш NFS-сервер больше не является единственной точкой отказа, и настройте систему высокой доступности на этом этапе. Поскольку это непросто, я просто ссылаюсь на учебник для этогос.

То, что вы пытаетесь настроить, напоминает мне способ работы перемещаемых профилей Windows.

  1. Получить профиль с сервера на локальный диск
  2. После выхода из системы синхронизировать профиль с локального диска обратно на сервер

В принципе, вы можете добиться того же, используя rsync во время входа в систему и выхода из / на центральный сервер (который, конечно, должен быть HA).

ИМХО DRBD-конфигурация слишком статична для ваших целей.

С DRBD вы столкнетесь с проблемами, если у вас есть один пользователь с несколькими логинами. Если вы используете rsync -e ssh -auHS --delete последнее обновление победит, и последнее удаление перед выходом из системы будет распространяться.

Кстати: синхронизация через ssh также сделает все это безопасным.