13. Настройка репликации Samba серверов

Введение

Часто возникает необходимость организации функционирования информационной системы с единой базой данных на нескольких серверах. Причиной этого становится, как правило, наличие на предприятии удаленных подразделений (территориально-распределенная структура предприятия). В этом случае приходится решать проблему организации передачи данных. Для решения данной проблемы используется механизм репликации.

Репликация — механизм синхронизации содержимого нескольких копий объекта (база данных LDAP). Репликация — это процесс, под которым понимается копирование данных из одного источника на множество других и наоборот.
При репликации изменения, сделанные в одной копии объекта, могут быть распространены в другие копии.

Репликация Samba подразумевает, то что на серверах, включенных в репликацию, будут одинаковые списки пользователей, и изменения, проведенные на одном из этих серверов, касающиеся учетных записей unix и samba, будут автоматически перенесены на остальные сервера.

Поддержка репликации LDAP включена в пакет calculate-server начиная с версии 2.0.7.

Настройка и запуск репликации

Резервное копирование

Перед тем как начинать настраивать репликацию, рекомендуется сделать резервную копию настроек, чтобы в случае некорректных действий не потерять данные:

cl-backup

Для восстановления данных из последней резервной копии используйте команду:
cl-backup -r

Настройка реплицирования сервисов

Добавление samba сервиса в репликацию и указание серверов производится командой

cl-replication -r <полные имена серверов через запятую> samba

Для получения полного имени сервера используйте команду hostname -f

При указании списка серверов репликации samba сервиса, для них автоматически добавляется репликация unix сервиса.

Перенос настроек репликации на другие серверы

Для того, чтобы перенести настройки репликации на другие серверы необходимо:
*на сервере, где настроена репликация, сделать резервную копию настроек:

cl-backup

*скопировать полученную резервную копию на все серверы, включенные в репликацию:
scp /var/calculate/server-backup/ldap/<последний бэкап>.tar.bz2 root@otherserver:/var/calculate/server-backup/ldap/

Применение настроек репликации на других серверах

Для применения настроек репликации на других серверах необходимо выполнить на них команду

cl-rebuild --repl

Отключение репликации

Для отключения репликации сервиса на сервере используется команда:

cl-replication --off <сервис>

Поддержка со стороны клиента

Репликацию поддерживает пакет calculate-client начиная с версии 2.0.13.

Последовательность действий клиента:
  1. при входе в сеанс клиент синхронизирует профиль с текущим сервером;
  2. определяет включена ли репликация на сервере;
  3. если включена репликация, считывает из LDAP информацию о местоположении последней копии профиля и при необходимости синхронизирует профиль пользователя с удаленным сервером;
  4. при выходе из сеанса профиль записывается на текущий сервер;
  5. в случае успешной синхронизации с удаленным сервером, делается пометка в LDAP записи (реплицируемой на все сервера), о новом расположении последней копии профиля.
Спасибо!