Haproxy和pacemaker结合corosync实现负载均衡高可用,以及crm命令的使用
2018-01-25 10:48
846 查看
实验之前需要将之间做的负载均衡和高可用软件全部关掉!!!!!
server1和server9上安装Haproxy:
server1:
server9:
测试:打开后端服务器server2和server3:
server1和server9:curl 172.25.92.100
可以看到server3的hph页面。(之前搭建的)
server1和server9安装pacemaker和corosync:
其中corosync再之前做RHCS套件时已经安装,因为RHCS套件的高可用也时利用corosync实现心跳检测。
server1:
server9:和server1是同步的,但此处作为监控
server1和server9上安装Haproxy:
server1:
安装见上篇博文: scp haproxy-1.6.11-1.x86_64.rpm 172.25.92.9:/root scp /etc/haproxy/haproxy.cfg 172.25.92.9:/etc/haproxy scp /etc/security/limits.conf 172.25.92.9:/etc/security vim /etc/haproxy/haproxy.cfg 37 bind 172.25.92.100:80 name clear #设置只有访问172.25.92.100才能访问集群资源 /etc/init.d/haproxy start
server9:
rpm -ivh haproxy-1.6.11-1.x86_64.rpm groupadd -g 200 haproxy useragdd -u 200 -g 200 haproxy useradd -u 200 -g 200 haproxy id haproxy vim /etc/haproxy/haproxy.cfg 37 bind 172.25.92.100:80 name clear /etc/init.d/haproxy start
测试:打开后端服务器server2和server3:
server1和server9:curl 172.25.92.100
可以看到server3的hph页面。(之前搭建的)
server1和server9安装pacemaker和corosync:
其中corosync再之前做RHCS套件时已经安装,因为RHCS套件的高可用也时利用corosync实现心跳检测。
server1:
yum install -y pacemaker corosync /etc/init.d/corosync start [root@server1 ~]# cd /etc/corosync/ [root@server1 corosync]# cp corosync.conf.example corosync.conf [root@server1 corosync]# vim corosync.conf 10 bindnetaddr: 172.25.92.0 11 mcastaddr: 226.94.1.92 12 mcastport: 5405 34 service{ 35 name:pacemaker 36 ver:0 37 } [root@server1 corosync]# scp corosync.conf 172.25.92.9:/etc/corosync/ [root@server1 corosync]# /etc/init.d/corosync start Starting Corosync Cluster Engine (corosync): [ OK ] [root@server1 corosync]# tail -f /var/log/messages #如果日志中有很多error,可能是因为多播地址或者端口冲突 #健康检测: [root@server1 ~]# crm_verify -LV 发现没有fence设备报错 #安装crm管理工具: [root@server1 ~]# yum install crmsh-1.2.6-0.rc2.2.1.x86_64.rpm pssh-2.3.1-2.1.x86_64.rpm #配置禁掉fence功能 在主机上:/etc/fence_virtd stop [root@server1 ~]# crm crm(live)# configure crm(live)configure# property stonith-enabled=false [root@server1 ~]# crm_verify -LV #不报错 #关闭集群对节点数量的检查,集群默认最少量台主机,如果只是一台主机不能接管资源 crm(live)configure# property no-quorum-policy=ignore crm(live)configure# commit #添加资源,vip crm(live)configure# primitive vip ocf:heartbeat:IPaddr2 params ip=172.25.92.100 cidr_netmask=24 op monitor interval=20s #添加vip,并设置20s对资源监察一次,监控端可以发现vip资源添加上 crm(live)configure# commit 测试:在主机上访问:curl 172.25.92.100可以看见server3上的html页面。关掉其中一台corosnsc,vip会上到另一台主机上。 #添加资源haproxy: crm(live)configure# primitive haproxy lsb:haproxy op monitor interval=30s crm(live)configure# commit #添加haproxy后可以看出来vip和haproxy不再一台主机上,资源飘移: #解决办法:建立资源组就可以解决 crm(live)configure# group westos vip haproxy crm(live)configure# commit #添加资源fence: 添加fence之前首先开启主机上:systemctl start fence_virtd yum install -y fence-virt.x86_64 fence-agents.x86_64 #两台主机上都做(server1和server9) ``!!!!! `` crm(live)configure# property stonith-enabled=true #开启fence功能 crm(live)configure# commit [root@server1 ~]# stonith_admin -I #查看主机支持fence的代理类型。本次使用fence_xvm [root@server1 ~]# stonith_admin -M -a fence_xvm crm(live)configure# primitive vmfence stonith:fence_xvm params pcmk_host_map="server1:server1;server9:server9" op monitor interval=1min #添加fence资源,并做好集群节点名和真实server的名字映射 #测试fence功能: 首先设置:corsync在两台主机上可其自启动:chkconfig corosync on reboot(重启动)其中一台主机,等主机开启后会自动加到集群中! #对集群 资源 的管理: crm(live)resource# show #显示资源种类,此处时只添加了一个资源vip,所以显示一个 vip (ocf::heartbeat:IPaddr2): Started #开启vip资源 crm(live)resource# stop vip crm(live)resource# show vip (ocf::heartbeat:IPaddr2): Stopped #停掉vip资源 #对集群 节点 的管理: [root@server1 ~]# crm crm(live)# node crm(live)node# standby #停掉server1节点 crm(live)node# online #开启sesrver1节点
server9:和server1是同步的,但此处作为监控
yum install -y pacemaker corosync /etc/init.d/corosync start #安装管理工具: [root@server9 ~]# yum install pssh-2.3.1-2.1.x86_64.rpm crmsh-1.2.6-0.rc2.2.1.x86_64.rpm #监控集群: [root@server9 ~]# crm_mon
相关文章推荐
- linux运维进阶-Haproxy和pacemaker结合corosync实现负载均衡高可用及crm命令
- 使用HAproxy,keepalived实现简单LAMP架构的负载均衡与高可用
- 用haproxy结合keepalived实现基于LNMP的负载均衡和高可用
- Haproxy+Keepalived实现负载均衡高可用
- Heartbeat+Haproxy实现负载均衡高可用
- HA专题: 使用pacemaker+corosync实现MySQL高可用
- CentOS 6.5使用Corosync + pacemaker实现httpd服务的高可用
- Keepalived+HAProxy实现MySQL高可用负载均衡的配置
- 使用Haproxy搭建负载均衡高可用群集
- corosync+pacemaker+crm实现drbd高可用
- 使用HAProxy实现Percona XtraDB Cluster的负载均衡
- Heartbeat+Haproxy实现负载均衡高可用
- 基于HAProxy+Varnish实现动静分离、负载均衡的高可用集群
- 使用HaProxy实现Thrift服务端的负载均衡
- 使用ubuntu+haproxy+heartbeat搭建大规模WEB集群环境实现负载均衡。
- haproxy+keepalive双主高可用实现负载均衡
- CentOS 6.5 Corosync+Pacemaker crm实现DRBD高可用过程及DRBD详解
- 使用ansible快速配置RHCS 集群 实现WEB站负载均衡高可用(手记)
- Keepalived+HAProxy实现MySQL高可用负载均衡的配置
- 使用Corosync+Pacemaker+nfs 实现高可用的Web集群