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

Ключ

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

...

В статье описано создание высоконадежного iSCSI-хранилища данных на основе двухузлового кластера Pacemaker.


!!!! не используется fencing (STONITH) !!!


Термины

iSCSI (Internet Small Computer System Interface) – протокол для работы c хранилищем данных через сеть Ethernet (поверх TCP/IP) с использованием SCSI-команд.

...

LU (logical unit) – логическая единица iSCSI-объекта. Используется . Является аналогом блочного SCSI-устройства. Может использоваться: для разбиения iSCSI-объекта на разделы, для хранения файловой системы, для хранения данных в "сыром" виде и т. п.

DRBD (Distributed Replicated Block Device) – распределённая система хранения, которая зеркалирует блочные устройства компьютеров через сеть Ethernet. Зеркалироваться могут жёсткие диски, разделы дисков и т. п.

...

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


Установить пакет с инструментом для настройки серверной части SCSI-сервера (target):

Command
sudo apt install targetcli-fb

...

Блок кода
title/etc/drbd.d/iscsi_data.res
resource "iscsi_data" {
  device minor 1;
  meta-disk internal;

  net {
    protocol C;
#     fencing resource-and-stonithonly;
   }
#  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;
  }
}

...

В выводе команды на первом узле будет ... - при не запущенном втором, ... при запущенном втором:

Блок кода
!!!!  iscsi_data role:Secondary
  disk:Inconsistent
  pcmk-2 role:Secondary
    disk:Inconsistent

В выводе команды на первом узле будет при запущенном DRBD на втором узле:

Блок кода
iscsi_data role:Secondary
  disk:Inconsistent
  pcmk-2 role:Secondary
    disk:Inconsistent

...

Command

sudo drbdadm primary --force iscsi_data

С помощью команды можно отслеживать текущее состояние синхронизации дисковНачнётся синхронизация дисков на двух узлах:

Command

sudo drbdadm status
sudo drbdmon

Вывод команды:

Блок кода
iscsi_data role:Primary
 disk:UpToDate
 pcmk-2 role:Secondary
   replication:SyncSource peer-disk:Inconsistent done:1.03


Процесс синхронизации дисков можно отслеживать с помощью команды:

Command

sudo drbdsetup events2

Вывод команды:

Блок кода
exists resource name:iscsi_data role:Primary suspended:no force-io-failures:no may_promote:no promotion_score:10101
exists connection name:iscsi_data peer-node-id:1 conn-name:pcmk-2 connection:Connected role:Secondary
exists device name:iscsi_data volume:0 minor:1 backing_dev:/dev/vdb disk:UpToDate client:no quorum:yes
exists peer-device name:iscsi_data 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:iscsi_data 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:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 done:73.14
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 done:74.55
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 done:75.95
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 done:77.36
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 done:78.78
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 done:80.18
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 done:81.58
...
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 done:99.86
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0
change resource name:iscsi_data may_promote:no promotion_score:10102
change peer-device name:iscsi_data peer-node-id:1 conn-name:pcmk-2 volume:0 replication:Established peer-disk:UpToDate peer-client:no

Для завершения команды нажать <CTRL+C>.


Command



sudo drbdmon


Во время синхронизации будет выводиться:

...

Pacemaker - взаимная настройка ресурсов


стр 5: ??
crm(live)configure# property no-quorum-policy="ignore"
crm(live)configure# property default-resource-stickiness="200"




Нужны ограничения:

  1. DRBD=Primary, iSCSI, ClusterIP - всегда работают только на одном узле.
  2. Порядок запуска: DRBD=Primary, iSCSI, ClusterIP

...