Samba/CTDB
Описание
В этой статье рассмотрим построение масштабируемого кластера файлового сервиса Samba. Для обеспечения высокой доступности мы будет использовать сетевую файловую систему, которая будет доступна одновременно всем серверам в кластере. В качестве кластерной файловой системы будем использовать GlusterFS. Для механизма блокировок Samba использует TBD (trivial data base), нам понадобится его кластерная реализация CTDB. CTDB будет управлять переносом IP-адреса и запуском сервиса Samba (и winbind если речь идет о доменной конфигурации).
Конфигурация (без доменной поддержки)
Общий вид можно представить схемой
Кластер GlusterFS
Построение кластера GlusterFS не рассматривается в данной статье. Немного устаревшие, но в целом верные шаги, возможно посмотреть в отдельном документе GlusterFS
- gluster1 - 192.168.160.11/24
- gluster2 - 192.168.160.12/24
- gluster3 - 192.168.160.13/24
Кластер Samba
- samba1 - первая нода сервиса smb - 192.168.160.151/24
- samba2 - первая нода сервиса smb - 192.168.160.152/24
- 192.168.160.180/24 - виртуальный IP по которому будет отвечать один из узлов
Установка необходимого ПО
# apt-get update # apt-get install samba-ctdb glusterfs9-client
Важно! Убедитесь, что у вас активна samba с поддержкой кластеризации. Результат должен быть таким
[root@samba1 ~]# smbd -b | grep -A 1 -i cluster CLUSTER_SUPPORT COMPILER_SUPPORTS_LL -- Cluster support features: CLUSTER_SUPPORT CTDB_SOCKET: /var/run/ctdb/ctdbd.socket
если у вас результат такой
Cluster support features: NONE
то, вероятно, у вас стоит несколько пакетов с smbd, к примеру пакет samba-dc, который нам сейчас не нужен и должен быть удален.