Состояние DRBD после сбоя сети становится основным / неизвестным
У меня есть следующая структура:
- 2 узла.
- corosync + кардиостимулятор + DRBD + OCFS2.
==============
После сбоя теста сети статус от DRBD становится:
**** Primary / Unknown ****
dmesg показывает следующее:
Раздвоенный мозг обнаружил, но неразрешенное, разрывая соединение.
я могу получить статус от DRBD до основного / основного обратно вручную по командам, но я хочу это автоматически.
Моя конфигурация:/ etc / corosync / r0
resource r0 {
protocol C;
startup {
become-primary-on both;
}
disk {
on-io-error detach;
fencing resource-only;
resync-rate 1000M;
}
handlers {
split-brain "/usr/lib/drbd/notify-split-brain.sh root";
fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";
}
net {
allow-two-primaries yes;
cram-hmac-alg sha1;
shared-secret "DRBD Super Secret Password";
timeout 180;
ping-int 3;
ping-timeout 9;
allow-two-primaries;
after-sb-0pri discard-zero-changes;
after-sb-1pri discard-secondary;
after-sb-2pri disconnect;
}
on node01 {
device /dev/drbd0;
address 192.168.64.128:7788;
meta-disk internal;
disk /dev/mapper/SSDVolume-VMData;
}
on node02 {
device /dev/drbd0;
address 192.168.64.129:7788;
meta-disk internal;
disk /dev/mapper/SSDVolume-VMData;
}
}
Моя программа настройки crm:
primitive drbd_r0 ocf:linbit:drbd \
params drbd_resource=r0 \
op monitor interval=20 role=Master timeout=30 \
op monitor interval=30 role=Slave timeout=40
primitive filesys Filesystem \
params device="/dev/drbd0" directory="/vmstore" fstype=ocfs2
options="rw,noatime" \
op start interval=0 timeout=60 \
op stop interval=0 timeout=60
primitive virtual_ip IPaddr2 \
params ip=192.168.38.10 cidr_netmask=32 \
op monitor interval=10s \
meta migration-threshold=10
ms ms_drbd_r0 drbd_r0 \
meta master-max=2 master-node-max=1 notify=true
clone filesys_clone filesys \
meta interleave=true
colocation col_filesys_clone-on-drbd_master inf: filesys_clone
ms_drbd_r0:Master
order filesys_clone-after-drbd_master inf: ms_drbd_r0:promote
filesys_clone:start
property cib-bootstrap-options: \
have-watchdog=false \
dc-version=1.1.14-70404b0 \
cluster-infrastructure=corosync \
cluster-name=debian \
stonith-enabled=false \
no-quorum-policy=ignore
rsc_defaults rsc-options: \
resource-stickiness=100
Мой вопрос:
Что я должен сделать, чтобы снова автоматически получить статус от DRBD Primary/primary?
Заранее спасибо
1 ответ
При работе с DRBD в двух основных сетях любое прерывание сети репликации приведет к разделению мозга. Вам необходимо решить эту проблему вручную, следуя инструкциям в руководстве пользователя: https://docs.linbit.com/doc/users-guide-84/s-resolve-split-brain/
Что еще более важно, вы используете DRBD с двумя первичными системами без STONITH и ограждений. Это опасно и в конечном итоге подведет вас. Вы потеряете данные или испортите их. Использование DRBD, как это, не рекомендуется или не поддерживается.
Удачи!