Samba/Cluster
Описание
В этой статье рассмотрим обеспечение высокой доступности сервиса Samba. Для обеспечения высокой доступности мы будет использовать общее хранилище, которое будет доступно одновременно всем серверам в кластере. Для синхронизации доступа серверов к общему хранилищу используется DLM (распределенный менеджер блокировок). В качестве кластерной файловой системы будем использовать GFS2, но она не работает напрямую с блочными устройствами, поэтому нам придется использовать кластерную реализацию LVM. Для механизма блокировок Samba использует TBD (trivial data base), нам понадобится его кластерная реализация CTDB. CTDB будет управлять переносом IP-адреса и запуском сервиса Samba. Pacemaker будет управлять следующими ресурсами: DLM, CLVM, GFS2, CTDB.
Тестовая конфигурация
Рассмотрим следующую конфигурацию:
- samba01 - первый узел кластера (IP 192.168.135.221/24 ens18)
- samba02 - второй узел кластера (IP 192.168.135.223/24 ens18)
- 192.168.135.251 - виртуальный IP по которому будет отвечать один из узлов
На каждом узле доступно общее блочное устройство /dev/sdb, настроен hostname и в файле /etc/hosts прописано соответствие адреса имени. Так же настроен взаимный беспарольный root-доступ для первоначальной инициализации кластера.
Установка и настройка Pacemaker
Установим необходимые пакеты на всех узлах:
# apt-get install pacemaker
Для управления кластером будем использовать утилиту crmsh:
# apt-get install crmsh python-module-yaml
На одном из узлов инициализируем кластер:
# crm cluster init nodes=samba01,samba02