centOS6.5 heartbeatV3+pacemaker实现高可用集群

1.集群环境

node1:192.168.220.111

node2:192.168.220.112

2.准备工作

配置各节点SSH互信:

# node1
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
# node2
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ‘‘
ssh-copy-id -i .ssh/id_rsa.pub [email protected]

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

# node1
hostname node1.wyb.com
sed -i ‘s/localhost.localdomain/node1.wyb.com/g‘ /etc/sysconfig/network
echo ‘192.168.220.111 node1.wyb.com   node1‘ >> /etc/hosts
echo ‘192.168.220.112 node2.wyb.com   node2‘ >> /etc/hosts
# node2
hostname node2.wyb.com
sed -i ‘s/localhost.localdomain/node2.wyb.com/g‘ /etc/sysconfig/network
echo ‘192.168.220.111 node1.wyb.com   node1‘ >> /etc/hosts
echo ‘192.168.220.112 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

3.安装

自3版本开始,heartbeat将原来项目拆分为了多个子项目(即多个独立组件),现在的组件包括:heartbeat、cluster-glue、resource-agents。各组件主要功能:

heartbeat:属于集群的信息层,负责维护集群中所有节点的信息以及各节点之间的通信。

cluster-glue:包括LRM(本地资源管理器)、STONITH,将heartbeat与crm(集群资源管理器)联系起来,属于一个中间层。

resource-agents:即各种资源脚本,由LRM调用从而实现各个资源的启动、停止、监控等。

设置yum源:

rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

安装heartbeat/pacemaker:

yum install heartbeat heartbeat-libs pacemaker pacemaker-libs resource-agents     cluster-glue cluster-glue-libs

4.配置

heartbeat有3个配置文件:

密钥文件: authkeys,用来加密集群间事务信息传递,权限必须为600;
        heartbeat:服务的配置文件ha.cf;
        haresources: 资源管理配置文件;

默认目录下并没有相关配置文件,可以自己手动建立,也可以直接修改软件包中自带的模板,因为使用pacemaker管理资源所以不需要拷贝haresources文件,如果使用了crm管理资源,而在配置文件目录含有haresources文件,日志中会提示haresources没有使用。

cp -p /usr/share/doc/heartbeat-3.0.4/{authkeys,ha.cf} /etc/ha.d/

配置密钥文件:

(echo -ne "auth 1\n1 md5 ";dd if=/dev/random bs=512 count=1 | md5sum) >> /etc/ha.d/authkeys

配置主配置文件ha.cf:

#集群中的节点不会自动加入
autojoin    none
 
#heartbeat会记录debug日志,如果启用use_logd,则此选项会被忽略
#debugfile   /var/log/ha-debug
 
#记录所有non-debug消息,如果启用use_logd,则此选项会被忽略
logfile    /var/log/ha-log
 
#通过syslog记录日志
#logfacility   local0
 
#指定两个心跳检测包的时间间隔
keepalive 1
 
#多久以后心跳检测决定集群中的node已经挂掉
deadtime   30
 
#心跳包检测的延时事件,如果延时,只是往日志中记录warning日志,并不切换服务
warntime  10
 
#在heartbeat启动后,在多长时间内宣布node是dead状态,因为有时候系统启动后,网络还需要一段时间才能启动
initdead  120
 
#如果udpport指令在bcast ucast指令的前面,则使用哪个端口进行广播,否则使用默认端口
udpport   694
 
#设置使用哪个网络接口发送UDP广播包,可以设置多个网络接口
bcast eth0
 
#设置在哪个网络接口进行多播心跳检测
#mcast   eth0 239.0.0.1 694 1 0
 
#设置使用哪个网络接口进行UDP单播心跳检测,在.3上为10.1.1.2
#ucast  eth0 10.1.1.3
 
#在主节点的服务恢复后,是否把从节点的服务切换回来
auto_failback on
 
#告诉集群中有哪些节点,node名称必须是uname -n显示出来的名称,可以在一个node中设置多个节点,也可以多次设置node,每一个在集群中的node都必须被列出来
node  node1.wyb.com
node  node2.wyb.com
 
#设置ping节点,仲裁设备,可以指向网关
ping 192.168.220.2

#节点故障后,是否尝试重启heartbeat服务来恢复
respawn hacluster /usr/lib/heartbeat/ipfail

#开启Pacemaker cluster manager,因为历史原因,次选项默认是off,但是应该保持该选项值为respawn。在设置为respawn默认自动使用以下配置
pacemaker  respawn
 
#默认配置文件中下面还有很多选项,由于暂时用不到所以暂时忽略

将配置文件复制到node2上:

scp /etc/ha.d/{authkeys,ha.cf} node2:/etc/ha.d/

5.安装crmsh

从pacemaker 1.1.8开始,crmsh 发展成一个独立项目,pacemaker中不再提供,说明我们安装好pacemaker后,是不会有crm这个命令行模式的资源管理器的。

# node1 node2
wget http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/x86_64/crmsh-2.1-1.6.x86_64.rpm
yum -y --nogpgcheck localinstall crmsh-2.1-1.6.x86_64.rpm

参考资料:

heartbeat + pacemaker实现pg流复制自动切换:

http://my.oschina.net/lianshunke/blog/200411?p={{currentPage-1}}

Heartbeat3.0.5+pacemaker:http://my.oschina.net/guol/blog/90128

Linux高可用(HA)集群之Pacemaker详解:http://www.linuxeye.com/Linux/1899.html

时间: 2024-08-04 19:57:49

centOS6.5 heartbeatV3+pacemaker实现高可用集群的相关文章

corosync+pacemaker实现高可用集群。

实验环境: 安装: yum install corosync pacemaker -y 复制配置文件 cp corosync.conf.example corosync.conf vim corosync.conf 编辑配置文件: compatibility: whitetank  是否兼容0.8版本的corosynctotem {定义集群之间心跳信息传递层   version: 2 ----版本号        secauth: on ---是否启用安全认证        threads: 0

corosync+pacemaker的高可用集群

基于corosync+pacemaker的高可用集群 Pacemaker即Cluster Resource Manager (简称CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群.它不能提供底层心跳信息传递的功能,它要想与对方节点通信需要借助底层(新拆分的heartbeat或corosync)的心跳传递服务,将信息通告给对方. pacemaker管理资源的工具由命令行界面的crmsh.pcs和图形化界面pygui.hawk等进行管理. 因此,一般来说都是选

CentOS7/RHEL7 pacemaker+corosync高可用集群搭建

目录 一.集群信息... 4 二.集群搭建... 4 1.制作软件源... 4 2.主机基础配置... 5 3.集群基础环境准备... 7 4.集群资源准备... 9 5.资源配置... 11 6.constraint配置... 12 7.stonith配置... 13 8.集群功能验证... 14 三.集群常用命令及作用... 17 1.验证群集安装... 17 2.查看群集资源... 17 3.使用群集脚本... 17 4.STONITH 设备操作... 17 5.查看群集配置... 17

corosync+pacemaker构建高可用集群

一.集群简介 引自suse官方关于corosync的高可用集群的框架图: 由图,我们可以看到,suse官方将集群的Architecture Layers分成四层.最低层Messaging/Infrastructure Layer提供了HeartBeat节点间传递心跳信息,即为心跳层.第二层Membership Layer层为集群事务决策层,决定了哪些节点作为集群节点,并传递给集群内所有节点,如果集群中成员拥有的法定票数不大于半数,该怎么作出决策等,通俗点讲,就是投票系统,同时,还提供了构建成员关

corosync+pacemaker配置高可用集群(需要额外安装crm工具)

借鉴了网上不少博客定义:(来源于百度百科)Corosync:是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等.Pacemaker:是一个集群资源管理器.它利用集群基础构件(OpenAIS .heartbeat或corosync)提供的消息和成员管理能力来探测并从节点或资源级别的故障中恢复,以实现群集服务(亦称资源)的最大可用性.crm:直接的配置工具. 一.前期准备:准备两台主机node1和node2: 1.确保设置好IP地址,设置好hostnam

corosync+pacemaker实现高可用集群

Corosync corosync最初只是用来演示OpenAIS集群框架接口规范的一个应用,可以实现HA心跳信息传输的功能,是众多实现HA集群软件中之一,可以说corosync是OpenAIS的一部分,然而后面的发展超越了官方最初的设想,越来越多的厂商尝试使用corosync作为集群解决方案,如Redhat的RHCS集群套件就是基于corosync实现. corosync只提供了message layer(即实现HeartBeat + CCM),而没有直接提供CRM,一般使用Pacemaker进

corosync+pacemaker配置高可用集群

一.环境介绍: Node1: CentOS6      192.168.9.168   192-168-9-168 CentOS6      192.168.9.176   192-168-9-176 VIP: 192.168.9.144 corosync和pacemaker为yum安装 二.环境部署 服务器初始化脚本执行(主要时间同步,防火墙,主机名,ip配置,关闭不必要服务等) 1,更改yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http:/

高可用集群之Corosync+Pacemaker及用CRM命令和NFS-server构建一个HA高可用集群

红帽5.0使用的是OpenAIS作为内核中的信息通信API,然后借助CMAN作为Messager Layer,再使用ramanager作为CRM进行资源的管理 Corosync具有比heartbeat在设计上更好的信息通信机制 红帽6.0直接使用Corosync用来作为集群的Messager Layer 不同的公司的API机制所调用的库,函数类型,返回方式各不相同,这就必须使用一个标准,使不同公司的API保持最大的兼容 比如你买了华硕的主板使用其他公司的鼠标照样可以使用 应用接口规范(AIS)就

corosync+pacemaker and drbd实现mysql高可用集群

DRBD:Distributed Replicated Block Device 分布式复制块设备,原理图如下 DRBD 有主双架构和双主架构的,当处于主从架构时,这个设备一定只有一个节点是可以读写的,另外的节点是不可读的,连挂载都不可能,只有一个节点是主的,其它节 点都是从的.当做为主主架构时,需要达到几个条件,1.在高可用集群中启用DRBD;  2. 启用分布式文件锁功能,即需要把磁盘格式化为集群文件系统(如GFS2,OCFS2等):3. 把DRBD做成资源. 数据的存储过程: 当某个进程存