11.4. Конфигурация CTDB

Файл конфигурации CTDB расположен в /etc/sysconfig/ctdb. Для нормального функционирования CTDB потребуется настроить обязательные значения:
  • CTDB_NODES
  • CTDB_PUBLIC_ADDRESSES
  • CTDB_RECOVERY_LOCK
  • CTDB_MANAGES_SAMBA (должно быть активно)
  • CTDB_MANAGES_WINBIND (должно быть активно при выполнении на сервере)
Пример файла:
CTDB_NODES=/etc/ctdb/nodes
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_RECOVERY_LOCK="/mnt/ctdb/.ctdb.lock"
CTDB_MANAGES_SAMBA=yes
CTDB_MANAGES_WINBIND=yes
Далее эти параметры рассмотрены более подробно.
CTDB_NODES
Определяет путь к файлу со списком узлов.
Файл /etc/ctdb/nodes содержит перечень IP-адресов узлов. Пример:
192.168.1.151
192.168.1.152
192.168.1.153
В этом примере для каждого узла настроен один IP-адрес, используемый для обслуживания клиентов и взаимодействия между кластером и базой данных CTDB. Однако на каждом узле настоятельно рекомендуется настроить отдельные интерфейсы для обслуживания клиентов и вазимодействия кластера с базой данных. Указанные адреса должны совпадать с перечисленными в файле cluster.conf, а определения интерфейсов должны соответстветствовать интерфейсам в файле public_addresses.
Файл /etc/ctdb/nodes должен быть идентичен на всех узлах кластера.
CTDB_PUBLIC_ADDRESSES
Определяет расположение файла со списком IP-адресов, используемых для доступа клиентов CIFS к экспортируемым каталогам Samba. Эти адреса должны быть сопоставлены DNS-имени сервера Samba. Имя сервера должно быть определено в виде DNS-записи типа A с несколькими IP-адресами узлов, которые будут выбираться циклически.
В этом примере запись csmb-server будет включать все адреса из файла /etc/ctdb/public_addresses. Выбор узлов для обработки запросов клиентов будет осуществляться циклически.
/etc/ctdb/public_addresses на каждом узле будет выглядеть так:
192.168.1.201/0 eth0
192.168.1.202/0 eth0
192.168.1.203/0 eth0
В этом примере будут задействованы три незанятых адреса. При выборе адресов следует убедиться, что клиенты смогут обращаться к соответствующим узлам.
Далее приведен пример файла /etc/ctdb/public_addresses в кластере с тремя узлами, но четырьмя адресами. Адрес 198.162.2.1 может предоставляться узлом 0 или 1 и будет доступен клиентам при условии, что хотя бы один из двух узлов доступен. Остальные адреса предоставляются отдельными узлами.
Так, /etc/ctdb/public_addresses на узле 0 будет включать:
198.162.1.1/24 eth0
198.162.2.1/24 eth1
/etc/ctdb/public_addresses на узле 1 будет включать:
198.162.2.1/24 eth1
198.162.3.1/24 eth2
/etc/ctdb/public_addresses на узле 2 будет включать:
198.162.3.2/24 eth2
CTDB_RECOVERY_LOCK
Определяет файл блокирования, используемый базой данных CTDB для восстановления. Должен быть доступен всем узлам. В приведенном примере файловая система GFS2 будет смонтирована в /mnt/ctdb на всех узлах. Эта GFS2 отличается от файловой системы, где будет размещаться экспортируемый ресурс Samba. Файл блокирования предназначен для предотвращения разделения мощностей в кластере. В последних версиях CTDB (начиная с 1.0.112) этот файл не является обязательным, если определен другой механизм предотвращения подобных сценариев.
CTDB_MANAGES_SAMBA
Значение yes разрешает базе данных CTDB осуществлять запуск и остановку службы Samba при ее переносе на другой узел.
При активации CTDB_MANAGES_SAMBA следует отключить автоматический запуск smb и nmb в init:
[root@clusmb-01 ~]# chkconfig snb off
[root@clusmb-01 ~]# chkconfig nmb off
CTDB_MANAGES_WINBIND
Значение yes разрешает базе данных CTDB осуществлять запуск и остановку winbind. Рекомендуется установить, если CTDB используется в домене Windows или работает в защищенном режиме Active Directory.
При активации CTDB_MANAGES_SAMBA следует отключить автоматический запуск winbind в init:
[root@clusmb-01 ~]# chkconfig windinbd off