Кластеры · 3 min read · Jan 29, 2026
Настройка кластера Active/Active Samba CTDB с использованием GFS и DRBD (CentOS 5.5) - Страница 2
Эта статья объясняет, как настроить кластер Active/Active Samba CTDB, используя GFS и DRBD. Подготовлено Рафаэлем Марангони из команды BRLink Servidor Linux.
3. Установка необходимых пакетов и пакетов кластера
Сначала необходимо установить некоторые пакеты:
yum -y install drbd82 kmod-drbd82 sambaДавайте установим Red Hat Cluster Suite:
yum -y groupinstall "Cluster Storage" "Clustering"4. Настройка DRBD
Сначала нам нужно настроить /etc/drbd.conf на обоих узлах:
vi /etc/drbd.conf global {
usage-count yes;
}
common {
syncer {
rate 100M;
al-extents 257;
}
}
resource r0 {
protocol C;
startup {
become-primary-on both; ### Для Primary/Primary ###
degr-wfc-timeout 60;
wfc-timeout 30;
}
disk {
on-io-error detach;
}
net {
allow-two-primaries; ### Для Primary/Primary ###
cram-hmac-alg sha1;
shared-secret "mysecret";
after-sb-0pri discard-zero-changes;
after-sb-1pri violently-as0p;
after-sb-2pri violently-as0p;
}
on node1.clustersmb.int {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.0.1:7788;
meta-disk internal;
}
on node2.clustersmb.int {
device /dev/drbd0;
disk /dev/sdb;
address 172.16.0.1:7788;
meta-disk internal;
}
} Основные моменты конфигурации: resource: относится к ресурсу, который будет управляться DRBD, обратите внимание, что мы назвали его “r0” disk: относится к устройству, которое будет использовать DRBD (диск или раздел) address: IP-адрес/порт, который будет использовать DRBD (обратите внимание, что мы указываем на кроссовые интерфейсы) syncer: скорость передачи между узлами (мы используем 100M, потому что у нас гигабитные карты) Если у вас есть сомнения, пожалуйста, посмотрите руководство пользователя DRBD: www.drbd.org/users-guide-emb/
После этой конфигурации мы можем создать метаданные на ресурсе r0. На обоих узлах выполните:
drbdadm create-md r0Далее необходимо инициализировать службы DRBD, чтобы создать initdb. На обоих узлах (почти одновременно) выполните:
/etc/init.d/drbd startЧтобы установить оба узла как первичные, на обоих узлах выполните:
drbdsetup /dev/drbd0 primary -oЧтобы проверить процесс синхронизации и статус ресурса DRBD, посмотрите на /proc/drbd:
cat /proc/drbdТеперь нам нужно дождаться окончания синхронизации. Это может занять много времени, в зависимости от размера и производительности ваших дисков. И, конечно, скорости сетевых интерфейсов кластера, которые используются с кроссовым кабелем).
Когда процесс синхронизации завершится, мы можем взглянуть на статус ресурса r0:
node1:
[root@node1 ~]# cat /proc/drbd[root@node1 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r—
ns:2097052 nr:0 dw:0 dr:2097052 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0
node2:
[root@node2 ~]# cat /proc/drbd[root@node2 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0: cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r—
ns:0 nr:2097052 dw:2097052 dr:0 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0
Важно отметить, что оба сервера актуальны (UpToDate/UpToDate) и первичны (Primary/Primary). Чтобы узнать, что означает вся информация о статусе, посмотрите на: www.drbd.org/users-guide-emb/ch-admin.html#s-proc-drbd
Нам нужно сделать так, чтобы служба DRBD запускалась автоматически при загрузке:
chkconfig --level 35 drbd on5. Настройка GFS
Теперь мы должны настроить GFS (Red Hat Global File System), который является кластерной файловой системой для использования с DRBD:
Сначала нам нужно настроить /etc/cluster/cluster.conf на обоих узлах:
vi /etc/cluster/cluster.conf
Далее нам нужно запустить службу cman на обоих узлах (в одно и то же время):
/etc/init.d/cman startПосле этого мы можем запустить другие службы на обоих узлах:
/etc/init.d/clvmd start
/etc/init.d/gfs start
/etc/init.d/gfs2 start
Нам нужно убедиться, что все службы включены при инициализации.
На обоих узлах выполните:
chkconfig –level 35 cman on
chkconfig –level 35 clvmd on
chkconfig –level 35 gfs on
chkconfig –level 35 gfs2 on
Далее отформатируйте устройство только на одном узле:
gfs_mkfs -p lock_dlm -t cluster1:gfs -j 2 /dev/drbd0Теперь создадим точку монтирования и смонтируем устройство drbd на обоих узлах:
mkdir /clusterdata
mount -t gfs /dev/drbd0 /clusterdata
Давайте добавим устройство в fstab на обоих узлах:
vi /etc/fstabДобавьте следующую строку:
/dev/drbd0 /clusterdata gfs defaults 0 0 Далее хорошо бы проверить, что кластерная файловая система работает:
Только на node1 выполните:
tar -zcvf /clusterdata/backup-test.tgz /etc/Теперь проверим, существует ли файл на node2.
Только на node2 выполните:
ls -l /clusterdata/ [root@node2 ~]# ls -l /clusterdata
total 12576
-rw-r–r– 1 root root 12844520 Jul 23 16:01 backup-test.tgz
Теперь давайте протестируем, может ли node2 записывать.
Только на node2 выполните:
tar -zcvf /clusterdata/backup-test2.tgz /etc/Теперь проверим, существуют ли два файла на node1.
Только на node1 выполните:
ls -l /clusterdata/ [root@no2 ~]# ls -l /clusterdata/
total 25160
-rw-r–r– 1 root root 12850665 Jul 23 16:03 backup-test2.tgz
-rw-r–r– 1 root root 12844520 Jul 23 16:01 backup-test.tgz
Если все в порядке, конечно, мы можем удалить тестовые файлы.
Только на одном узле выполните:
rm -f /clusterdata/backup* Get new posts in your inbox
No spam. Unsubscribe anytime.