keepalived缓存问题验证

keepalived缓存问题验证
keepalived缓存问题验证

1. 151上的keepalived.conf配置的优先级参数修改的比144高,并添加nopreempt参数。

144keepalived停止,

248虚地址已经绑定到151上时,

启动144不会将248虚地址抢回,通过248访问的缓存服务仍然是151的缓存服务

此时停止151的keepalived,

248虚地址会切换到144上,通过248访问的缓存服务切换为144的缓存服务。

2.当144、151的keepalived都处于启动状态,并且248虚地址在144上时,

对144主机进行restart操作,检查248虚地址是否会绑定到151上,

关掉144主机服务

查看151机器,248虚拟地址已绑定到151

通过248访问的缓存服务是151的缓存服务。

3.在keepalived.conf的vrrp_instance中增加track_script,作用是监测memcached服务是否正常,如不正常则执行killall keepalived。

验证当144、151的keepalived都处于启动状态,关闭144的memcached缓存服务,keepalived通过参数中track_script设置可以正常关闭144上的keepalived,从而将由151上的keepalived抢到248虚地址,通过248访问的缓存服务是151的缓存服务。

memcached服务正常

验证当144、151的keepalived都处于启动状态,关闭144的memcached缓存服务,

关闭144主机memcached服务

144上ip a没有绑定虚地址

151上以抢到虚地址248

验证通过248访问的缓存服务是151的缓存服务。

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/9910382851.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/9910382851.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/9910382851.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/9910382851.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/9910382851.html, } notification_email_from kenjin@https://www.360docs.net/doc/9910382851.html, smtp_connect_timeout 3 smtp_server https://www.360docs.net/doc/9910382851.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/9910382851.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/9910382851.html,/software/kernel-2.6/ipvsadm-1.24.tar.gz #wget https://www.360docs.net/doc/9910382851.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"

相关文档
最新文档