Samba Cluster · 1 min read · Jan 29, 2026

Настройка кластера Active/Active Samba CTDB с использованием GFS и DRBD (CentOS 5.5) - Страница 3

Эта статья объясняет, как настроить кластер Active/Active Samba CTDB, используя GFS и DRBD. Подготовлено Рафаэлем Марангоне из команды BRLink Servidor Linux.

6. Настройка Samba

Конфигурация samba очень распространена. В этой статье мы не рассматриваем, как настраивать samba. Мы только объясняем очень простую конфигурацию.
Сделайте это на обоих узлах:

Сначала нам нужно настроить /etc/samba/smb.conf на обоих узлах:

vi /etc/samba/smb.conf 
[global]

clustering = yes
idmap backend = tdb2
private dir=/clusterdata/ctdb
fileid:mapping = fsname
use mmap = no
nt acl support = yes
ea support = yes

[public]
comment = публичный общий доступ
path = /clusterdata/public
public = yes
writeable = yes
only guest = yes 

Мы должны создать директории, используемые samba (только на одном узле):

mkdir /clusterdata/ctdb
mkdir /clusterdata/public
chmod 777 /clusterdata/public

Добавление root в samba, только на одном узле:

smbpasswd -a root

7. Настройка CTDB

Процесс установки ctdb очень прост. Сделайте это на обоих узлах:

Сначала нам нужно его скачать:

cd /usr/src
rsync -avz samba.org::ftp/unpacked/ctdb .
cd ctdb/

Затем мы можем его скомпилировать:

cd /usr/src/ctdb/
./autogen.sh
./configure
make
make install

Создание инициализационных скриптов и конфигурационных ссылок на /etc:

cp config/ctdb.sysconfig /etc/sysconfig/ctdb
cp config/ctdb.init /etc/rc.d/init.d/ctdb
chmod +x /etc/init.d/ctdb

ln -s /usr/local/etc/ctdb/ /etc/ctdb
ln -s /usr/local/bin/ctdb /usr/bin/ctdb
ln -s /usr/local/sbin/ctdbd /usr/sbin/ctdbd

Далее, нам нужно настроить /etc/sysconfig/ctdb на обоих узлах:

vi /etc/sysconfig/ctdb 
CTDB_RECOVERY_LOCK="/dadoscluster/ctdb/storage"
CTDB_PUBLIC_INTERFACE=eth0
CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
CTDB_MANAGES_SAMBA=yes
ulimit -n 10000
CTDB_NODES=/etc/ctdb/nodes
CTDB_LOGFILE=/var/log/log.ctdb
CTDB_DEBUGLEVEL=2
CTDB_PUBLIC_NETWORK="10.0.0.0/24"
CTDB_PUBLIC_GATEWAY="10.0.0.9" 

Теперь настройте /etc/ctdb/public_addresses на обоих узлах:

vi /etc/ctdb/public_addresses 
10.0.0.183/24
10.0.0.184/24

Затем настройте /etc/ctdb/nodes на обоих узлах:

vi /etc/ctdb/nodes 
10.0.0.181
10.0.0.182

Затем настройте /etc/ctdb/events.d/11.route на обоих узлах:

vi /etc/ctdb/events.d/11.route 
#!/bin/sh

. /etc/ctdb/functions
loadconfig ctdb

cmd="$1"
shift

case $cmd in
    takeip)
         # мы игнорируем ошибки от этого, так как маршрут может быть уже активен, когда мы захватываем
         # 2-й IP на этом интерфейсе
         /sbin/ip route add $CTDB_PUBLIC_NETWORK via $CTDB_PUBLIC_GATEWAY dev $1 2> /dev/null
         ;;
esac

exit 0

Установите разрешение +x на скрипт:

 chmod +x /etc/ctdb/events.d/11.route 

Наконец, нам нужно запустить службы:

/etc/init.d/ctdb start
/etc/init.d/smb start
chkconfig –level 35 ctdb on
chkconfig –level 35 smb on

Ссылки

CTDB: http://ctdb.samba.org/
CTDB: http://wiki.samba.org/index.php/CTDB_Setup#RedHat_GFS_filesystem
Howto: http://jun.homeunix.com/skills/server/GFS.DRBD8.CTDB.SAMBA.CentOS.txt

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.