Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Настроить DRBD-устройство в соответствии со статьёй "Стандартная настройка DRBD (Astra Linux 1.6)".


При настройке необходимо:

На каждом узле необходимо:

Установить пакеты с DRBD-утилитами и drbd-модулем ядра, соответствующим версии загруженного ядра.

Command
sudo apt install drbd-utils drbd-`uname -r`

----

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


На первом узле – когда диски полностью синхронизированы:

...