...
В статье описано создание высоконадежного 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 |
|---|
|
Установить пакет с инструментом для настройки серверной части SCSI-сервера (target):
| Command |
|---|
|
...
| Блок кода | ||
|---|---|---|
| ||
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 |
Вывод команды:
| Блок кода |
|---|
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"
Нужны ограничения:
- DRBD=Primary, iSCSI, ClusterIP - всегда работают только на одном узле.
- Порядок запуска: DRBD=Primary, iSCSI, ClusterIP
...