Haproxy + Pacemaker 实现高可用负载均衡(二)
Pacemaker
server1 和 server2 均安装pacemaker 和 corosync
server1 和 server2 作相同配置
[root@server1 ~]# yum install -y pacemaker corosync
[root@server1 ~]# cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf
[root@server1 ~]# vim /etc/corosync/corosync.conf34 service {35 name: pacemaker36 ver: 037 }8 yum install -y pacemaker corosync9 cp /etc/corosync/corosync.conf.example /etc/corosync/corosync.conf10 vim /etc/corosync/corosync.conf
# Please read the corosync.conf.5 manual page
compatibility: whitetanktotem {version: 2secauth: offthreads: 0interface {ringnumber: 0bindnetaddr: 172.25.54.0mcastaddr: 226.94.1.54mcastport: 5405ttl: 1}
}logging {fileline: offto_stderr: noto_logfile: yesto_syslog: yeslogfile: /var/log/cluster/corosync.logdebug: offtimestamp: onlogger_subsys {subsys: AMFdebug: off}
}amf {mode: disabled
}
service {name: pacemakerver: 0
}
[root@server1 ~]# yum install -y crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm
安装管理工具,链接:crmsh and pssh
[root@server1 ~]# crm //进入管理界面
crm(live)# configure
crm(live)configure# show //查看默认配置
node server1
node server2
property $id="cib-bootstrap-options" \dc-version="1.1.10-14.el6-368c726" \cluster-infrastructure="classic openais (with plugin)" \expected-quorum-votes="2"
crm(live)configure# 在另一台服务器上我们也可以实施监控查看
Server2:
[root@server1 ~]# crm_mon //调出监控
Last updated: Sat Aug 4 15:07:13 2018
Last change: Sat Aug 4 15:00:04 2018 via crmd on server1
Stack: classic openais (with plugin)
Current DC: server1 - partition with quorum
Version: 1.1.10-14.el6-368c726
2 Nodes configured, 2 expected votes
0 Resources configured
//ctrl+c退出监控server1
crm(live)configure# property stonith-enabled=false //禁掉fence
crm(live)configure# commit //保存
注意:每次修改完策略都必须保存一下,否则不生效
server2
Last updated: Sat Aug 4 15:09:55 2018
Last change: Sat Aug 4 15:09:27 2018 via cibadmin on server1
Stack: classic openais (with plugin)
Current DC: server1 - partition with quorum
Version: 1.1.10-14.el6-368c726
2 Nodes configured, 2 expected votes
0 Resources configuredOnline: [ server1 server2 ]
[root@server2 rpmbuild]# crm_verify -VL //检查语法
- 添加VIP
crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.54.100 cidr_netmask=24 op monitor interval=1min
crm(live)configure# commit
[root@server1 ~]# /etc/init.d/corosync stop
Signaling Corosync Cluster Engine (corosync) to terminate: [ OK ]
Waiting for corosync services to unload:.. [ OK ]
[root@server1 ~]#
[root@server1 ~]# /etc/init.d/corosync start
Starting Corosync Cluster Engine (corosync): [ OK ]
[root@server1 ~]#
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# show
node server1
node server2
primitive vip ocf:heartbeat:IPaddr2 \params ip="172.25.54.100" cidr_netmask="24" \op monitor interval="1min"
property $id="cib-bootstrap-options" \dc-version="1.1.10-14.el6-368c726" \cluster-infrastructure="classic openais (with plugin)" \expected-quorum-votes="2" \stonith-enabled="false"
crm(live)configure# property no-quorum-policy=ignore ##设置为ignore做实验,这时即使一个节点挂掉了,另一个节点也会正常工作
crm(live)configure# commit
crm(live)configure# bye
bye
[root@server1 ~]#
[root@server1 ~]# /etc/init.d/corosync stop
Signaling Corosync Cluster Engine (corosync) to terminate: [ OK ]
Waiting for corosync services to unload:. [ OK ]
[root@server1 ~]#
[root@server1 ~]# /etc/init.d/corosync start
Starting Corosync Cluster Engine (corosync): [ OK ]
[root@server1 ~]#
[root@server1 ~]# crm
crm(live)# configure
crm(live)configure# primitive haproxy lsb:haproxy op monitor interval=1min
crm(live)configure# commit
crm(live)configure#
crm(live)configure# group hagroup vip haproxy //创建集群
crm(live)configure# commit
crm(live)configure#
[root@server2 ~]# crm configure show
node server1
node server2 \attributes standby="off"
primitive haproxy lsb:haproxy \op monitor interval="1min"
primitive vip ocf:heartbeat:IPaddr2 \params ip="172.25.54.100" cidr_netmask="24" \op monitor interval="1min"
group hagroup vip haproxy
property $id="cib-bootstrap-options" \dc-version="1.1.10-14.el6-368c726" \cluster-infrastructure="classic openais (with plugin)" \expected-quorum-votes="2" \stonith-enabled="false" \no-quorum-policy="ignore"
删除资源时,要到resource层下查看该资源是否在工作,若在工作,停掉资源,再到configure层删除
Fence
- server1 和 server2
yum install fence-virt-0.2.3-15.el6.x86_64 -y
[root@server1 ~]# ll /etc/cluster/
total 4
-rw-r--r-- 1 root root 128 Aug 4 16:18 fence_xvm.key
[root@server1 ~]#
[root@server2 ~]# ll /etc/cluster/
total 4
-rw-r--r-- 1 root root 128 Aug 4 16:20 fence_xvm.key
[root@server2 ~]# crm
crm(live)# configure
crm(live)configure# property stonith-enabled=true //启用fence
crm(live)configure# primitive vmfence stonith:fence_xvm params pcmk_host_map="server1:vm1;server2:vm2" op monitor interval=1min
crm(live)configure# commit
crm(live)configure# bye
bye
[root@server2 ~]#
[root@server1 ~]# [root@server1 ~]# echo c >/proc/sysrq-trigger //内核崩溃
此时server2会自动接替server1的工作,而server1则会后台自动重启
待server1重启成功后,再重启corosync服务
Haproxy + Pacemaker 实现高可用负载均衡(二)相关推荐
- Haproxy + Pacemaker 实现高可用负载均衡(一)
pacemaker+corosync+haproxy > 高可用架构由两个核心部分组成,一个是心跳检测,判断服务器是否正常运行:一个是资源转移,用来将公共资源在正常服务器和故障服务器之间搬动.两 ...
- haproxy keepalived_详解mycat+haproxy+keepalived搭建高可用负载均衡mysql集群
概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭 ...
- haproxy+keepalived实现高可用负载均衡
一,软件介绍 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案,适用于那些负载特大的web站点,这些站点通常又需要会话保持或七 ...
- HAProxy Keepalived L4-L7 高可用负载均衡解决方案
目录 文章目录 目录 HAProxy 负载均衡器 应用特性 性能优势 会话保持 健康检查 配置文件 负载均衡策略 ACL 规则 Web 监控平台 Keepalived 虚拟路由器 核心组件 VRRP ...
- 高可用集群下的负载均衡(7):haproxy + keepalived 实现高可用负载均衡
实验环境 server1 和 server2 是调度器,server3 和 server4 是服务器 一.调度器中进行配置 haproxy+keepalived server1 与server2 均要 ...
- Linux之企业实训篇——haproxy与pacemaker实现高可用负载均衡
注:haproxy与fence的相关配置可以参照一下我之前写的博客 >_< ~~~ 一.简介 Pacemaker是一个集群资源管理器.它利用集群基础构件(OpenAIS,heartbeat ...
- 基于linux下的 Pacemaker+Haproxy高可用负载均衡架构
corosync + pacemaker + crmsh 高可用集群 corosync提供集群的信息层(messaging layer)的功能,传递心跳信息和集群事务信息,多台机器之间通过组播的方式监 ...
- haproxy负载均衡_基于mycat+haproxy+keepalived搭建mysql数据库高可用负载均衡
概述 目前业界对数据库性能优化普遍采用集群方式,而oracle集群软硬件投入昂贵,mysql则比较推荐用mycat去搭建数据库集群,下面介绍一下怎么用mycat+haproxy+keepalived搭 ...
- RabbitMQ+haproxy+keeplived 高可用负载均衡+镜像集群模式_集成高性能高可用组件 Keepalived_03
服务器IP hostname 节点说明 端口 管控台地址 账号 密码 192.168.0.115 mq-01 rabbitmq master 5672 http://192.168.0.115:156 ...
最新文章
- 柱状图中xy轴怎么出现_烤烟烘烤中出现叶片发霉怎么办?
- 天下第一 txdy (LCT+双指针+线段树)
- nvprof 使用记录; 以及使用 nvprof 查看tensorflow-gpu 核函数运行记录
- 【EISCI征稿中】上海 · 首届长三角人工智能产业发展论坛AINIT2020
- lua正则替换_Lua 语言如何替换多个可选字符串
- 2012年CIO最关心的十大安全问题
- c语言程序设计的例题,C语言程序设计例题与习题--详细介绍
- svpwm的matlab模型,svpwm的MATLAB仿真实现(转载)
- 操作系统实验·字符设备驱动程序
- 基于微信小程序 校园跑腿小程序毕业设计毕设开题报告参考功能
- 学会System Generator(2)数字滤波器设计
- 我妹妹成了我的女儿——难道我真的中年大叔了?
- 核心乐理---音程名称
- Android动态设置控件宽高和padding
- 开源正当时,共赢新未来 OpenHarmony开发者大会成功召开
- 域用户登陆,错误:无法登录到你的账户,通常可以通过从你的账户注销,然后重新登录来解决此问题
- 资产定价Model——随机变量因子
- Epub360教你如何制作报纸翻页式创意招聘H5?
- matlab绘制银河系,Gaia卫星绘制了银河系最详细的三维图
- 零基础可以考软考高级吗?
热门文章
- SAP Varient Configuration Type SAP变量配置类型
- 根据当前时间如何找到上月的第一天和最后一天?
- MB1A MB1B MB1C MB11 MIGO的区别解析
- SAP数据分析图形相关内容
- SAP Basis 应该做什么
- 入选2020爱分析银行和零售数字化转型代表厂商,永洪科技有哪些经典案例可以借鉴?
- “有效私域”加速,私域SaaS服务商提前蜕变
- 在c语言中错误的常数表示是,C语言程序设计试题
- js observer 添加_简单了解4种JS设计模式
- 常见服务器小机型号,小机服务器一览.ppt