Keepalived

Keepalived
Keepalived

目录

1.1 Keepallived 高可用集群介绍 (1)

1.1.1 keepalived服务介绍 (1)

1.1.2 keepalived 服务两大用途:healthcheck & failover (1)

1.1.2.1 LVS directors failover 功能 (1)

1.1.3 keepalived故障切换转义原理介绍 (1)

1.1.4 VRRP协议简单介绍 (2)

1.2 部署安装keepalived服务 (3)

1.2.1 下载keepalived安装包 (3)

1.2.2 安装keepalived实践 (3)

1.2.3 配置keepalived规范启动 (4)

1.2.4 配置keepalived.conf文件 (4)

1.3 配置keepalived日志 (6)

1.1 Keepallived 高可用集群介绍

1.1.1 keepalived服务介绍

keepalived 起初是专为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入了VRRP的功能,因此除了配合LVS服务外,也可以作为其他服务(nginx,haproxy)的高可用软件,VRRP

是virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP 出现的目的就是为了解决静态路由出现的单点故障问题,它能够保证网络的不间断、稳定的运行。所以,keepalived一方面具有LVS cluster nodes healthchecks功能,另一方面也具有LVS directors failover功能。

1.1.2 keepalived 服务两大用途:healthcheck & failover

1.1.

2.1 LVS directors failover 功能

ha failover 功能:实现LB master 主机和Backup 主机之间故障转移和自动切换。

这是针对有两个负载均衡器Director 同时工作而采取的故障转移措施。当主负载均衡器(MASTER)失效或出现故障时,备份负载均衡器(BACKUP)将自动接管负载均衡器的所有工作(VIP 资源及相应服务);一旦主负载均衡器(MASTER)故障修复,MASTER又会接管会它原来处理的工作,而备份负载均衡器(BACKUP)会释放master失效时,它接管的工作,此时两者将恢复到最初各自的角色状态。

1.1.3 keepalived故障切换转义原理介绍

keeplived Directors 高可用对之间的故障切换转移,是通过VRRP协议(Virtual Router Redundancy

Protocol 中文虚拟路由器冗余协议)来实现的。

在keepalived Directors正常工作时,主Director节点会不断的向备节点广播心跳消息,用以告诉备节点自己还活着,当主节点发生故障时,备节点就无法继续监测到主节点的心跳,进而调用自身的接管程序,接管主节点的IP资源及服务。而当主节点恢复故障时,备节点会释放主节点故障时自身接管的IP资源及服务,恢复到原理的自身的备用角色。

1.1.4 VRRP协议简单介绍

VRRP协议,全称Virtual Router Redundancy Protocol,中文名,虚拟路由器冗余协议,VRRP的出现就是为了解决静态路由的单点故障,VRRP是通过一种竞选协议机制来将路由任务交给某台VRRP路由器。MASTER和BACKUP

在一个VRRP虚拟路由器中,有多台物理的VRRP路由器,但是这多台物理的机器并不同时工作,而是由一台称为MASTER的负责路由工作,其他的都是BACKUP,MASTER并非一成不变,VRRP协议让每个VRRP路由器参与竞选,最终获胜的就是MASTER,MASTER有一些特权,比如拥有虚拟路由器的IP地址,我们的主机就是用这个IP地址作为静态路由的。拥有特权的MASTER要负责转发发送给网关地址的包和响应ARP请求。

VRRP通过竞选协议来实现虚拟路由器的功能,所有的协议报文都是通过IP多播(multicast)包(多播地址224.0.0.18)形式发送的。虚拟路由器由VRID(范围0-255)和一组IP地址组成,对外表现为一个周知的MAC地址:00-00-5E-00-01-{VRID} ,所以,在一个虚拟路由器中,不管谁是MASTER,对外都是相同的MAC和IP(称之为VIP),客户端主机并不需要因为MASTER的改变而修改自己的路由配置,对它们来说,这种主从的切换是透明的。

在一个虚拟路由器中,只有作为MASTER的VRRP路由器会一直发送VRRP广告包(VRRP Advertisement message),BACKUP不会抢占MASTER,除非它的优先级(priority)更高。当master不可用时,(BACKUP

收不到广播包),多台BACKUP中优先级最高的这台会抢占为MASTER。这种抢占是非常快速的(<1s),以保证服务的连续性。

出于安全性考虑,VRRP包使用了加密协议进行加密。

小结:keepalived工作原理

1)VRRP协议,全称Virtual Router Redundancy Protocol ,中文名,虚拟路由器冗余协议,VRRP的出现就是为了解决静态路由的单点故障。

2)VRRP是通过一种竞选协议机制来将路由任务交给某台VRRP路由器。

3)VRRP是用过IP多播的方式实现通信。

4)主发包,备接包,当备接不到主发的包的时候,就启动接管程序接管主的资源。备可以有多个,通过优先级竞选。

5)VRRP 使用了加密协议。

keepalived工作原理

keepalived高可用对之间是通过VRRP协议通信的,VRRP协议是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主获取所有的资源,备节点等待状态,当主宕机时,备节点,接管主节点的资源,然后顶替主节点对外提供服务。

VRRP协议是通过IP多播包的方式(224.0.0.18)发送的

在keepalived之间,只有作为主的服务器会一直发送VRRP广播包,告诉备它还在提供服务,此时备不会抢占主,当主不可用的时候,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性。接管速度可以小于1秒,VRRP使用加密协议加密发送广播包。

1.2 部署安装keepalived服务

1.2.1 下载keepalived安装包

https://www.360docs.net/doc/1310296522.html,/documentation.html

通过官方地址我们可以获取到keepalived软件包,整个安装步骤如下:

1.快速安装keepalived步骤:

提示:安装时,有可能会没有/usr/src/kernels/2.6.18-164.e15-i686,这是因为缺少

方法一:

kernel-devel-2.6.18-164.e15-i686软件包,此时需要提前通过yum install kernel-devel -y 安装方法二:

1.2.2 安装keepalived实践

1.安装openssl-devel软件包

2.下载keepalived软件包

5.编译安装keepalived

[root@LB01-25 keepalived-1.2.16]# ./configure --help

--with-kernel-dir=DIR # 这是个很重要的参数,但这个参数并不是要把keepalived编译进内核,而是指定使用内核源码里面的头文件,就是include目录。如果使用LVS时,才需要用到此参数。否则不需要

--disable-lvs-syncd do not use LVS synchronization daemon

--disable-lvs do not use the LVS framework

提示:如果只想做keepalived其他服务(http,db,nginx,haproxy)高可用而不做lvs的高可用,可以使用

--disable-lvs和--disable-lvs-syncd禁止LVS功能

1.2.3 配置keepalived规范启动

1.生成启动脚本命令

1.2.4 配置keepalived.conf文件

提示:

keepalived的工作原理是当keepalived宕机就是服务器宕机的情况下,备才会接管主,有一种情况,如果

4.检查裂脑, 两端都有IP就是裂脑.

提示:可以ping通主,备节点有VIP就认为裂脑1.3 配置keepalived日志提示:keepalived日志默认在messages

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、keepalived LB类: haproxy、lvs、nginx、f5、piranha HPC类: https://www.360docs.net/doc/1310296522.html,/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.200 Dip eth1 192.168.58.4 客户机IP: Cip 192.168.50.3

centos 安装keepalived1.3.5并配置nginx

centos 安装keepalived-1.3.5并配置nginx Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能。主要提供loadbalancing(负载均衡)和high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务。 官网源码包下载地址(2017-07-31 Keepalived最新版 keepalived-1.3.5.tar.gz):https://www.360docs.net/doc/1310296522.html,/download.html

1.# service keepalived start 错误如下 Job for keepalived.service failed because a configured resource limit was exceeded. See "systemctl status keepalived.service" and "journalctl -xe" for details. Job for keepalived.service failed because a configured resource limit was exceeded. See "systemctl status keepalived.service" and "journalctl -xe" for details. 查看错误

1.# systemctl status keepalived.service 我们可以看到日志,是写日志出了问题 1.[root@zk-02 sbin]# systemctl status keepalived.service 2.● keepalived.service - LVS and VRRP High Availability Monitor 3. Loaded: loaded (/usr/lib/systemd/system/keepalived.service; enabled ; vendor preset: disabled) 4. Active: failed (Result: resources) since Fri 2017-08-04 15:32:31 CS T; 4min 59s ago 5. Process: 16764 ExecStart=/usr/local/program/keepalived/sbin/keepaliv ed $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS) 6. 7.Aug 04 15:32:25 zk-02 Keepalived_healthcheckers[16768]: Activating hea lthchecker for service [10.10.10.2]:1358 8.Aug 04 15:32:25 zk-02 Keepalived_healthcheckers[16768]: Activating hea lthchecker for service [10.10.10.3]:1358 9.Aug 04 15:32:25 zk-02 Keepalived_healthcheckers[16768]: Activating hea lthchecker for service [10.10.10.3]:1358 10.Aug 04 15:32:25 zk-02 Keepalived_vrrp[16769]: (VI_1): No VIP specified ; at least one is required 11.Aug 04 15:32:26 zk-02 Keepalived[16766]: Keepalived_vrrp exited with p ermanent error CONFIG. Terminating 12.Aug 04 15:32:26 zk-02 Keepalived[16766]: Stopping 13.Aug 04 15:32:31 zk-02 systemd[1]: keepalived.service never wrote its P ID file. Failing. ##写日志出了问题 14.Aug 04 15:32:31 zk-02 systemd[1]: Failed to start LVS and VRRP High Av ailability Monitor. 15.Aug 04 15:32:31 zk-02 systemd[1]: Unit keepalived.service entered fail ed state. 16.Aug 04 15:32:31 zk-02 systemd[1]: keepalived.service failed. 17.[root@zk-02 sbin]# vi /var/run/keepalived.pid 18.[root@zk-02 sbin]# vim /lib/systemd/system/keepalived.service 19.[root@zk-02 sbin]# vim /lib/systemd/system/keepalived.service 查看keepalived.service [html]view plain copy 1.# vi /lib/systemd/system/keepalived.service

负载均衡--LVS+Keepalived

利用LVS+Keepalived 实现高性能高可用负载均衡 作者:NetSeek 网站: https://www.360docs.net/doc/1310296522.html, 背景: 随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高性能高可用的功能?有什么好的负载均衡可伸张可扩展的方案吗?答案是肯定的!有!我们利用LVS+Keepalived基于完整开源软件的架构可以为你提供一个负载均衡及高可用的服务器。 一.L VS+Keepalived 介绍 1.LVS LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。目前有三种IP负载均衡技术(VS/NA T、VS/TUN和VS/DR); 八种调度算法(rr,wrr,lc,wlc,lblc,lblcr,dh,sh)。 2.Keepalvied Keepalived在这里主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现 二. 网站负载均衡拓朴图 . IP信息列表: 名称IP LVS-DR-Master 61.164.122.6 LVS-DR-BACKUP 61.164.122.7 LVS-DR-VIP 61.164.122.8 WEB1-Realserver 61.164.122.9 WEB2-Realserver 61.164.122.10 GateWay 61.164.122.1

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

使用KeepAlived实现 服务进程HA的安装配置 使用HA方案的背景 对于可以实现集群的服务,我们可以将同一功能的多个实例部署在不同的机器上,避免设备单点故障。但是,有些系统级别的进程,却不允许运行多实例,例如一个普通的统计服务,这个服务的功能是主动轮询规则后进行统计。在这种情况下,如果不进行规则适配改造,运行多个统计服务实例,那么,每个实例都将统计一遍数据,暂且不考虑对服务器的消耗,多个实例将产生多份数据,造成统计结果错误。特别的,对于很多已经存在的服务进程,都无法实现多实例部署。 在这种情况下,这种服务只能是单进程的,如果这台机器由于硬件故障的话,服务将中断。因此,有必要研究另外一种方案,实现服务进程的异地备份,在服务机器出现故障时,能够最快速的在另外一台备份机器上运行起来。这种方案就属于冷备方案,也叫HA方案。 对于冷备方案,将不可避免的中断服务,但是,中断服务的时间长短是整个方案的关键,使用KeepAlived,配合增加进程的守护,将极大的缩短故障恢复时间。故障的时长基本上等于服务进程的启动时长。 HA方案流程 1.在主机和备机上安装好KeepAlived软件,服务对外使用虚拟IP。 2.在主机和备机上安装好能正常使用的程序。 3.在主机和备机上安装好进程监控程序,在主备机切换时,监控程序将服务启 动起来。 4.实现主机和备机的程序同步功能,防止日常维护造成两边程序文件的不一 致。 在本方案中,KeepAlived只提供主机的虚拟IP自动映射功能,不提供任何业务逻辑。所有的业务逻辑都是通过自己编写的进程监控程序来实现,也就是说,监控程序一直在运行中,当发现虚拟IP切换后,将相关的服务进行启动或停止操作。 KeepAlived的安装配置 KeepAlived的安装、启动、停止都是在root用户下,因此,本章节的所有操

keepalived监控应用程序端口

keepalived监控类型有三种,最常见的两种就是主服务器网络不通和主服务器keepalived服务down掉,备份机能够自动接管。 还有一种类型是监控应用程序的服务状态,可以用vrrp_script 实现,例如监控postgreSQL端口5432。 主服务器配置 vim /etc/keepalived/keepalived.conf global_defs { router_id HA_1 } vrrp_script chk_postgreSQL_port { script "/tcp/127.0.0.1/5432" interval 1 weight -30 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 1 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.8.254

track_script { chk_postgreSQL_port } } 备用服务器配置 vim /etc/keepalived/keepalived.conf global_defs { router_id HA_1 } vrrp_script chk_postgreSQL_port { script "/tcp/127.0.0.1/5432" interval 1 weight -30 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 1 priority 90 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.8.254

实现keepalived的功能

Keepalived keepalived的作用RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。 realsercer:服务器池web服务器 LoadBalance:负载均衡器 BackUP:被负载均衡器 IP配置 试验环境:虚拟机两台redhat 5 使用原码包安装 服务器IP地址 keepalived主服务器真实IP:192.168.150.13 keepalived从服务器真实IP:192.168.150.103 漂浮IP虚拟IP:192.168.150.20 配置主keepalived服务器的IP,配置网卡ifcfg-eth0服务器的第一张网卡 网卡位置vi /etc/sysconfig/network-scripts/ifcfg-eth0 把BOOTPROTO改为static静态地址 增加IPADDR 此项为IP地址为网卡的网段后缀可以自己编译 增加子网掩码网关占时可不加 注:如果做lvs的nat模式需要增加网关。(lvs是一个虚拟服务,做负载均衡) 配置从keepalived

网卡位置vi /etc/sysconfig/network-scripts/ifcfg-eth0 从Keepalived上的eth0配置文件 keepalived的安装 下载原码包keepalived-1.1.18.tar.gz解压 tar -xvf keepalived-1.1.18.tar.gz ./configure 编译 如果要做lvs需要红色部分都为yes 如遇到错误可以增加一条声明用的内核版本 [root@localhost keepalived-1.1.18]# vi /usr/src/kernels/2.6.18-194.el5-x86_64/include/linux/version.h 增加红色部分的一条在继续执行编译./configure编译 继续执行make && make install (&&意思为执行完make继续执make install)

keepalived安装文档

keepalived安装文档 1.安装依赖 su - root yum -y install kernel-devel* yum -y install openssl-* yum -y install popt-devel yum -y install lrzsz yum -y install openssh-clients 2.安装keepalived 2.1.上传 1、cd /usr/local 2、rz –y 3、选择keepalived安装文件 2.2.解压 tar –zxvf keepalived-1.2.2.tar.gz 2.3.重命名 mv keepalived-1.2.2 keepalived 2.4.安装keepalived 1、cd keepalived 2、执行命令 ./configure --prefix=/usr/local/keepalived -enable-lvs-syncd --enable-lvs --with-kernel-dir=/lib/modules/2.6.32-431.el6.x86_64/build 3、编译 make 4、安装 make install

2.5.配置服务和加入开机启动 cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ mkdir -p /etc/keepalived cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/ ln -s /usr/local/keepalived/sbin/keepalived /sbin/ chkconfig keepalived on 2.6.修改配置文件 1、vi /etc/keepalived/keepalived.conf 2

Keepalived学习笔记(LVS+Keepalived)

Keepalived学习笔记 --LVS+Keepalived 学习LVS,自然会想到解决DR单独故障问题,Heartbeat也能很好实现,不过对于LVS,Keepalived显得更加理想选择。理由:相比Hearbeat ,Keepalived配置更加简单,故障切换速度也最快。Keepalived只想安装DR服务器上,并根据需要进配置即可。 Keealived简介 来自百度本科的简介,我觉得就就很简洁和清楚了。 keepalived是一个类似于layer3, 4 & 5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。 Layer3,4&5工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下: Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器 发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。Layer3的方式是以服务器的 IP地址是否有效作为服务器工作正常与否的标准。在本文中将采用这种方式。 Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以 TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。 Layer5:Layer5就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则 Keepalived将把服务器从服务器群中剔除。

keepalived编译安装配置自启动

Centos配置Keepalived 做双机热备切换 分类:网站架构2009-07-25 13:53 7823人阅读评论(0) 收藏举报centosserverdelayauthenticationsnscompiler Keepalived 系统环境: ************************************************************ 两台服务器都装了CentOS-5.2-x86_64系统 Virtual IP: 192.168.30.20 Squid1+Real Server 1:网卡地址(eth0):192.168.30.12 Squid2+Real Server 2:网卡地址(eth0):192.168.30.13 ************************************************************ 软件列表: keepalived https://www.360docs.net/doc/1310296522.html,/software/keepalived-1.1.17.tar.gz openssl-devel yum -y install openssl-devel *************************************************************** 配置: 配置基于高可用keepalived,确定LVS使用DR模式 1.安装配置keepalived 1.1安装依赖软件如果系统为基本文本安装,需要安装一下软件 # yum -y install ipvsadm # yum -y install kernel kernel-devel # reboot 重启系统切换内核 # yum -y install openssl-devel ;安装keepalived依赖软件 #ln -s /usr/src/kernels/`uname -r`-`uname -m`/ /usr/src/linux

Keepalived

目录 1.1 Keepallived 高可用集群介绍 (1) 1.1.1 keepalived服务介绍 (1) 1.1.2 keepalived 服务两大用途:healthcheck & failover (1) 1.1.2.1 LVS directors failover 功能 (1) 1.1.3 keepalived故障切换转义原理介绍 (1) 1.1.4 VRRP协议简单介绍 (2) 1.2 部署安装keepalived服务 (3) 1.2.1 下载keepalived安装包 (3) 1.2.2 安装keepalived实践 (3) 1.2.3 配置keepalived规范启动 (4) 1.2.4 配置keepalived.conf文件 (4) 1.3 配置keepalived日志 (6) 1.1 Keepallived 高可用集群介绍 1.1.1 keepalived服务介绍 keepalived 起初是专为LVS设计的,专门用来监控LVS集群系统中各个服务节点的状态,后来又加入了VRRP的功能,因此除了配合LVS服务外,也可以作为其他服务(nginx,haproxy)的高可用软件,VRRP 是virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写,VRRP 出现的目的就是为了解决静态路由出现的单点故障问题,它能够保证网络的不间断、稳定的运行。所以,keepalived一方面具有LVS cluster nodes healthchecks功能,另一方面也具有LVS directors failover功能。 1.1.2 keepalived 服务两大用途:healthcheck & failover 1.1. 2.1 LVS directors failover 功能 ha failover 功能:实现LB master 主机和Backup 主机之间故障转移和自动切换。 这是针对有两个负载均衡器Director 同时工作而采取的故障转移措施。当主负载均衡器(MASTER)失效或出现故障时,备份负载均衡器(BACKUP)将自动接管负载均衡器的所有工作(VIP 资源及相应服务);一旦主负载均衡器(MASTER)故障修复,MASTER又会接管会它原来处理的工作,而备份负载均衡器(BACKUP)会释放master失效时,它接管的工作,此时两者将恢复到最初各自的角色状态。 1.1.3 keepalived故障切换转义原理介绍 keeplived Directors 高可用对之间的故障切换转移,是通过VRRP协议(Virtual Router Redundancy

使用keepalived实现对mysql主从复制的主备自动切换

keepalived实现对mysql主从复制的主备自动切换使用MySQL+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL 互为主从关系,这样就保证了两台MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换。 实验环境中用两台主机搭建了一个mysql主从复制的环境,两台机器分别安装了keepalived,用一个虚IP实现mysql服务器的主备自动切换功能. 模拟环境: VIP:192.168.1.197 :虚拟IP地址 Master:192.168.1.198 :主数据库IP地址 Slave:192.168.1.199 :从数据库IP地址 备注:MySQL的主从同步配置不在此文档中说明(前提:主从同步已完成) 安装步骤: 1、keepalived的安装 Yum install -y keepalived Chkconfig keepalived on 2、keepalived.conf文件的配置 Master:keepalived.conf vi /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { kenjin@https://www.360docs.net/doc/1310296522.html, } notification_email_from kenjin@https://www.360docs.net/doc/1310296522.html, smtp_connect_timeout 3 smtp_server https://www.360docs.net/doc/1310296522.html,

keepalived中vrrp实现分析

Keepalived中vrrp实现分析 作者——Jupiter 1.处理流程 详细说明: 1.Vrrp通过start_vrrp_child ()函数启动,在该函数中,创建起个链表unuse、event、ready、 child、timer、write、read; 2.start_vrrp_child()函数调用start_vrrp()函数,正式启动vrrp。在start_vrrp()函数中,读取 配置文件获取配置信息。然后,通过接口thread_add_event()从unuse链表中取出一块空间,在这块空间中添加第一个事件,事件回调函数为vrrp_dispatcher_init(),最后将该空间加入到event链表中。至此,start_vrrp()函数结束; 3.之后,调用launch_scheduler()接口。该接口中,循环调用thread_fetch()函数,监控七 个链表,取出需要执行的回调函数。

?在thread_fetch()函数中,先检查event链表中事件,并取出执行回调函数; ?如果event链表中没有需要处理的事件,再检查ready中事件,并取出执行回调函 数; ?如果ready链表中没有需要处理的事件,再检查其他四个链表timer、read、write、 child中事件,并取出放入ready链表中等待处理。 ?event和ready链表处理完成,把使用完的空间放入unuse链表中。 4.在步骤2中提到,start_vrrp()注册第一个事件,回调函数vrrp_dispatcher_init()。 thread_fetch()函数获取后,首先执行该回调函数。在该函数中,创建接收和发送socket。 ?接收socket句柄为fd_in:此socket为ROW socket,创建完成后被加入到vrrp组播 组中,并绑定到指定网络设备。 ?发送socket句柄为fd_out:此socket为ROW socket,创建完成后设置socket属性 为IP_HDRINCL(抓起数据包中包含ip报头),设置socket为IP_MULTICAST_LOOP (组播),并绑定到指定网络设备。 5.然后,根据fd_in的值添加一个回调函数到指定链表。 ?如果fd_in=-1,通过thread_add_timer()添加定时处理到timer链表,回调函数为 vrrp_read_dispatcher_thread(); ?如果fd_in=-1,通过thread_add_read ()添加读取处理到read链表,回调函数为 vrrp_read_dispatcher_thread(); 6.thread_fetch()函数检查所有链表,最中执行vrrp_read_dispatcher_thread()函数。 vrrp_read_dispatcher_thread()函数会根据fd_in的状态和当前thread->type,决定是读取数据包,还是从本地保存的数据中查找一个vrrp实体。 7.查找到vrrp实体后,调用VRRP_FSM_READ_TO(vrrp)或者VRRP_FSM_READ(vrrp)执行状 态机。在状态机中,根据当前状态进行相应处理; ?初始状态(Initialize) ◆如果本地优先级为255,也就是说自己是IP拥有者路由器,那么接下来它会: ●发送VRRP通告报文; ●广播免费ARP请求报文,内部封装是虚拟MAC和虚拟IP的对应,有几个 虚拟IP地址,那么就发送几个免费ARP请求报文; ●启动一个Adver_Timer计时器,初始值为Advertisement_Interval(缺省是 1秒),当该计时器超时后,会发送下一个VRRP通告报文;

keepalived配置文件详解

keepalived配置文件详解 keepalived配置文件详解 2010-12-27 13:40global_defs { notification_email { #指定keepalived在发生切换时需要发送email到的对象,一行一个 sysadmin@fire.loc } notification_email_from Alexandre.Cassen@firewall.loc #指定发件人 smtp_server localhost #指定smtp服务器地址 smtp_connect_timeout 30 #指定smtp连接超时时间 router_id LVS_DEVEL #运行keepalived机器的一个标识 } vrrp_sync_group VG_1{ #监控多个网段的实例 group { inside_network #实例名 outside_network } notify_master /path/xx.sh #指定当切换到master时,执行的脚本

netify_backup /path/xx.sh #指定当切换到backup时,执行的脚本 notify_fault "path/xx.sh VG_1" #故障时执行的脚本 notify /path/xx.sh smtp_alert #使用global_defs中提供的邮件地址和smtp服务器发送邮件通知 } vrrp_instance inside_network { state BACKUP #指定那个为master,那个为backup,如果设置了nopreempt这个值不起作用,主备考priority决定 interface eth0 #设置实例绑定的网卡 dont_track_primary #忽略vrrp的interface错误(默认不设置) track_interface{ #设置额外的监控,里面那个网卡出现问题都会切换 eth0 eth1 } mcast_src_ip #发送多播包的地址,如果不设置默认使用绑定网卡的primary ip garp_master_delay #在切换到master状态后,延迟进

LVS+Keepalived部署全解

安装与配置 两台负载均衡器: Lvs1:192.168.1.10 Lvs2:192.168.1.11 漂移地址(虚拟IP,VIP): Vip:192.168.1.169 Real Server: RS1:192.168.1.102 RS2:192.168.1.103 LVS配置及ipvsadm和keepalived的安装 在lvs master和lvs backup主机上安装。 1.首先安装一些辅助package如下: e2fsprogs-devel-1.41.12-18.el6.x86_64.rpm kernel-devel-2.6.32-642.el6.x86_64.rpm keyutils-libs-devel-1.4-4.el6.x86_64.rpm krb5-devel-1.10.3-10.el6_4.6.x86_64.rpm libcom_err-devel-1.41.12-18.el6.x86_64.rpm libnl-1.1.4-2.el6.x86_64.rpm libnl-devel-1.1.4-2.el6.x86_64.rpm libselinux-devel-2.0.94-5.3.el6_4.1.x86_64.rpm libsepol-devel-2.0.41-4.el6.x86_64.rpm zlib-devel-1.2.3-29.el6.x86_64.rpm openssl-devel-1.0.1e-15.el6.x86_64.rpm pkgconfig-0.23-9.1.el6.x86_64.rpm popt-devel-1.13-7.el6.x86_64.rpm popt-static-1.13-7.el6.i686.rpm 安装时可能出现缺少什么package,去iso中找或者网上下载然后安装就可以了 rpm –ivh XXXXXXXX.rpm 2.然后安装ipvsadm 将ipvsadm-1.26.tar.gz压缩文件复制到/usr/local/src/lvs/文件夹下,然后运行tar zxvf ipvsadm-1.26.tar.gz 命令。创建软连接ln –s /usr/src/kernels/2.6.32-431.el6.x86_64/ /usr/src/linux,然后进去ipvsadm-1.26文件夹cd ipvsadm-1.26,make && make install。 #find / -name ipvsdam 查找的安装位置 检查ipvsadm是否安装成功,可直接输入#ipvsadm IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn 检查模块是否加入内核#lsmod| grep ip_vs ip_vs 78081 0

基于keepalived故障转移(双机热备)

目录 第一章keepalived安装 (1) 第二章配置节点主机 (3) 第三章虚拟IP漂移测试 (4) 第四章通过ARP测试 (5) 第五章基于WEB的应用的测试 (6) 第一章keepalived安装 1、进入10.210.32.37群集主机安装操作系统、挂载光盘镜像、配置本地yum 源 节点1-IP:10.210.32.41 节点2-IP:10.210.32.42 虚拟漂移地址:10.210.32.46 2、进入keepalived官网下载keepalived安装包,下载下载1.4.1 3、将keepalived分别上传到两个节点的/home/kp文件夹下 mkdir kp chmod 775 kp 4、解压keepalived安装包 5、安装keepalived 指定安装路径./configure –prefix=/usr/local/keepalived(提前在/usr/local/ 下建立目录keepalived,并chmod权限) 6、安装openssl包 安装完毕,提示openssl包未安装

我们需要安装openssl-devel的开发包 7、再次运行第5步安装脚本 提示未安装ipvs包,同样需要安装libnl和libnl-3两个开发包 提示头错误,需要安装libnfnetlink的devel包 Yum 源里并没有libnl的包,需要去网上下载,放在/home/kp目录下,再进行安装

8、再次运行第5步安装脚本 提示成功安装 9、进入安装目录 #cd /usr/local/keepalived 查看子目录的完整性,一般包含4个子目录 至此,keepalived安装完毕,同样的步骤安装10.210.32.42即可 第二章配置节点主机 1、配置MASTER主机(10.210.32.41) 将keepalived配置文件拷贝到/etc目录下面,因为启动的时候是进入/etc目录下面去获取配置信息 #cd /usr/local/keepalived/etc/ #cp –r keepalived /etc/ 整体将拷贝到/etc下面 2、配置keepalived.conf文件 进入/etc/keepalived/ 目录下面只有两个文件,一个是keepalived,一个是samples #vi keepalived.conf ! Configuration File for keepalived global_defs { #将global defs,此函数为配置邮件的函数,可以暂时注释掉,保留前后大括号即可 # notification_email { # acassen@firewall.loc # failover@firewall.loc # sysadmin@firewall.loc # } # notification_email_from Alexandre.Cassen@firewall.loc # smtp_server 192.168.200.1 # smtp_connect_timeout 30 # router_id LVS_DEVEL

Keepalived双机热备(LVS+Keepalived高可用性群集)

Keepalived双机热备 (LVS+Keepalived高可用性群集) 一,根据实验要求规划网络拓扑。 注:根据实验要求搭建网络拓扑,具体规划如图。 二,配置Keepalived双机热备主(备)服务器。 注:安装相关支持软件包,编译安装Keepalind。主配置文件在/etc/keepalived/keepalived.conf

注:配置主Keepalived服务器。Notification_email 是邮件相关信息,以邮件的方式向管理员发送程序相关的信息,这里可以不做修改。Router_id本服务器的名称。Vrrp_instance 定义一个实例。State 热备状态MASTER为主,SLAVE为备份。Interface 承载VIP地址的物理接口。Virtual_router_id 虚拟服务器的ID号,一个实例中的所有服务器的Virtual_router_id要保持一致。Priority 优先级,最高为100。Advert_int 通告时间间隔(秒)。Authentication 认证方式,同一个实例的个服务器要保持一致。Virtual_ipaddress漂移地址(VIP)。

注:备份(热备)服务器的配置,需要修改的地方有本服务器名称,热备状态和优先级。(这里使用的是eth5网卡) 注:在主(热备)服务器上可以查看到VIP。 注:备份(热备)服务器上面查看不到VIP。 三,搭建WEB服务器。

注:搭建两台WEB服务器,IP分别为192.168.1.4和192.168.1.5。四,部署LVS+Keepalived高可用性群集。 注:修改内核参数,群集相关请参考“LVS负载均衡群集”。

keepalived原理

Keepalived原理 keepalived也是模块化设计,不同模块复杂不同的功能,下面是keepalived的组件 core check vrrp libipfwc libipvs-2.4 libipvs-2.6 core:是keepalived的核心,复杂主进程的启动和维护,全局配置文件的加载解析等check:负责healthchecker(健康检查),包括了各种健康检查方式,以及对应的配置的解析包括LVS的配置解析 vrrp:VRRPD子进程,VRRPD子进程就是来实现VRRP协议的 libipfwc:iptables(ipchains)库,配置LVS会用到 工作原理: Layer3,4&7工作在IP/TCP协议栈的IP层,TCP层,及应用层,原理分别如下: Layer3:Keepalived使用Layer3的方式工作式时,Keepalived会定期向服务器群中的服务器发送一个ICMP的数据包(既我们平时用的Ping程序),如果发现某台服务的IP地址没有激活,Keepalived便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。Layer3的方式是以服务器的IP地址是否有效作为服务器工作正常与否的标准。 Layer4:如果您理解了Layer3的方式,Layer4就容易了。Layer4主要以TCP端口的状态来决定服务器工作正常与否。如web server的服务端口一般是80,如果Keepalived检测到80端口没有启动,则Keepalived将把这台服务器从服务器群中剔除。

Layer7:Layer7就是工作在具体的应用层了,比Layer3,Layer4要复杂一点,在网络上占用的带宽也要大一些。Keepalived将根据用户的设定检查服务器程序的运行是否正常,如果与用户的设定不相符,则Keepalived将把服务器从服务器群中剔除。 双机热备应用集群分布式文件系统数据收发可用性保障数据缓存及数据队列 负载均衡数据收发完整性效验 双机热备: 双机热备拓扑图:Active/Standby方式 可支持的操作系统:win2000/2003/2008,Linux 可支持的数据库:SQL,Oracle,Sybase,Notes 等数据库可支持第三方应用程序的保护以Active/Standby方式工作,主机宕机备机可以以最快的速度启动用户的应用。 双机热备拓扑图:Active/Active方式

使用LVS+Keepalived 实现高性能高可用负载均衡实际操作说明

使用LVS+Keepalived 实现高性能高可用负载均衡实际操作说明kkmangnn 网站: https://www.360docs.net/doc/1310296522.html,/way2rhce 前言: 本文档用keepalived实现负载均衡和高可用性 一. 网站负载均衡拓朴图 . 系统环境:CentOS 5.2 ,需要安装有gcc openssl-devel kernel-devel包 二. 安装LVS和Keepalvied软件包 1. 下载相关软件包 #mkdir /usr/local/src/lvs #cd /usr/local/src/lvs #wget https://www.360docs.net/doc/1310296522.html,/software/kernel-2.6/ipvsadm-1.24.tar.gz #wget https://www.360docs.net/doc/1310296522.html,/software/keepalived-1.1.15.tar.gz 2. 安装LVS和Keepalived #lsmod |grep ip_vs #uname -r 2.6.18-92.el5 #ln -s /usr/src/kernels/2.6.18-92.el5-i686/ /usr/src/linux

#tar zxvf ipvsadm-1.24.tar.gz #cd ipvsadm-1.24 #make && make install #tar zxvf keepalived-1.1.15.tar.gz #cd keepalived-1.1.15 #./configure && make && make install 把keepalived做成系统启动服务方便管理 #cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ #cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ #mkdir /etc/keepalived #cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ #cp /usr/local/sbin/keepalived /usr/sbin/ #service keepalived start|stop 三.配置web服务器的脚本. #vi /usr/local/src/lvs/web.sh #!/bin/bash SNS_VIP=192.168.0.8 case "$1" in start) ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP /sbin/route add -host $SNS_VIP dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p >/dev/null 2>$1 echo "RealServer Start OK" ;; stop) ifconfig lo:0 down route del $SNS_VIP >/dev/null 2>&1 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce echo "RealServer Stoped"

相关文档
最新文档