ts7758258 发表于 2019-1-7 13:49:12

Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置ipvs高可用集群


本章主要配置heartbeat v2基于crm+hb_gui接口,配置高可用+ipvs负载均衡集群。
http://www.heartbeat.com/wp-content/uploads/2016/05/heartbeat-logo-300x300.png
如何安装heartbeat v2、httpd、nfs、配置心跳连接、ssh密钥通信、同步时间、添加名称解析、配置yum源等请参照:
>> Linux高可用集群方案之配置heartbeat v2基于haresources配置文件的httpd高可用集群
http://ccschan.blog.运维网.com/11854461/1922966


ll 本文导航

· 前期准备
· 基于crm+hb_gui接口配置ipvs高可用集群
· 基于crm+hb_gui+ldirectord接口配置ipvs高可用集群



前期准备
1、heartbeat服务主机规划
主机接口ip服务用途node1.chanedu.cometh0192.168.1.131  heartbeat
  httpd
  ipvs
  ipvsadm
LAN数据转发
心跳信息链路
Director Server
eth0:0为配置ip为VIP,提供给客户端访问http

eth1192.168.2.131
eth0:0192.168.1.161node1.chanedu.cometh0192.168.1.132  heartbeat
  httpd
  ipvs
  ipvsadm
LAN数据转发
  心跳信息链路
  directore
  eth0:0为配置ip为VIP,提供给客户端访问

eth1192.168.2.132
eth0:0192.168.1.161rs1.chanedu.cometh0192.168.1.150httpd  LAN数据转发
  Real Server
lo:0为配置ip为VIP
lo:0192.168.1.161rs2.chanedu.cometh0192.168.1.10httpd  LAN数据转发
  Real Server
  lo:0为配置ip为VIP

lo:0192.168.1.161

2、集群架构
https://s3.运维网.com/wyfs02/M00/96/70/wKiom1khqzHSdY9iAAP5y38JA3Y746.jpg




基于crm+hb_gui接口配置ipvs高可用集群
在rs1和rs2安装httpd并保存能正常访问,然后设置参数,配置VIP,添加路由
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
# ifconfig lo:0 192.168.1.161 netmask 255.255.255.255 broadcast 192.168.1.161 up
# route add -host 192.168.1.161 dev lo:0


在node1和node2上分别安装ipvsadm。
基于DR模型配置director
关闭防火墙,配置VIP,添加路由,配置集群
# yum -y install ipvsadm
# iptables -t filter -F
# ifconfig eth0:0 192.168.1.161 netmask 255.255.255.255 broadcast 192.168.1.161 up
# route add -host 192.168.1.161 dev eth0:0  在node1和node2上分别配置集群服务并保存集群的配置信息至/etc/sysconfig/ipvsadm
  而后清除集群
# ipvsadm -A -t 192.168.1.161:80 -s rr
# ipvsadm -a -t 192.168.1.161:80 -r 192.168.1.150 -g -w 1
# ipvsadm -a -t 192.168.1.161:80 -r 192.168.1.10 -g -w 2
# ipvsadm-save > /etc/sysconfig/ipvsadm
# ipvsadm -C  

  启动node1和node2上的heartbeat服务,并启动hb_gui图形配置界面
# service heartbeat start
logd is already running
Starting High-Availability services:
Done.
# ssh node2 'service heartbeat start'
logd is already running
Starting High-Availability services:
Done.
# hb_gui &https://s4.运维网.com/wyfs02/M02/95/EC/wKiom1kbDcSTdqZSAAC_7twHACs356.png
https://s1.运维网.com/wyfs02/M01/95/EE/wKiom1kbHu7g6sJjAADw8j7kchk271.png
https://s3.运维网.com/wyfs02/M02/95/EC/wKioL1kbDcWC7HK8AAEE-guLvMo326.png
https://s3.运维网.com/wyfs02/M00/95/EC/wKiom1kbDcXSDIhcAABC-EX-vgQ565.png
https://s3.运维网.com/wyfs02/M00/95/EC/wKioL1kbDcayJG2qAACjy3VQWr4939.png
https://s3.运维网.com/wyfs02/M02/95/EC/wKiom1kbDcbwWY5yAAEQvDBxSn4115.png
https://s3.运维网.com/wyfs02/M02/95/EC/wKioL1kbDcbzko8HAAAku6CPVug829.png


基于crm+hb_gui+ldirectord接口配置ipvs高可用集群
  1、将上面的高可用集群信息所配置的资源都删除,停止heartbeat,并将node1和node2上的ipvs配置文件/etc/sysconfig/ipvsadm删除。
# service heartbeat stop
Stopping High-Availability services:
Done.
# ssh node2 'service heartbeat stop'
Stopping High-Availability services:
Done.
# rm /etc/sysconfig/ipvsadm
rm: remove regular file `/etc/sysconfig/ipvsadm'? y
# ssh node2 'rm /etc/sysconfig/ipvsadm'  2、在node1和node2上分别安装ldirectord组件
  在node1上安装,直接rpm安装不成功,需要解决依赖关系,改为yum安装,可解决依赖关系
  # rpm -ivh heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm
  error: Failed dependencies:
  perl(Mail::Send) is needed by heartbeat-ldirectord-2.1.4-12.el6.x86_64
  # yum -y install heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm
  

  # yum -y install heartbeat-ldirectord-2.1.4-12.el6.x86_64.rpm
  

  3、复制配置文件
  在node1上将/usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf复制到/etc/ha.d/目录下。
https://s5.运维网.com/wyfs02/M02/95/ED/wKioL1kbGIXyUCYyAAAX9HpqQZs712.png
# cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/
# cat /etc/ha.d/ldirectord.cf | grep -E -v '^#|^$'
checktimeout=3
checkinterval=1
autoreload=yes
logfile="/var/log/ldirectord.log"
quiescent=yes
virtual=192.168.1.161:80
real=192.168.1.10:80 gate
real=192.168.1.150:80 gate
fallback=127.0.0.1:80 gate
service=http
request=".health.html"
receive="OK"
scheduler=rr
#persistent=600
#netmask=255.255.255.255
# scp /etc/ha.d/ldirectord.cf node2:/etc/ha.d/
# scp /etc/ha.d/ldirectord.cf node2:/etc/ha.d/
ldirectord.cf                                          100% 7500   7.3KB/s   00:0  4、在node1和node2启动httpd,并创建内容为Maintenance Time的.health.html页面,当RS都不在线时,将在客户端显示此页面内容。
  将httpd.conf配置文件中的Directored Index项的第一个位置修改为.health.html页面
# service httpd start
# vim /var/www/html/.health.html
# cat /var/www/html/.health.html
Maintenance Time  5、在rs1和rs2启动httpd,并创建内容为OK的.health.html页面,这个页面是指RS的健康状态检测页

# service httpd start
# vim /var/www/html/.health.html
# cat /var/www/html/.health.html
OK  6、配置高可用集群
  新建名为ipvs_service的资源组
https://s3.运维网.com/wyfs02/M01/95/EE/wKiom1kbJPXw8MwQAADeiBNT890234.png
  配置vip资源
https://s1.运维网.com/wyfs02/M01/95/EE/wKioL1kbJPajAkLhAADw8j7kchk694.png
  配置ldirectord,指定configfile文件的位置为/etc/ha.d/ldirectord.cf
https://s1.运维网.com/wyfs02/M02/95/EE/wKiom1kbJPawK4k9AAC1xy_3Tsk457.png
  启动ipvs_service资源组
https://s1.运维网.com/wyfs02/M02/95/EE/wKioL1kbJPfjyAgZAAEFhhDtBa4936.png
  客户端访问
https://s2.运维网.com/wyfs02/M01/96/10/wKiom1kcWkizUuXoAAAcppn3280555.pnghttps://s2.运维网.com/wyfs02/M00/96/10/wKiom1kcWkjAgosyAAAc5D_jGX4768.png
  

  让RS1和RS2下线。
https://s2.运维网.com/wyfs02/M01/96/10/wKioL1kcWkmQLSUwAAAjiKPuZG0050.png
  

  




页: [1]
查看完整版本: Linux高可用集群方案之配置heartbeat v2基于crm+hb_gui接口,配置ipvs高可用集群