首页 > 数据库技术 > 详细

CentOS6.5 corosync+pacemaker+drbd实现mysql高可用

时间:2015-09-27 06:30:29      阅读:436      评论:0      收藏:0      [点我收藏+]

1.corosync概述

    Corosync是OpenAIS发展到Wilson版本后衍生出来的开放性集群引擎工程。可以说Corosync是OpenAIS工程的一部分。 OpenAIS从openais0.90开始独立成两部分,一个是Corosync;另一个是AIS标准接口Wilson。Corosync包含 OpenAIS的核心框架用来对Wilson的标准接口的使用、管理。它为商用的或开源性的集群提供集群执行框架。

2.安装配置corosync+pacemaker

1).准备工作

     配置各节点SSH互信:

# node1
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.220.133
# node2
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.220.132

    配置主机名称与uname -n一致,并通过/etc/hosts解析:

# node1
hostname node1.wyb.com
 sed -i ‘s@\(HOSTNAME=\).*@\1node1.wyb.com@g‘ /etc/sysconfig/network
echo ‘192.168.220.132 node1.wyb.com   node1‘ >> /etc/hosts
echo ‘192.168.220.133 node2.wyb.com   node2‘ >> /etc/hosts
# node2
hostname node2.wyb.com
 sed -i ‘s@\(HOSTNAME=\).*@\1node2.wyb.com@g‘ /etc/sysconfig/network
echo ‘192.168.220.132 node1.wyb.com   node1‘ >> /etc/hosts
echo ‘192.168.220.133 node2.wyb.com   node2‘ >> /etc/hosts

    时间同步:

# node1 node2
ntpdate asia.pool.ntp.org
echo ‘*/3 * * * * /usr/sbin/ntpdate asia.pool.ntp.org &> /dev/null‘ >> /var/spool/cron/root

2).安装

[root@node1 coorosync]# ls
cluster-glue-1.0.11-3.1.x86_64.rpm       corosynclib-1.4.7-1.el6.x86_64.rpm  pacemaker-1.1.9-2.1.x86_64.rpm               pacemaker-libs-1.1.9-2.1.x86_64.rpm
cluster-glue-libs-1.0.11-3.1.x86_64.rpm  crmsh-2.1-1.6.x86_64.rpm            pacemaker-cli-1.1.9-2.1.x86_64.rpm           pssh-2.3.1-5.el6.noarch.rpm
corosync-1.4.7-1.el6.x86_64.rpm          libqb0-0.14.4-1.1.x86_64.rpm        pacemaker-cluster-libs-1.1.9-2.1.x86_64.rpm  resource-agents-3.9.5-3.1.x86_64.rpm
[root@node1 coorosync]# yum --nogpgcheck localinstall *.rpm

3).配置

    主配置文件:

[root@node1 coorosync]# cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf
[root@node1 coorosync]# grep -vE "^([[:space:]]*#)|^$" /etc/corosync/corosync.conf
compatibility: whitetank    #表示是否支持0.8之前的版本
totem {    #图腾,这是用来定义集群中各节点中是怎么通信的
        version: 2    #各节点互相通信的协议的版本
        secauth: on    #各节点间通信是否需要认证
        threads: 0    #使用多少线程进行加密和发送多播信息
        interface {
                ringnumber: 0    #环号码,避免消息环路产生
                bindnetaddr: 192.168.220.0    #绑定的网络地址
                mcastaddr: 239.255.1.1    #多播地址
                mcastport: 5405    #多播端口
                ttl: 1    
        }
}
logging {    #日志相关
        fileline: off
        to_stderr: no
        to_logfile: yes
        logfile: /var/log/cluster/corosync.log
        to_syslog: no
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}
service {    #定义启动corosync时启动pacemaker
        ver: 0
        name: pacemaker
}
aisexec {    #定义以哪个用户和组启动corosync
        user: root
        group: root
}

    生成认证文件并复制配置文件到node2上:

[root@node1 coorosync]# mv /dev/random{,.bak}                #如果不替换random,可能会由
[root@node1 coorosync]# ln -sv /dev/urandom /dev/random    于熵池不足而导致生成认证文件慢
[root@node1 coorosync]# corosync-keygen
[root@node1 coorosync]#cd /etc/corosync
[root@node1 coorosync]# scp authkey corosync.conf node2:/etc/corosync/



参考资料:

openais集群分析:http://blog.sina.com.cn/s/blog_7695e9f40100pcnz.html

linux高可用集群详解:http://blog.csdn.net/flcandclf/article/details/14520501

CentOS 6.5 Corosync + pacemaker实现httpd服务的高可用:http://tanxw.blog.51cto.com/4309543/1401399/

CentOS6.5 corosync+pacemaker+drbd实现mysql高可用

原文:http://wangyongbin.blog.51cto.com/8964308/1698485

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!