DRBD+Pacemaker实现DRBD主从角色的自动切换

drbd设备名,以及drbd设备的挂载点都要与对端节点保持一致;

因为我们

定义资源,使用到设备名及挂载点,所以两端的drbd设备名和设备的挂载点都必须保持一致;

如何定义主从资源?

主从资源是一类特殊的克隆资源;

要成为克隆资源,首先必须定义成主资源;

因此,要想定义成主从资源,首先必须定义成主资源。为保证成为主资源的同时,drdb设备可以同时挂载,还需定义Filesystem

--------------------------------------分割线 --------------------------------------

相关阅读

Linux 高可用(HA)集群之DRBD详解

DRBD中文应用指南 PDF

CentOS 6.3下DRBD安装配置笔记

基于DRBD+Corosync实现高可用MySQL

CentOS 6.4下DRBD 安装配置

--------------------------------------分割线 --------------------------------------


clone-max: 在集群中最多能运行多少份克隆资源,默认和集群中的节点数相同;

clone-node-max:每个节点上最多能运行多少份克隆资源,默认是1;

notify:当成功启动或关闭一份克隆资源,要不要通知给其它的克隆资源,可用值为false,true;默认值是true;

globally-unique: 是否为集群中各节点的克隆资源取一个全局唯一名称,用来描述不同的功能,默认为true;

ordered:克隆资源是否按顺序(order)启动,而非一起(parallel)启动,可用值为false,true;默认值是true;

interleave:当对端的实例有了interleave,就可以改变克隆资源或主资源中的顺序约束;


master-max:最多有多少份克隆资源可以被定义成主资源,默认是1;

master-node-max:每个节点上最多有多少份克隆资源可以被提升为主资源,默认是1;

检查node1,node2是否安装了corosync,pacemaker,crmsh,pssh

[root@node1 ~]# rpm -q corosync pacemaker crmsh pssh

corosync-1.4.1-17.el6.x86_64

pacemaker-1.1.10-14.el6.x86_64

crmsh-1.2.6-4.el6.x86_64

pssh-2.3.1-2.el6.x86_64

[root@node1 ~]# ssh node2.ja.com 'rpm -q corosync pacemaker crmsh pssh'

corosync-1.4.1-17.el6.x86_64

pacemaker-1.1.10-14.el6.x86_64

crmsh-1.2.6-4.el6.x86_64

pssh-2.3.1-2.el6.x86_64


若未安装,则执行yum -y install corosync pacemaker crmsh pssh


一旦配置成集群资源,就不能让他们自动启动

[root@node1 ~]# umount /drbd/

[root@node1 ~]# drbdadm secondary mystore1

[root@node1 ~]# service drbd stop

[root@node1 ~]# chkconfig drbd off

[root@node1 ~]# ssh node2.ja.com 'service drbd stop;chkconfig drbd off'

[root@node1 ~]# cd /etc/corosync/

[root@node1 corosync]# cp corosync.conf.example corosync.conf


corosync.conf修改后的内容如下所示:

[root@node1 corosync]# egrep -v '^$|^[[:space:]]*#' /etc/corosync/corosync.conf

compatibility: whitetank

totem {

version: 2

secauth: on

threads: 0

interface {

ringnumber: 0

bindnetaddr: 172.16.16.0

mcastaddr: 226.94.16.15

mcastport: 5405

ttl: 1

}

}

logging {

fileline: off

to_stderr: no

to_logfile: yes

to_syslog: no

logfile: /var/log/cluster/corosync.log

debug: off

timestamp: on

logger_subsys {

subsys: AMF

debug: off

}

}

amf {

mode: disabled

}


service {

name: pacemaker

ver:  0

}

aisexec {

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/04b3f0d14cd749a0b79d5c21658a4042.html