Назад | Перейти на главную страницу

после восстановления разделенного мозга файловая система не смонтирована

У меня есть активный / пассивный кластер высокой доступности с кардиостимулятором + разделенным мозгом. После состояния с разделенным мозгом я использую автоматическое восстановление с разделенным мозгом, чтобы восстановить свои системы.

Проблема в том, что, поскольку ресурс файловой системы управляется CRM, он не монтируется после восстановления разделенного мозга. Ничего не монтируется после восстановления разделенного мозга!

Кажется, мне следует использовать каменные устройства, но мой начальник просит меня решить эту проблему без каких-либо дополнительных устройств! Как я могу уведомить кардиостимулятор о расщеплении мозга, чтобы он перемонтировал ресурс файловой системы?

РЕДАКТИРОВАТЬ: моя конфигурация crm

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"

и моя конфигурация drdb:

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 [основной / активный узел] /etc/rc.local файл

drbdadm connect resource-name<resource>

Добавьте указанную выше команду к NODE-2 [Secondary / Passive node] /etc/rc.local файл