我有一个主动/被动高可用性集群与心脏起搏器+裂脑。 裂脑状态后,我使用自动裂脑恢复来恢复我的系统。
问题是,由于文件系统资源是由CRMpipe理的,所以在拆分脑部恢复之后不会挂载。 裂脑恢复后没有任何安装!
似乎我应该使用stonith设备,但是我的老板要求我解决它,没有任何额外的设备! 我该如何通知心脏起搏器的分裂情况,以便重新安装文件系统资源?
编辑:我的CRMconfiguration
node drbd3 node drbd4 primitive apache ocf:heartbeat:apache \ params configfile="/etc/apache2/apache2.conf" httpd="/usr/sbin/apache2" \ op monitor interval="5s" primitive drbd_disk ocf:linbit:drbd \ params drbd_resource="r0" \ op monitor interval="15s" primitive fs_drbd ocf:heartbeat:Filesystem \ params device="/dev/drbd/by-res/r0" directory="/mnt" fstype="ext4" primitive ip1 ocf:heartbeat:IPaddr2 \ params ip="10.8.0.95" nic="eth0" group group1 ip1 apache ms ms_drbd drbd_disk \ meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" colocation mnt_on_master inf: fs_drbd ms_drbd:Master order apache_after_ip inf: ip1:start apache:start order mount_after_drbd inf: ms_drbd:promote fs_drbd:start property $id="cib-bootstrap-options" \ dc-version="1.0.8-042548a451fce8400660f6031f4da6f0223dd5dd" \ cluster-infrastructure="openais" \ expected-quorum-votes="2" \ stonith-enabled="false" \ no-quorum-policy="ignore"
和我的drdbconfiguration:
global { usage-count no; } common { syncer { rate 100M; } } resource r0 { protocol C; startup { wfc-timeout 1; degr-wfc-timeout 1; } # disk{ # fencing resource-only; # } 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 { cram-hmac-alg sha1; shared-secret "test"; # allow-two-primaries; after-sb-0pri discard-zero-changes; after-sb-1pri discard-secondary; after-sb-2pri call-pri-lost-after-sb; } on drbd3 { device /dev/drbd0; disk /dev/sda1; address 10.8.0.93:7788; meta-disk internal; } on drbd4 { device /dev/drbd0; disk /dev/sda1; address 10.8.0.94:7788; meta-disk internal; } } #include "drbd.d/global_common.conf"; #include "drbd.d/*.res"; ~
对于上面的情况,你可以添加以下行到/etc/rc.local这将解决问题 –
#drbdadm secondary resource-name<resource> #drbdadm disconnect resource-name<resource> #drbdadm -- --discard-my-data connect resource-name<resource>
将以上命令添加到NODE-1 [primary / Active节点] /etc/rc.local文件中
drbdadm connect resource-name<resource>
将以上命令添加到NODE-2 [Secondary / Passive节点] /etc/rc.local文件中