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://mirrors.aliyun.com/repo/Centos-6.repo

yum clean all

2,安装epel

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -Uvh http://mirrors.kernel.org/fedora-epel/epel-release-latest-6.noarch.rpm

3,设置主机名

hostname

vim /etc/sysconfig/network

4,绑定host

cat /etc/hosts

192.168.9.168 192-168-9-168

192.168.9.176 192-168-9-176

可配置秘钥通信:

ssh-keygen -P ''

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

ssh 192.168.9.168 'date'

5,安装corosync+pacemaker

yum install -y corosync pacemaker

安装httpd

yum install -y httpd

6,配置

# grep -v "^[:space:]\{0,\}.*#" corosync.conf | grep -v ^$

compatibility: whitetank

totem {

version: 2

secauth: on

threads: 0

interface {

ringnumber: 0

bindnetaddr: 192.168.9.0

mcastaddr: 239.255.1.91

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 {

ver: 0

name: pacemaker

}

aisexec {

user: root

group: root

}

7,启动

service corosync start

8,查看启动是否正常

crm_mon

tail /var/log/cluster/corosync.log

grep -e "Corosync Cluster Engine" -e "configuration file" /var/log/cluster/corosync.log

grep TOTEM /var/log/cluster/corosync.log

grep ERROR: /var/log/cluster/corosync.log | grep -v unpack_resources

grep pcmk_startup /var/log/cluster/corosync.log

9,crm使用方法

http://blog.51yip.com/server/1680.html

(1)yum安装

cd /etc/yum.repos.d/ ; wget http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/network:ha-clustering:Stable.repo

yum install -y crmsh*

(2)×××下载包

http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/CentOS_CentOS-6/noarch/

yum install -y *.rpm

(3)crm使用

# crm     #输入crm命令,进入crm sh 模式

crm(live)# help     #输入help查看帮助

crm(live)# configure     #输入configure进入configure模式下,

crm(live)configure#         #敲两下tab键就会显示configure下全部命令

crm(live)configure# help node

crm(live)configure# cd ../        #返回上一级

1)查看集群状态

crm(live)# status

2)查看一下CIB配置:

crm(live)# configure

crm(live)configure# show

crm(live)configure# show xml    #查xml格式文件

3)检测一下配置文件是否有错,可以看到刚开始默认STONITH配置错误,因为没有STONITH设备

crm(live)configure# verify

4)查看当前集群系统所支持的资源代理类型

crm(live)# ra

crm(live)ra# classes

5)查看某种类别下的所用资源代理的列表

crm(live)ra# list lsb

crm(live)ra# list ocf heartbeat

crm(live)ra# list ocf pacemaker

6)查看某个资源代理的配置方法,例如查看了heartbeat的ip资源的配置方法:

crm(live)ra# info ocf:heartbeat:IPaddr

7)节点下线,上线

crm node standby

crm node online

crm status

crm node status

8)资源管理

crm(live)# resource

crm(live)# resource

crm(live)resource# status vip

crm(live)resource# migrate vip 192-168-9-176

crm(live)resource# unmigrate

crm(live)resource# stop webservice

9)排列约束

crm(live)configure#  colocation webserver_with_webip inf: webserver webip

10)顺序约束

crm(live)configure# order webip_before_webserver Mandatory: webip webserver

11)位置约束

crm(live)configure# location webip_on_node2 webip 50: 192-168-9-176

10,crmsh配置集群资源

说明:vip,nfs,httpd三个资源配置到资源组,并按顺序启动;双节点投票设置为ignore并添加监控

(1)解决stonith配置错误,设置票数失效操作

crm(live)# configure

crm(live)configure# show

node 192-168-9-168

node 192-168-9-176

property cib-bootstrap-options: \

have-watchdog=false \

dc-version=1.1.15-5.el6-e174ec8 \

cluster-infrastructure="classic openais (with plugin)" \

expected-quorum-votes=2

crm(live)configure# verify

ERROR: error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined

error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option

error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity

Errors found during check: config not valid

crm(live)configure# property stonith-enabled=false

crm(live)configure# property no-quorum-policy=ignore

crm(live)configure# verify

crm(live)configure# commit

(2)创建IP地址资源,IP资源是主资源

crm(live)configure# primitive vip ocf:heartbeat:IPaddr params ip=192.168.9.144 nic=eth0 cidr_netmask=24 op monitor interval=10s timeout=20s

crm(live)configure# verify

crm(live)configure# commit

crm(live)configure# show

node 192-168-9-168

node 192-168-9-176

primitive vip IPaddr \

params ip=192.168.9.144 nic=eth0 cidr_netmask=24

property cib-bootstrap-options: \

have-watchdog=false \

dc-version=1.1.15-5.el6-e174ec8 \

cluster-infrastructure="classic openais (with plugin)" \

expected-quorum-votes=2 \

stonith-enabled=false

(3)配置nfs和httpd服务

crm(live)configure# primitive nfs ocf:heartbeat:Filesystem params device=192.168.9.225:/web/hahtml  directory=/var/www/html fstype=nfs op monitor interval=20s timeout=40s

crm(live)configure# primitive httpd lsb:httpd op monitor interval=10s timeout=20s

crm(live)configure# verify

crm(live)configure# commit

crm(live)configure# show

node 192-168-9-168

node 192-168-9-176

primitive httpd lsb:httpd

primitive nfs Filesystem \

params device="192.168.9.225:/web/hahtml" directory="/var/www/html" fstype=nfs

primitive vip IPaddr \

params ip=192.168.9.144 nic=eth0 cidr_netmask=24

property cib-bootstrap-options: \

have-watchdog=false \

dc-version=1.1.15-5.el6-e174ec8 \

cluster-infrastructure="classic openais (with plugin)" \

expected-quorum-votes=2 \

stonith-enabled=false

crm(live)configure# cd

crm(live)# status

Stack: classic openais (with plugin)

Current DC: 192-168-9-168 (version 1.1.15-5.el6-e174ec8) - partition with quorum

Last updated: Fri Mar  2 14:53:37 2018 Last change: Fri Mar  2 14:52:46 2018 by root via cibadmin on 192-168-9-168

, 2 expected votes

2 nodes and 3 resources configured

Online: [ 192-168-9-168 192-168-9-176 ]

Full list of resources:

vip (ocf::heartbeat:IPaddr): Started 192-168-9-168

nfs (ocf::heartbeat:Filesystem): Started 192-168-9-176

httpd (lsb:httpd): Started 192-168-9-168

(4)创建资源组,将三个资源在同一节点启动

crm(live)# configure

crm(live)configure#  group group_webservice vip nfs httpd

crm(live)configure# verify

crm(live)configure# commit

crm(live)configure# show

node 192-168-9-168

node 192-168-9-176

primitive httpd lsb:httpd

primitive nfs Filesystem \

params device="192.168.9.225:/web/hahtml" directory="/var/www/html" fstype=nfs

primitive vip IPaddr \

params ip=192.168.9.144 nic=eth0 cidr_netmask=24

group group_webservice vip nfs httpd

property cib-bootstrap-options: \

have-watchdog=false \

dc-version=1.1.15-5.el6-e174ec8 \

cluster-infrastructure="classic openais (with plugin)" \

expected-quorum-votes=2 \

stonith-enabled=false

crm(live)configure# cd

crm(live)# status

Stack: classic openais (with plugin)

Current DC: 192-168-9-168 (version 1.1.15-5.el6-e174ec8) - partition with quorum

Last updated: Fri Mar  2 14:55:12 2018 Last change: Fri Mar  2 14:55:04 2018 by root via cibadmin on 192-168-9-168

, 2 expected votes

2 nodes and 3 resources configured

Online: [ 192-168-9-168 192-168-9-176 ]

Full list of resources:

Resource Group: group_webservice

vip (ocf::heartbeat:IPaddr): Started 192-168-9-168

nfs (ocf::heartbeat:Filesystem): Started 192-168-9-168

httpd (lsb:httpd): Started 192-168-9-168

11,测试

(1)使节点为standy  测试切换

(2)service corosync stop关闭corosync  测试选票系统

(3)killall httpd服务测试监控

原文地址:http://blog.51cto.com/wupengfei/2080151

时间: 2024-10-07 17:30:19

corosync+pacemaker配置高可用集群的相关文章

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

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

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等进行管理. 因此,一般来说都是选

corosync+pacemaker构建高可用集群

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

corosync+pacemaker实现高可用集群

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

基于corosync+pacmaker实现高可用集群

目前,corosync功能和特性已经非常完善了,所以pacmaker独立出来之后通常都将pacmaker和corosync结合来使用,corosync并没有通用的资源管理器,因此要借助pacmaker来实现 常用的资源管理器: ·cman:rgmanager ·crm: crm的资源约束有: ·location :资源对节点的偏好 ·colocation:排序约束:资源运行在同一节点上的可能性,需要一定评估的 ·order: 资源采取动作的次序 资源有很多属性,以下为最常见的几类 ·集群属性 ·

18.1 集群介绍;18.2 keepalived介绍;18.3,18.4,18.5 用keepalived配置高可用集群(上,中,下);

18.1 集群介绍 1. 根据功能划分为两大类:高可用和负载均衡 2. 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务 3. 实现高可用的开源软件有:heartbeat.keepalived 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2 4. 实现负载均衡的开源软件有LVS.keepalived.haproxy.nginx,

18.1集群介绍 18.2 keepalived介绍18.3/18.4/18.5 用keepalived配置高可用集群

- 18.1 集群介绍 - 18.2 keepalived介绍 - 18.3/18.4/18.5 用keepalived配置高可用集群 - 扩展 - heartbeat和keepalived比较 http://blog.csdn.net/yunhua_lee/article/details/9788433  - DRBD工作原理和配置 http://502245466.blog.51cto.com/7559397/1298945 - mysql+keepalived http://lizhenl

集群介绍、keepalived介绍、用keepalived配置高可用集群

集群介绍 Linux集群根据功能划分为两大类:高可用和负载均衡. 1.高可用集群通常为2台服务器,一台工作,另一台作为冗余,当提供服务的机器宕机时,冗余将接替继续提供服务. 实现高可用的开源软件有:heartbeat.Keepalived,其中heartbeat很多bug已无人维护(不推荐使用),所以今后使用Keepalived来搭建高可用集群. 2.负载均衡集群,需要有1台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外就是给用户提供服务的服务器了,这些服