分别基于NFS服务和DRBD服务利用Corosync配置高可用集群

配置环境
内核版本:linux 2.6.32-358.el6.x86_64

推荐阅读:

一、corosync配置安装

准备工作,两个节点都要做

1、两个节点

172.16.5.11

172.16.5.12

2、两个节点可以互相解析。

# vim /etc/hosts

在后边加上两行

172.16.5.11 www.a.com a

172.16.5.12 www.b.com b

3、双机互信

# ssh-keygen -t rsa -P ‘’
# ssh-copy-id [-i .ssh/id_rsa ] root@a|b

4、时间同步

Ntpdate 时间服务器的ip

安装配置corosync (一般都在节点a上配置)

# yum -y install corosync pacemaker crmsh pssh pcs

(pcs可以不安装,它跟crm都可以作为配置的工具来使用,本文只使用crm)

# cd /etc/corosync
# cp corosync.conf.example corosync.conf

接着编辑/etc/corosync/corosync.conf

compatibility: whitetank
totem {
version: 2
secauth: on(开启,并生成认证文件,不让其他主机随意加入集群)
threads: 0
interface {
ringnumber: 0
bindnetaddr: 172.16.0.0 (实验中两个节点所在的网段)
mcastaddr: 226.194.41.41(多播地址,不建议使用默认地址)
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 {(定义资源管理服务)
    ver: 0
    name: pacemaker
    # use_mgmtd: yes
  }
aisexec {(运行corosync的user)
      user: root
      group: root
}

生成节点间通信时用到的认证密钥文件authkeys

# corosync-keygen

将corosync和authkey复制至b:

# scp -p corosync authkey  b:/etc/corosync/

创建corosync生成的日志所在的目录:

# scp -p corosync authkey  b:/etc/corosync/

将coorsync加入服务列表,并启动服务

# chkconfig --add corosync
# service corosync start

可以到节点b上将服务也启动起来。

#  chkconfig --add corosync
# service corosync start

corosync默认启用了stonith,而当前集群并没有相应的stonith设备,所以要禁用stonith

# crm configure property stonith-enabled=false

我们使用的是两个节点的高可用,一个挂点,另一个节点就不满足法定票数,所以要设置参数no-quorum-policy="ignore"


# crm configure property no-quorum-policy=”ignorn”

相关推荐