Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群
一、corosync配置安装
准备工作,两个节点都要做
1、两个节点
172.16.5.11
172.16.5.12
2、两个节点可以互相解析。
# vim /etc/hosts
在后边加上两行
172.16.5.11 a
172.16.5.12 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”