DRBD · 5 min read · Jan 30, 2026
DRBD 8.3 Репликация Третьего Узла с Debian Etch
DRBD 8.3 Репликация Третьего Узла с Debian Etch
Установка и Настройка DRBD 8.3 + Debian Etch
Настройка Третьего Узла
by Brian Hellman
Недавний релиз DRBD 8.3 теперь включает в себя функцию Третьего Узла как свободно доступный компонент. Этот документ охватывает основы настройки третьего узла на стандартной установке Debian Etch. В конце этого руководства у вас будет устройство DRBD, которое можно использовать как SAN, целевой iSCSI, файловый сервер или сервер баз данных.
Примечание: клиенты поддержки LINBIT могут пропустить Раздел 1 и использовать репозитории пакетов.
У LINBIT есть доступные решения для третьего узла, пожалуйста, свяжитесь с ними по адресу sales_us at linbit.com для получения дополнительной информации.
Предисловие:

Настройка следующая:
- Три сервера: alpha, bravo, foxtrot
- alpha и bravo являются первичным и вторичным локальными узлами
- foxtrot — третий узел, который находится в удаленной сети
- Оба alpha и bravo имеют интерфейсы в сети 192.168.1.x (eth0) для внешней связи.
- Существует перекрестное соединение на alpha и bravo (eth1) для репликации с использованием 172.16.6.10 и .20
- Heartbeat предоставляет виртуальный IP 192.168.5.2 для связи с узлом восстановления после катастрофы, расположенным в географически разнообразном месте
Раздел 1: Установка Исходников
Эти шаги необходимо выполнить на каждом из 3 узлов.
Предварительные требования:
- make
- gcc
- библиотеки разработки glibc
- генератор сканеров flex
- заголовки для текущего ядра
Введите следующее в командной строке от имени привилегированного пользователя, чтобы удовлетворить эти зависимости:
apt-get install make gcc libc6 flex linux-headers-uname -r libc6-dev linux-kernel-headers
После установки зависимостей загрузите DRBD. Последнюю версию всегда можно получить по адресу http://oss.linbit.com/drbd/. В настоящее время это 8.3.
cd /usr/src/
wget http://oss.linbit.com/drbd/8.3/drbd-8.3.0.tar.gz
После завершения загрузки:
- Распакуйте DRBD
- Перейдите в каталог исходников
- Скомпилируйте исходники
- Установите DRBD
tar -xzvf drbd-8.3.0.tar.gz
cd /usr/src/drbd-8.3.0/
make clean all
make install
Теперь загрузите и проверьте модуль:
modprobe drbd
cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
После завершения этого процесса на каждом из трех узлов продолжайте к следующему разделу.
Раздел 2: Конфигурация Heartbeat
Настройка третьего узла подразумевает наложение DRBD на DRBD. Виртуальный IP необходим для подключения третьего узла, для этого мы настроим простую конфигурацию Heartbeat v1. Этот раздел будет выполнен только на alpha и bravo.
Установите Heartbeat:
apt-get install heartbeat
Отредактируйте файл authkeys:
vi /etc/ha.d/authkeys
auth 1
1 sha1 yoursupersecretpasswordhereПосле создания файла измените разрешения на файл. Heartbeat не запустится, если этот шаг не будет выполнен.
chmod 600 /etc/ha.d/authkeysСкопируйте файл authkeys на bravo:
scp /etc/ha.d/authkeys bravo:/etc/ha.d/Отредактируйте файл ha.cf:
vi /etc/ha.d/ha.cfdebugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 1
deadtime 10
warntime 5
initdead 60
udpport 694
ucast eth0 192.168.1.10
ucast eth0 192.168.1.20
auto_failback off
node alpha
node bravoСкопируйте файл ha.cf на bravo:
scp /etc/ha.d/ha.cf bravo:/etc/ha.d/Отредактируйте файл haresources, IP, созданный здесь, будет IP, на который ссылается наш третий узел.
vi /etc/ha.d/haresourcesalpha IPaddr::192.168.5.2/24/eth0Скопируйте файл haresources на bravo:
scp /etc/ha.d/haresources bravo:/etc/ha.d/Запустите службу heartbeat на обоих серверах, чтобы поднять виртуальный IP:
alpha:/# /etc/init.d/heartbeat startbravo:/# /etc/init.d/heartbeat startHeartbeat поднимет новый интерфейс (eth0:0).
Примечание: может потребоваться до одной минуты, чтобы heartbeat поднял интерфейс.
alpha:/# ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:08:C7:DB:01:CC
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Раздел 3: Конфигурация DRBD
Конфигурация для DRBD выполняется через файл drbd.conf. Он должен быть одинаковым на всех узлах (alpha, bravo, foxtrot). Обратите внимание, что использование счетчика установок установлено в yes, что означает, что он уведомит Linbit о том, что вы установили DRBD. Личная информация не собирается. Пожалуйста, смотрите эту страницу для получения дополнительной информации:
global { usage-count yes; }
resource data-lower {
protocol C;
net {
shared-secret "LINBIT";
}
syncer {
rate 12M;
}
on alpha {
device /dev/drbd1;
disk /dev/hdb1;
address 172.16.6.10:7788;
meta-disk internal;
}
on bravo {
device /dev/drbd1;
disk /dev/hdd1;
address 172.16.6.20:7788;
meta-disk internal;
}
}
resource data-upper {
protocol A;
syncer {
after data-lower;
rate 12M;
al-extents 513;
}
net {
shared-secret "LINBIT";
}
stacked-on-top-of data-lower {
device /dev/drbd3;
address 192.168.5.2:7788; # IP предоставленный Heartbeat
}
on foxtrot {
device /dev/drbd3;
disk /dev/sdb1;
address 192.168.5.3:7788; # Публичный IP резервного узла
meta-disk internal;
}
}
Раздел 4: Подготовка Устройств DRBD
Теперь, когда конфигурация готова, создайте метаданные на alpha и bravo.
alpha:/usr/src/drbd-8.3.0# drbdadm create-md data-lower
Запись метаданных…
инициализация журнала активности
НЕ инициализированный битмап
Новый блок метаданных drbd успешно создан.
bravo:/usr/src/drbd-8.3.0# drbdadm create-md data-lower
Запись метаданных…
инициализация журнала активности
НЕ инициализированный битмап
Новый блок метаданных drbd успешно создан.
Теперь запустите DRBD на alpha и bravo:
alpha:/usr/src/drbd-8.3.0# /etc/init.d/drbd startbravo:/usr/src/drbd-8.3.0# /etc/init.d/drbd startПроверьте, что устройства DRBD нижнего уровня подключены:
cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r—
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:19530844
Скажите alpha стать первичным узлом:
ПРИМЕЧАНИЕ: как указано в команде, это перезапишет любые данные на bravo: сейчас хорошее время, чтобы взять ваш любимый напиток.
alpha:/# drbdadm – –overwrite-data-of-peer primary data-lower
alpha:/# cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r—
ns:3088464 nr:0 dw:0 dr:3089408 al:0 bm:188 lo:23 pe:6 ua:53 ap:0 ep:1 wo:b oos:16442556
[==>……………..] sync’ed: 15.9% (16057/19073)M
finish: 0:16:30 speed: 16,512 (8,276) K/sec
После завершения синхронизации данных создайте метаданные на data-upper на alpha, затем на foxtrot.
Обратите внимание, что ресурс — это data-upper, и опция –stacked только на alpha.
alpha:~# drbdadm –stacked create-md data-upper
Запись метаданных…
инициализация журнала активности
НЕ инициализированный битмап
Новый блок метаданных drbd успешно создан.
успех
foxtrot:/usr/src/drbd-8.3.0# drbdadm create-md data-upper
Запись метаданных…
инициализация журнала активности
НЕ инициализированный битмап
Новый блок метаданных drbd успешно создан.
Поднимите вложенный ресурс, затем сделайте alpha первичным для data-upper:
alpha:/# drbdadm --stacked adjust data-upperfoxtrot:~# drbdadm adjust data-upper
foxtrot:~# cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@foxtrot, 2009-02-02 10:28:37
1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent A r—
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:19530208
alpha:~# drbdadm –stacked – –overwrite-data-of-peer primary data-upper
alpha:~# cat /proc/drbd
version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—
ns:19532532 nr:0 dw:1688 dr:34046020 al:1 bm:1196 lo:156 pe:0 ua:0 ap:156 ep:1 wo:b oos:0
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent A r—
ns:14512132 nr:0 dw:0 dr:14512676 al:0 bm:885 lo:156 pe:32 ua:292 ap:0 ep:1 wo:b oos:5018200
[=============>……] sync’ed: 74.4% (4900/19072)M
finish: 0:07:06 speed: 11,776 (10,992) K/sec
Снова время для напитка!
После завершения синхронизации получите доступ к вашему блочному устройству DRBD через /dev/drbd3. Это будет записывать на оба локальных узла и удаленный третий узел. В вашей конфигурации Heartbeat вы будете использовать скрипт “drbdupper” для поднятия вашего устройства /dev/drbd3. Удачи!
DRBD® и LINBIT® являются зарегистрированными товарными знаками LINBIT, Австрия.
Get new posts in your inbox
No spam. Unsubscribe anytime.