Во-первых, несколько слов предупреждения: не принято кластеризовать контроллер домена с CTDB. Кластеризация/CTDB предназначена для файловых серверов, которые обычно являются рядовыми серверами в домене. Основная цель контроллера домена — предлагать услуги входа в систему для клиентов, и обычно используются другие службы репликации (например, хранение БД в ldap вместо TDB). Кластеризация контроллера домена может быть проблематичной, поскольку весь кластер должен последовательно представляться клиентам как единый сервер. Это может вызвать проблемы с разрешением имен nmbd/NetBIOS. Кроме того, одна проблема заключается в том, что вам необходимо убедиться в том, что в кластере все подчиненные учетные записи пользователей созданы на всех узлах кластера ctdb с одинаковыми идентификаторами пользователей.
Как правило, рекомендуется максимально отделять роли файловых серверов от ролей контроллера домена. Также имейте в виду, что, начиная с Samba 4.0, теперь есть функциональные возможности контроллера домена Active Directory, который поставляется с репликацией базы данных пользователей с несколькими мастерами на уровне протокола.
При этом важно то, что вы не можете свободно заменять версии samba и ctdb. Samba 3.6 должна работать с ctdb 2.5, но Samba необходимо перекомпилировать для используемой версии ctdb. т.е. если Samba была скомпилирована для более старой версии CTDB (например, 1.0.114.X), то этот бинарный пакет не будет работать с CTDB 2.5.
Если у вас есть рабочий набор пакетов samba и ctdb, то процесс переноса предыдущей установки в эту новую установку зависит от того, была ли предыдущая установка также кластером CTDB. Если это так, вы можете сделать
ctdb getdbmap
на старой установке, а затем запустить
ctdb backupdb
во всех базах данных с пометкой PERSISTENT. При новой установке вы используете
ctdb restoredb
восстановить все эти БД.
Если предыдущая установка была некластеризованной Samba, то ваш совет использовать ltdbtool верен. Вы должны
скопируйте важные базы данных со старой установки, по крайней мере:
secrets.tdb passdb.tdb winbindd_idmap.tdb group_mapping.tdb account_policy.tdb share_info.tdb
преобразовать их в формат ctdb с помощью ltdbtool
- убедитесь, что ctdb выключен на всех узлах
- скопируйте преобразованные базы данных в
/var/lib/ctdb/persistent/
на узле номер 0, добавив к имени файла суффикс .0
, например. `/var/lib/ctdb/persistent/secrets.tdb.0'
- запустить ctdb на узле 0
- запустить ctdb на всех остальных узлах
после этого эти БД должны быть синхронизированы в кластере.
person
Michael Adam
schedule
18.06.2015