...
Настроить DRBD-устройство в соответствии со статьёй "Стандартная настройка DRBD (Astra Linux 1.6)".
При настройке необходимо:
На каждом узле необходимо:
Установить пакеты с DRBD-утилитами и drbd-модулем ядра, соответствующим версии загруженного ядра.
| Command |
|---|
|
----
DRBD-устройство состоит из двух дисков – по одному на каждом узле. Запись и чтение осуществляется на ведущий диск (Primary). Ведомый диск (Secondary) только синхронизируется с ведущим.
DRBD-устройство должно управляться только кластером Pacemaker, т. е. не должна использоваться служба systemd.
На каждом узле – создать конфигурационный файл /etc/drbd.d/dvolume.res, содержащий настройки ресурса dvolume:
| Блок кода |
|---|
resource "dvolume" {
device minor 1;
meta-disk internal;
net {
protocol C;
fencing resource-only;
}
handlers {
fence-peer "/usr/lib/drbd/crm-fence-peer.9.sh";
unfence-peer "/usr/lib/drbd/crm-unfence-peer.9.sh";
}
on "pcmk-1" {
node-id 0;
disk "/dev/vdb";
}
on "pcmk-2" {
node-id 1;
disk "/dev/vdb";
}
connection {
host "pcmk-1" address 10.192.6.74:7789;
host "pcmk-2" address 10.192.6.75:7789;
}
} |
На каждом узле – проинициализировать метаданные DRBD-диска:
| Command |
|---|
sudo drbdadm create-md dvolume |
Вывод команды:
| Блок кода |
|---|
initializing activity log
initializing bitmap (640 KB) to all zero
Writing meta data...
New drbd meta data block successfully created. |
Загрузить модуль ядра для работы с DRBD:
| Command |
|---|
sudo modprobe drbd |
Включить автозагрузку модуля ядра DRBD при загрузке ОС:
| Command |
|---|
echo drbd | sudo tee /etc/modules-load.d/drbd.conf |
На каждом узле –включить DRBD-диск:
| Command |
|---|
sudo drbdadm up dvolume |
Проверить состояние DRBD-диска:
| Command |
|---|
sudo drbdadm status |
В выводе команды на первом узле будет ... - при не запущенном втором:
| Блок кода |
|---|
dvolume role:Secondary
disk:Inconsistent
pcmk-2 connection:Connecting |
В выводе команды на первом узле будет при запущенном DRBD на втором узле:
| Блок кода |
|---|
dvolume role:Secondary
disk:Inconsistent
pcmk-2 role:Secondary
disk:Inconsistent |
На каждом узле –проверить, что появилось блочное устройство /dev/drbd1:
| Command |
|---|
sudo lsblk |
В выводе команды должен появиться диск drbd1:
| Блок кода |
|---|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 6,8G 0 rom
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1M 0 part
└─vda2 252:2 0 20G 0 part /
vdb 252:16 0 20G 0 disk
└─drbd1 147:1 0 20G 0 disk |
Теперь DRBD состоит из двух локальных дисков /dev/vdb и сетевого соединения между ними.
Необходимо синхронизировать DRBD-диски узлов.
Для этого – На первом узле (В данном случае) – сделать DRBD-диск первого узла ведущим:
| Command |
|---|
sudo drbdadm primary --force dvolume |
Начнётся синхронизация дисков на двух узлах:
| Command |
|---|
sudo drbdadm status |
Вывод команды:
| Блок кода |
|---|
dvolume role:Primary
disk:UpToDate
pcmk-2 role:Secondary
replication:SyncSource peer-disk:Inconsistent done:1.03 |
Для отлеживания процесса синхронизации дисков можно использовать команду:
| Command |
|---|
sudo drbdsetup events2 |
Вывод команды:
| Блок кода |
|---|
exists resource name:dvolume role:Primary suspended:no force-io-failures:no may_promote:no promotion_score:10101
exists connection name:dvolume peer-node-id:1 conn-name:pcmk-2 connection:Connected role:Secondary
exists device name:dvolume volume:0 minor:1 backing_dev:/dev/vdb disk:UpToDate client:no quorum:yes
exists peer-device name:dvolume peer-node-id:1 conn-name:pcmk-2 volume:0 replication:SyncSource peer-disk:Inconsistent peer-client:no resync-suspended:no done:72.16
exists path name:dvolume peer-node-id:1 conn-name:pcmk-2 local:ipv4:10.192.6.74:7789 peer:ipv4:10.192.6.75:7789 established:yes
exists -
change peer-device name:dvolume peer-node-id:1 conn-name:pcmk-2 volume:0 done:0.86
change peer-device name:dvolume peer-node-id:1 conn-name:pcmk-2 volume:0 done:1.27
change peer-device name:dvolume peer-node-id:1 conn-name:pcmk-2 volume:0 done:2.67
change peer-device name:dvolume peer-node-id:1 conn-name:pcmk-2 volume:0 done:4.08
...
change peer-device name:dvolume peer-node-id:1 conn-name:pcmk-2 volume:0 done:99.86
change peer-device name:dvolume peer-node-id:1 conn-name:pcmk-2 volume:0
change resource name:dvolume may_promote:no promotion_score:10102
change peer-device name:dvolume peer-node-id:1 conn-name:pcmk-2 volume:0 replication:Established peer-disk:UpToDate peer-client:no |
...
учесть, что для создания DRBD-устройства – на каждом узле используется используется блочное устройство /dev/vdb
Необходимо настроить ресурс dvolume, используя конфигурационный файл /etc/drbd.d/dvolume.res:
| Блок кода |
|---|
resource "dvolume" {
device minor 1;
meta-disk internal;
net {
protocol C;
fencing resource-only;
}
handlers {
fence-peer "/usr/lib/drbd/crm-fence-peer.9.sh";
unfence-peer "/usr/lib/drbd/crm-unfence-peer.9.sh";
}
on "pcmk-1" {
node-id 0;
disk "/dev/vdb";
}
on "pcmk-2" {
node-id 1;
disk "/dev/vdb";
}
connection {
host "pcmk-1" address 10.192.6.74:7789;
host "pcmk-2" address 10.192.6.75:7789;
}
} |
На каждом узле –проверить, что появилось блочное устройство /dev/drbd1:
| Command |
|---|
sudo lsblk |
В выводе команды должен появиться диск drbd1:
| Блок кода |
|---|
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 6,8G 0 rom
vda 252:0 0 20G 0 disk
├─vda1 252:1 0 1M 0 part
└─vda2 252:2 0 20G 0 part /
vdb 252:16 0 20G 0 disk
└─drbd1 147:1 0 20G 0 disk |
На первом узле – когда диски полностью синхронизированы:
...