corosync+pacemaker+mysql+drbd 实现mysql的高可用

corosync+pacemaker+mysql+drbd 实现mysql的高可用

====================================

一、了解各组件是什么以及之间的关系

二、安装高可用集群的提前

三、安装corosync+pacemaker

四、编译安装mysql

五、安装drbd

六、mysql与drbd实现mysql数据的镜像

七、利用crmsh配置mysql的高可用

====================================

环境:

OS:Centos 6.x(redhat 6.x)

kernel:2.6.32-358.el6.x86_64

yum源:

[centos]name=sohu-centosbaseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearchgpgcheck=1enable=0gpgkey=http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-6[epel]name=sohu-epelbaseurl=http://mirrors.sohu.com/fedora-epel/$releasever/$basearch/enable=1gpgcheck=0

DRBD一般是一主一从,并且所有的读写操作,挂载只能在主节点服务器上进行,,但是主从DRBD服务器之间是可以进行调换的。

各个组件之间的关系:其实mysql与drbd根本没有半毛钱的关系,而drbd与mysql相结合就有很重要的作用了,因为drbd实现数据的镜像,当drbd的主节点挂了之后,drbd的辅助节点还可以提供服务,但是主节点不会主动的切换到辅助的节点上面去,于是乎,高可用集群就派上用场了,因为资源定义为高可用的资源,主节点出现故障之后,高可用集群可以自动的切换到辅助节点上去,实现故障转移继续提供服务。

二、安装高可用集群的提前准备

1)、hosts文件

#把主机名改成jie2.com[root@jie2 ~]# sed -i s/`grep HOSTNAME /etc/sysconfig/network |awk -F ‘=’ ‘{print $2}’`/jie2.com/g /etc/sysconfig/network#把主机名改成jie3.com[root@jie3 ~]# sed -i s/`grep HOSTNAME /etc/sysconfig/network |awk -F ‘=’ ‘{print $2}’`/jie3.com/g /etc/sysconfig/network[root@jie2 ~]# cat >>/etc/hosts << EOF>172.16.22.2 jie2.com jie2>172.16.22.3 jie3.com jie3>EOF[root@jie3 ~]# cat >>/etc/hosts << EOF>172.16.22.2 jie2.com jie2>172.16.22.3 jie3.com jie3>EOF

2)、ssh互信

[root@jie2 ~]# ssh-keygen -t rsa -P ”[root@jie2 ~]# ssh-copy-id -i .ssh/id_rsa.pub jie3[root@jie3 ~]# ssh-keygen -t rsa -P ”[root@jie3 ~]# ssh-copy-id -i .ssh/id_rsa.pub jie2

3)、关闭NetworkManger

[root@jie2 ~]# chkconfig –del NetworkManager[root@jie2 ~]# chkconfig NetworkManager off[root@jie2 ~]# service NetworkManager stop[root@jie3 ~]# chkconfig –del NetworkManager[root@jie3 ~]# chkconfig NetworkManager off[root@jie3 ~]# service NetworkManager stop

4)、时间同步(博主用的是自己的ntp时间服务器)

[root@jie2 ~]#ntpdate 172.16.0.1[root@jie3 ~]#ntpdate 172.16.0.1

三、安装corosync+pacemaker

1)、安装corosync+pacemaker

#节点jie2.com的操作[root@jie2 ~]# yum -y install corosync pacemaker[root@jie2 ~]# yum -y –nogpgcheck install crmsh-1.2.6-4.el6.x86_64.rpm pssh-2.3.1-2.el6.x86_64.rpm #提供crmsh命令接口的软件#节点jie3.com的操作[root@jie3 ~]# yum -y install corosync pacemaker[root@jie3 ~]# yum -y –nogpgcheck install crmsh-1.2.6-4.el6.x86_64.rpm pssh-2.3.1-2.el6.x86_64.rpm

2)、修改配置文件和生成认证文件

配置文件

#节点jie2.com的操作[root@jie2 ~]# cd /etc/corosync/[root@jie2 corosync]# mv corosync.conf.example corosync.conf[root@jie2 corosync]# vim corosync.conf# Please read the corosync.conf.5 manual pagecompatibility: whitetanktotem {#心跳信息传递层version: 2#版本secauth: on#认证信息 一般onthreads: 0#线程interface {#定义心跳信息传递的接口ringnumber: 0bindnetaddr: 172.16.0.0 #绑定的网络地址,写网络地址mcastaddr: 226.94.1.1#多播地址mcastport: 5405#多播的端口ttl: 1#生存周期}}logging {#日志fileline: offto_stderr: no#是否输出在屏幕上to_logfile: yes#定义自己的日志to_syslog: no#是否由syslog记录日志logfile: /var/log/cluster/corosync.log #日志文件的存放路径debug: offtimestamp: on#时间戳是否关闭logger_subsys {subsys: AMFdebug: off}}amf {mode: disabled}service {ver: 0name: pacemaker #pacemaker作为corosync的插件进行工作}aisexec {user: rootgroup: root}[root@jie2 corosync]# scp corosync.conf jie3:/etc/corosync/##把节点jie2.com的配置文件copy到jie3.com中

认证文件

#节点jie2.com的操作[root@jie2 corosync]# corosync-keygenCorosync Cluster Engine Authentication key generator.Gathering 1024 bits for key from /dev/random.Press keys on your keyboard to generate entropy (bits = 152).#遇到这个情况,表示电脑的随机数不够,各位朋友可以不停的随便敲键盘,或者安装软件也可以生成随机数[root@jie2 corosync]# scp authkey jie3:/etc/corosync/#把认证文件也复制到jie3.com主机上

3)、开启服务和查看集群中的节点信息

#节点jie2.com的操作[root@jie2 ~]# service corosync startStarting Corosync Cluster Engine (corosync):[ OK ][root@jie2 ~]# crm statusLast updated: Thu Aug 8 14:43:13 2013Last change: Sun Sep 1 16:41:18 2013 via crm_attribute on jie3.comStack: classic openais (with plugin)Current DC: jie3.com – partition with quorumVersion: 1.1.8-7.el6-394e9062 Nodes configured, 2 expected votesOnline: [ jie2.com jie3.com ]#节点jie3.com的操作[root@jie3 ~]# service corosync startStarting Corosync Cluster Engine (corosync):[ OK ][root@jie3 ~]# crm statusLast updated: Thu Aug 8 14:43:13 2013Last change: Sun Sep 1 16:41:18 2013 via crm_attribute on jie3.comStack: classic openais (with plugin)Current DC: jie3.com – partition with quorumVersion: 1.1.8-7.el6-394e9062 Nodes configured, 2 expected votesOnline: [ jie2.com jie3.com ]

四、编译安装mysql(两个节点的操作过程都是一样)

孤单不是与生俱来,而是由你爱上一个人的那一刻开始。

corosync+pacemaker+mysql+drbd 实现mysql的高可用

相关文章:

你感兴趣的文章:

标签云: