使用KeepAlived实现服务进程HA的安装配置

合集下载

LVS keepalived负载均衡高可用 配置安装大全

LVS keepalived负载均衡高可用 配置安装大全

LVS+Keepalived实现高可用集群一、基础介绍 (2)二、搭建配置LVS-NA T模式 (2)三、搭建配置LVS-DR模式 (4)四、另外一种脚本方式实现上面LVS-DR模式 (6)五、keepalived + LVS(DR模式) 高可用 (8)六、Keepalived 配置文件详细介绍 (11)一、基础介绍(一)根据业务目标分成三类:High Availability 高可用Load Balancing 负载均衡High Performance 高性能(二)实现集群产品:HA类:rhcs、heartbeat、keepalivedLB类:haproxy、lvs、nginx、f5、piranhaHPC类:/index/downfile/infor_id/42(三)LVS 负载均衡有三种模式:LVS-DR模式(direct router)直接路由模式进必须经过分发器,出就直接出LVS-NAT模式(network address translation)进出必须都经过分发器LVS-TUN模式(ip tunneling)IP隧道模式服务器可以放到全国各地二、搭建配置LVS-NAT模式1 、服务器IP规划:DR服务器添加一张网卡eth1,一个网卡做DIP,一个网口做VIP。

设置DIP、VIP IP地址:DIP的eth1和所有RIP相连同一个网段CIP和DIP的eth0(Vip)相连同一个网段Vip eth0 192.168.50.200Dip eth1 192.168.58.4客户机IP:Cip 192.168.50.32台真实服务器IP:Rip1 192.168.58.2Rip2 192.168.58.32 、R ealServer1配置:mount /dev/xvdd /media/vi /var/www/html/index.html写入:this is realserver1启动httpdvi /etc/sysconfig/network-scripts/ifcfg-eth0设置RIP,子网掩码必须设置成DIPIPADDR=192.168.58.2NETMASK=255.255.255.0GA TEWAY=192.168.58.43 、R ealServer2 配置:vi /var/www/html/index.html写入:this is realserver2启动httpdvi /etc/sysconfig/network-scripts/ifcfg-eth0设置RIP,子网掩码必须设置成DIPIPADDR=192.168.58.3NETMASK=255.255.255.0GA TEWAY=192.168.58.44 、在DR服务器上做以下设置:开启IP数据包转发vi /etc/sysctl.confnet.ipv4.ip_forward = 0 ##0改成1 ,此步很重要查看是否开启:sysctl -p5 、安装LVS服务:ipvsadmyum -y install ipvsadmlsmod |grep ip_vsTurbolinux系统没有带rpm包,必须下载源码安装:#ln -s /usr/src/kernels/2.6.18-164.el5-x86_64/ /usr/src/linux##如果不做连接,编译时会包错#tar zxvf ipvsadm-1.24.tar.gz#cd ipvsadm-1.24#make && make install运行下ipvsadm ,就加到ip_vs模块到内核了lsmod | grep ip 可以看到有ip_vs模块了6 、配置DR服务器,添加虚拟服务ipvsadm -L -n 查询信息ipvsadm -A -t 192.168.50.200:80 -s rr #添加集群服务、调度算法,rr为调度算法ipvsadm -a -t 192.168.50.200:80 -r 192.168.58.2 -m -w 1 # -m代表net模式,-w代表权重ipvsadm -a -t 192.168.50.200:80 -r 192.168.58.3 -m -w 2ipvsadm -L -n 再次查看是就有了realserverservice ipvsadm save 保存配置iptables -L 关闭或者清空防火墙watch -n 1 'ipvsadm -L -n' 查看访问记录的数显示如下:-> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.50.200:80 rr-> 192.168.58.2:80 Masq 1 0 13-> 192.168.58.3:80 Masq 2 0 12ActiveConn是活动连接数,也就是tcp连接状态的ESTABLISHED;InActConn是指除了ESTABLISHED以外的,所有的其它状态的tcp连接.7 、测试:http://192.168.58.200配完后若想修改算法:ipvsadm -E -t 192.168.58.200:80 -s wlc修改Rip的权重:ipvsadm -e -t 192.168.58.200:80 -r 192.168.58.2 -m -w 1ipvsadm -e -t 192.168.58.200:80 -r 192.168.58.3 -m -w 5三、搭建配置LVS-DR模式lo:1 回应客户端,lo:1上的IP跟机器有关,跟网卡没有关系arp_announce 对网络接口上本地IP地址发出的ARP回应作出相应级别的限制arp_ignore 定义对目标地址为本地IP的ARP询问不同的请求一、3台服务器IP配置规划:DIP:eth0:1 192.168.58.200/32 (VIP)eth0 192.168.58.3/24 (DIP)RIP1 lo:1 192.168.58.200/32 (VIP)eth0 192.168.58.4/24RIP2 lo:1 192.168.58.200/32 (VIP)eth0 192.168.58.5/24 .................................................................RIP n lo:1 192.168.58.200/32 (VIP)eth0 192.168.58.N/24二、每台realserver都加上下面四个步骤配置:1 、配置每台rip的IP、http,web页面2 、关闭每台rip服务器的ARP广播:echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/lo/arp_announceecho 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announce3 、配置VIPifconfig lo:1 192.168.58.200 netmask 255.255.255.255 broadcast 192.168.58.200 up4 、配置网关route add -host 192.168.58.200 dev lo:1三、DR上的配置(DR模式下Dip不用开启转发):1 、配置DIP,在eth0上添加一个子VIP接口:添加VIP:ifconfig eth0:1 192.168.58.200 broadcast 192.168.58.200 netmask 255.255.255.255 up2 、配置网关:route add -host 192.168.58.200 dev eth0:1route -n3 、安装ipvsadm(方法见文档上面)yum -y install ipvsadmlsmod |grep ip_vs4 、配置LVS集群:ipvsadm -A -t 192.168.58.200:80 -s rr #添加集群服务、调度算法,rr为调度算法ipvsadm -a -t 192.168.58.200:80 -r 192.168.58.3 -g -w 1 # -g代表DR模式,-w代表权重ipvsadm -a -t 192.168.58.200:80 -r 192.168.58.2 -g -w 2service ipvsadm saveipvsadm -L -n 查看信息四、测试:http://192.168.58.200四、另外一种脚本方式实现上面LVS-DR模式IP规划:Dip eth0 192.168.58.139VIP:192.168.58.200RIP1:192.168.58.2RIP2:192.168.58.31 、D R服务器上安装ipvsadm#yum -y install ipvsadm#lsmod | grep ip_vs 查看没有输出#modprobe ip_vs 安装即可2 、配置DIP服务器、LVS这里也是个写脚本为了方便vim /etc/init.d/lvsdr#!/bin/bash#lvs of DRVIP=192.168.58.200RIP1=192.168.58.2RIP2=192.168.58.3case "$1" instart)echo "start lvs of DR"/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.0 up echo "1" > /proc/sys/net/ipv4/ip_forward/sbin/iptables -C/sbin/ipvsadm -A -t $VIP:80 -s rr/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g/sbin/ipvsadm;;stop)echo "stop lvs of DR"echo "0" > /proc/sys/net/ipv4/ip_forward/sbin/ipvsadm -C/sbin/ifconfig eth0:0 down;;*)echo "Usage :$0 {start|stop}"exit1esacexit 0#chmod o+x /etc/init.d/lvsdr启动脚本:#service lvsdr start3 、2台RIP服务器都配置这里我们也都可以写成脚本开启2台RIP的httpd服务。

keepalived 原理

keepalived 原理

keepalived 原理
Keepalived是一个用于管理虚拟IP地址,负载均衡和故障转移的软件。

它使用VRRP协
议(虚拟路由冗余协议)来实现高可用性,并且可以与LVS(Linux虚拟服务器)结合使用,以实现负载均衡。

Keepalived的工作原理是,它在两台服务器之间建立一个虚拟路由器,其中一台服务器被设置为主服务器,另一台服务器被设置为备用服务器。

主服务器拥有虚拟IP地址,并且
可以接收和处理客户端的请求。

如果主服务器出现故障,备用服务器将接管虚拟IP地址,并继续处理客户端的请求。

Keepalived还可以与LVS结合使用,以实现负载均衡。

LVS是一种负载均衡技术,它可以将客户端的请求分发到多台服务器上,以提高服务器的性能。

Keepalived可以将LVS集群中的服务器分为主服务器和备用服务器,并且可以根据服务器的负载情况来动态调整负载
均衡策略。

总之,Keepalived是一款非常强大的高可用性和负载均衡软件,它可以帮助系统管理员实现高可用性和负载均衡,从而提高系统的可靠性和性能。

开源HA解决方案

开源HA解决方案

开源HA解决方案《开源HA解决方案:构建稳定可靠的高可用系统》当今互联网时代,高可用性(HA)已经成为企业建设系统的重要指标之一。

在构建高可用系统时,开源软件解决方案的优势日益凸显。

开源软件具有灵活、定制性强的特点,可以满足不同企业的需求,同时,也能够降低成本,提高系统的可靠性。

开源HA解决方案是指基于开源软件构建的高可用系统解决方案。

常见的开源HA解决方案包括Pacemaker、Keepalived、Corosync等。

这些解决方案不仅能够保证系统的稳定性和可靠性,还可以提供灵活的配置和定制,满足不同企业的需求。

Pacemaker是一个常用的开源HA解决方案,它提供了很多高可用性功能,比如故障监测、自动故障切换、资源组管理等。

通过Pacemaker可以轻松构建起一个高可用的集群系统,保证系统的稳定性和可靠性。

Keepalived则是一个轻量级的负载均衡和故障转移解决方案,它可以将多台服务器组成一个高可用的集群,同时可以实现故障自动转移,确保系统的稳定性。

Corosync是一个消息传递层软件,它可以提供高可用系统必需的集群通信功能。

通过Corosync可以实现集群节点之间的通信和协调,确保集群系统的正常运行。

同时,Corosync支持灵活的配置和定制,可以满足不同企业的需求。

总之,开源HA解决方案能够帮助企业构建稳定可靠的高可用系统。

通过灵活的配置和定制,这些解决方案可以满足不同企业的需求,同时也能够降低成本,提高系统的可靠性。

相信在未来,开源HA解决方案会越来越受到企业的青睐,成为构建高可用系统的首选方案。

keepalived基线要求

keepalived基线要求

keepalived基线要求标题:Keepalived基线要求引言:在网络系统中,为了保证高可用性和负载均衡,我们经常会使用Keepalived这样的软件来实现故障转移和服务冗余。

为了确保系统的稳定性和安全性,我们需要遵循一些基线要求。

本文将介绍Keepalived基线要求的相关内容。

一、Keepalived基本介绍Keepalived是一款基于VRRP(虚拟路由冗余协议)的开源软件,用于实现故障转移和负载均衡。

它可以将多个服务器组成一个高可用的集群,通过监控服务器的状态来实现故障转移和服务冗余。

二、Keepalived基线要求1. 服务器配置要求:- 每个服务器必须具备至少两个网络接口,分别用于内部通信和对外服务。

- 服务器应具备足够的计算和存储资源,以满足系统的负载需求。

- 服务器的操作系统必须支持Keepalived软件,并且已经安装了所需的依赖软件。

2. Keepalived配置要求:- 所有服务器的Keepalived配置文件必须保持一致,并且按照规范进行填写。

- 配置文件中的密码和敏感信息必须进行加密或者隐藏处理,确保系统的安全性。

- Keepalived的监控和故障转移策略必须能够满足实际需求,确保系统的高可用性。

3. 监控和故障转移要求:- Keepalived必须能够实时监控服务器的状态,包括CPU、内存、磁盘等关键指标。

- 当主服务器出现故障时,Keepalived必须能够自动将备用服务器切换为主服务器,确保服务的连续性。

- 故障转移过程中不能出现数据丢失或服务中断的情况,必须保证系统的稳定性和可靠性。

4. 日志和报警要求:- Keepalived必须能够生成详细的日志,记录系统的运行状态和故障转移过程。

- 日志文件必须按照规定的格式进行存储和管理,便于后续的故障分析和排查。

- Keepalived必须能够及时发送报警信息给管理员,以便及时处理系统故障和异常情况。

结论:通过遵循以上的Keepalived基线要求,我们可以确保系统的高可用性和负载均衡能力。

keepalived工作原理和作用

keepalived工作原理和作用

keepalived工作原理和作用keepalived是一个用于实现高可用性和负载均衡的软件,它基于VRRP协议,通过监测系统的状态来实现故障转移和负载均衡。

本文将从keepalived的工作原理和作用两个方面来介绍该软件。

一、keepalived的工作原理keepalived主要通过两个核心组件来实现高可用性和负载均衡的功能,分别是VRRP和健康检查。

1. VRRP(Virtual Router Redundancy Protocol)VRRP是一种用于实现路由器冗余的协议,它能够将多个路由器组成一个虚拟路由器,对外提供一个统一的IP地址。

这个虚拟路由器由一个Master和多个Backup组成,Master负责处理数据包的转发,而Backup则处于备份状态。

当Master发生故障时,Backup 中的一个会自动切换为Master,保证系统的可用性。

keepalived基于VRRP协议来实现高可用性。

在keepalived中,一个Master节点和多个Backup节点通过VRRP协议组成一个虚拟的服务IP地址,对外提供服务。

Master节点负责接收并处理客户端的请求,Backup节点则处于备份状态,当Master节点发生故障时,Backup节点会自动接管服务,保证服务的连续性。

这种方式避免了单点故障,提高了系统的可用性。

2. 健康检查健康检查是keepalived实现负载均衡的关键,它通过定期检测服务器的状态来判断服务器是否正常工作。

keepalived支持多种健康检查方式,包括ping检查、TCP连接检查、HTTP检查等。

通过不同的方式来检查服务器的状态,确保只有正常工作的服务器会接收到客户端的请求。

当keepalived检测到某个服务器发生故障或不可用时,会将该服务器从负载均衡的服务器池中移除,同时将请求转发到其他正常工作的服务器上。

这样可以避免故障服务器对系统性能的影响,提高整体的负载均衡效果。

keepalived haproxy原理

keepalived haproxy原理

keepalived haproxy原理keepalived和haproxy是常用的负载均衡工具,在实际应用中经常被使用到。

keepalived主要用于实现高可用性、故障转移,而haproxy则主要用于实现负载均衡。

本文将介绍keepalived和haproxy的原理及其应用。

一、keepalived原理keepalived是一个基于VRRP协议实现的高可用性软件,主要用于实现集群的故障转移。

它的原理是通过多台服务器协同工作,将它们构建成一个高可用性的集群,当其中一台服务器发生故障时,其他节点会接管该节点的服务,从而实现服务的不间断运行。

keepalived的原理可以简单概括为以下几个步骤:1. 配置keepalived的节点信息,包括节点的IP地址、优先级等参数。

2. 将节点配置成VRRP协议中的虚拟路由器,并指定一个虚拟IP地址。

3. 当节点正常工作时,其会不断发送VRRP协议的心跳包,以表明自己的存在。

4. 当某个节点发生故障或者不再向外发送心跳包时,其他节点会检测到该节点的异常,并接管该节点的服务。

5. 故障节点恢复后,其他节点会自动将服务归还给该节点。

二、haproxy原理haproxy是一款高性能的负载均衡软件,可以将来自客户端的请求转发到多个后端服务器上,从而实现负载均衡。

haproxy的原理可以简单概括为以下几个步骤:1. 配置haproxy的监听端口和后端服务器地址。

2. 当客户端发送请求时,haproxy会接收并解析请求,然后根据预设的负载均衡算法,选择一个后端服务器进行请求转发。

3. haproxy会将请求转发给所选的后端服务器,并将响应返回给客户端。

4. 如果所选的后端服务器出现故障或者超过预设的最大连接数,haproxy会自动将该服务器从负载均衡池中剔除,并选择其他可用的服务器进行请求转发。

5. 当故障的服务器恢复或者新的服务器加入负载均衡池时,haproxy会自动将其重新加入负载均衡池中,并参与负载均衡。

nginx和keeplive实现负载均衡高可用

nginx和keeplive实现负载均衡高可用

nginx和keeplive实现负载均衡⾼可⽤⼀、 Keeplive服务介绍Keeplive期初是专门为LVS设计的,专门⽤来监控LVS集群系统中各个服务节点的状态,后来⼜加⼊VRRP的功能,因此除了配合LVS服务以外,也可以作为其他服务(nginx,haroxy)的⾼可⽤软件,VRRP是Virtual Router Redundancy Protocol(虚拟路由冗余协议)的缩写,VRRP出现的⽬的就是为了解决静态路由出现的单点故障问题,它能够保证⽹络的不间断,稳定的运⾏。

所以keepalive⼀⽅⾯具有LVS cluster nodes healthchecks功能,另⼀⽅⾯也具有LVS directors failover1.1 Keepalived的⽤途Keepalive服务的两⼤⽤途:healthcheck和failoverha failover功能:实现LB Master主机和Backup主机之间故障转移和⾃动切换这是针对有两个负载均衡器Direator同时⼯作⽽采取的故障转移措施,当主负载均衡器失效或者出现故障时,备份的负载均衡器(BACKUP)将⾃动接管主负载均衡器的所有⼯作(vip资源以及相关服务):⼀旦主负载均衡器故障恢复,MASTER⼜会接管回它原来的⼯作,⼆备份复杂均衡器(BACKUP)会释放master是⼩事它接管的⼯作,此时两者将恢复到最初各⾃的⾓⾊1.2 LVS cluster nodes healthchecks功能在keeplive.conf配置记忆可以实现LVS的功能keeplive可以对LVS下⾯的集群节点进⾏健康检查rs healthcheck功能:负载均衡定期检查RS的可⽤性决定是否给其分发请求当虚拟的服务器中的某⼀个甚⾄是⼏个真实的服务器同时出现故障⽆法提供服务时,负载均衡器会⾃动将失效的RS服务器从转发队列中清除出去,从⽽保证⽤户的访问不收影响;当故障的RS服务器被修复后,系统⼜⾃动的将他们加⼊转发队列,分发请求提供正常服务。

三.keepalived介绍及工作原理

三.keepalived介绍及工作原理

三.keepalived介绍及⼯作原理⼀、keepalived的介绍Keepalived软件起初是专为LVS负载均衡软件设计的,⽤来管理并监控LVS集群系统中各个服务节点的状态,后来⼜加⼊了可以实现⾼可⽤的VRRP功能。

因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的⾼可⽤解决⽅案软件。

Keepalived软件主要是通过VRRP协议实现⾼可⽤功能的。

VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP出现的⽬的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个⽹络可以不间断地运⾏。

所以,Keepalived⼀⽅⾯具有配置管理LVS的功能,同时还具有对LVS下⾯节点进⾏健康检查的功能,另⼀⽅⾯也可实现系统⽹络服务的⾼可⽤功能。

keepalived:vrrp协议:Virtual Router Redundancy Protocol术语:虚拟路由器:Virtual Router虚拟路由器标识:VRID(0-255),唯⼀标识虚拟路由器物理路由器:master:主设备backup:备⽤设备priority:优先级VIP:Virtual IPVMAC:Virutal MAC (00-00-5e-00-01-VRID)通告:⼼跳,优先级等;周期性⼯作⽅式:抢占式,⾮抢占式安全⼯作:认证:⽆认证简单字符认证:预共享密钥MD5⼯作模式:主/备:单虚拟路径器主/主:主/备(虚拟路径器1),备/主(虚拟路径器2)⼆、Keepalived服务的重要功能1、管理LVS负载均衡软件早期的LVS软件,需要通过命令⾏或脚本实现管理,并且没有针对LVS节点的健康检查功能。

为了解决LVS的这些使⽤不便的问题,Keepalived就诞⽣了,可以说,Keepalived软件起初是专为解决LVS的问题⽽诞⽣的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用KeepAlived实现服务进程HA的安装配置使用HA方案的背景对于可以实现集群的服务,我们可以将同一功能的多个实例部署在不同的机器上,避免设备单点故障。

但是,有些系统级别的进程,却不允许运行多实例,例如一个普通的统计服务,这个服务的功能是主动轮询规则后进行统计。

在这种情况下,如果不进行规则适配改造,运行多个统计服务实例,那么,每个实例都将统计一遍数据,暂且不考虑对服务器的消耗,多个实例将产生多份数据,造成统计结果错误。

特别的,对于很多已经存在的服务进程,都无法实现多实例部署。

在这种情况下,这种服务只能是单进程的,如果这台机器由于硬件故障的话,服务将中断。

因此,有必要研究另外一种方案,实现服务进程的异地备份,在服务机器出现故障时,能够最快速的在另外一台备份机器上运行起来。

这种方案就属于冷备方案,也叫HA方案。

对于冷备方案,将不可避免的中断服务,但是,中断服务的时间长短是整个方案的关键,使用KeepAlived,配合增加进程的守护,将极大的缩短故障恢复时间。

故障的时长基本上等于服务进程的启动时长。

HA方案流程1.在主机和备机上安装好KeepAlived软件,服务对外使用虚拟IP。

2.在主机和备机上安装好能正常使用的程序。

3.在主机和备机上安装好进程监控程序,在主备机切换时,监控程序将服务启动起来。

4.实现主机和备机的程序同步功能,防止日常维护造成两边程序文件的不一致。

在本方案中,KeepAlived只提供主机的虚拟IP自动映射功能,不提供任何业务逻辑。

所有的业务逻辑都是通过自己编写的进程监控程序来实现,也就是说,监控程序一直在运行中,当发现虚拟IP切换后,将相关的服务进行启动或停止操作。

KeepAlived的安装配置KeepAlived的安装、启动、停止都是在root用户下,因此,本章节的所有操作都是在root用户下操作。

另外,本安装包都是针对linux x64机器,如果是其他操作系统,原理相同,但安装包要自行解决。

主要包括文件COPY,修改主备机下配置文件,来回倒换多次重启机器测试虚拟IP运行情况。

1.将keepalivedinstall_linux_x64.tar.gz包解开,在包中rootinstall目录下有如下文件:rootinstall|-- etc| |-- init.d| | `-- keepalived| |-- keepalived| | |-- keepalived.conf.backup| | `-- keepalived.conf.master| `-- sysconfig| `-- keepalived`-- usr`-- sbin`-- keepalived这个目录下的文件表示用root用户安装的,存放目录就对应于机器的/(根目录)下的相同位置。

例如:rootinstall/etc/init.d/keepalived文件对应机器/etc/init.d/keepalived文件。

2.调整/etc/keepalived/keepalived.conf文件,两台机器定义为一台MASTER,一台BACKUP,将对应的keepalived.conf.xxxx改名为keepalived.conf。

3.修改/etc/keepalived/keepalived.conf文件,修改的内容包括:(1)state MASTER # 设置为MASTER或BACKUP(2)interface eth0 # 网卡名字,以后的虚拟IP绑定在哪个网卡上(3)priority 10 # 设置主机为备机获得虚拟IP的优先级别,我们设置主机为10,备机设置为9。

也就是说,当两台主机都正常启动时,始终使用主机工作,备机闲置空转。

测试下来,如果想要让主机和备机具有相同的地位,工作不稳定。

在这种配置下,主机宕机后,备机干活,待主机修复好后,一旦启动,立即拆掉备机的虚拟IP,由主机接管,应用也会重新漂移到主机上。

(4)virtual_ipaddress {10.2.6.176/24 # 虚拟IP和掩码,如果虚拟IP与实际主机IP的网段不同的话,还涉及到静态路由的设置,因此,尽量保持同网段IP。

}4.将KeepAlived服务添加到service中,并配置机器重启时,自动启动KeepAlived服务。

chkconfig --list | grep -i keepalived #检查之前有没有KeepAlived服务chkconfig --add keepalived #将KeepAlived服务添加进servicechkconfig keepalived on #将KeepAlived服务设置为随机器自启动5.重启机器,验证虚拟IP是否在主备机中生效。

运行命令:/sbin/ip addr命令(注意:一定要确保完整路径中有/sbin/ip命令,后面的业务监控中需要用到此命令)查看对应的网卡是否已经存在多个IP,同时,可以ping 虚拟IP进行验证。

例如:多测试几次(最少10次重启),不断的在主备机上观察IP的漂移情况,并多次进行ping测试。

应用进程的安装配置(模版)在KeepAlived安装运行正常后,接下来所有的工作需要结合业务应用来进行脚本编写。

因此,本章节的所有操作都是在业务用户下操作。

在本安装配置文档中,将提供一套简陋的进行业务监控的模版。

后期可以通过这套模版,充实业务监测脚本,从而实现业务的HA配置。

模版的文件信息将keepalivedinstall_linux_x64.tar.gz包解开,在包中templateinstall目录下有如下文件:templateinstall`-- keepalived|-- bin| |-- judge_app.sh| |-- monitorservice.sh| |-- start_app.sh| `-- stop_app.sh|-- log| `-- monitor_log.log`-- out`-- notrun这个目录下的文件用一个普通用户(也就是运行业务的用户)安装,将整个keepalived/目录COPY到$HOME(用户目录)下,增加可执行权限:chmod +x $HOME/keepalived/bin/。

在这里,我们的监控脚本都是依据$HOME/keepalived/目录来编写的,如果需要更改目录的话,需要全部替换脚本中的相关变量。

模版的运行说明1.在主机和备机上都启动主程序:monitorservice.sh2.在主程序中,监控当前机器是否已经获得到虚拟IP,如果获得虚拟IP,则将服务启动起来,如果没有获得,则停止服务。

3.judge_app.sh是用来监控当前机器上是否有运行服务的脚本。

4.如果本机运行有服务,则将运行标志输出到$HOME/keepalived/out/running文件中,如果没有服务,则将运行标志输出到$HOME/keepalived/out/notrun 文件中。

也就是说,$HOME/keepalived/out/这个目录是用来存放业务进程的状态信息的,这个目录下的东西由系统维护,不要人工干预。

5.监控的进程的启动停止信息输出在$HOME/keepalived/log/monitor_log.log文件中。

6.monitorservice.sh建议放在crontab中,让其每分钟都执行。

在执行时,会自动判断是否已经有此进程在运行,如果有,则直接退出。

这样做的好处是,一旦机器启动的话,则自动进入业务进程监控模式。

例如这样:* * * * * cd $HOME/keepalived/bin; ./monitorservice.sh7.建议将monitorservice.sh改名为monitorservice_xxxx.sh,xxxx用用户名代替,因为一旦某台机器上有多个业务用户的话,都是monitorservice.sh,在crontab 中进行“判断是否已经有此进程在运行”会出现判断错误。

(本来想加用户名字增强判断的,考虑到有些系统显示进程用户不是用户名,而是用户ID,所以,不做增强判断了,直接改文件名更靠谱)。

模版运行测试从上面的文档描述中知道,KeepAlived已经放入了service自启动中,监控主程序monitorservice.sh也放入了crontab中,因此,只需要不断的重启机器即可进行测试,通过观察$HOME/keepalived/out/目录下的running或notrun来验证进程是否在运行中,还可以通过$HOME/keepalived/log/monitor_log.log中的信息来观察。

模版的停止流程在日常进行维护时,有可能需要主动停机,或者升级补丁工作。

这时,需要先把crontab中monitorservice.sh注释掉(注意关注主备机上是否都要操作),然后。

然后,再把KeepAlived服务从配置中去掉和停掉服务。

然后,再按照平常的操作即可。

把KeepAlived服务从配置中去掉的操作包括:chkconfig keepalived off停止虚机IP,运行命令:service keepalived stop。

IBM MQ进程HA配置实例本章节将以IBM MQ这个业务服务做为例子,描述如何在模版的基础上,实现一个真正的业务HA的配置实例。

IBM MQ HA的文件信息将keepalivedinstall_linux_x64.tar.gz包解开,在包中ibmmqinstall目录下有如下文件:ibmmqinstall`-- keepalived|-- bin| |-- judge_app.sh| |-- monitorservice.sh| |-- start_app.sh| `-- stop_app.sh|-- log| `-- monitor_log.log`-- out`-- notrun以下操作,如无特别说明,都是在mqm用户下(在涉及到ssh信任的时候,会涉及到其他用户)。

将整个keepalived/目录COPY到$HOME(mqm用户的根目录)下,增加可执行权限:chmod +x $HOME/keepalived/bin/。

IBM MQ HA的运行说明1.在主机和备机的crontab中,都增加如下脚本:* * * * * cd $HOME/keepalived/bin; ./monitorservice_mqm.sh2.在monitorservice_mqm.sh中,监控当前机器是否已经获得到虚拟IP(1)如果本机获得虚拟IP,通过judge_app.sh判断本机的MQ服务是否在运行中。

如果在运行中,表示正常,不进行操作。

如果没有在运行中,则通过start_app.sh将服务启动起来。

相关文档
最新文档