默认前提是LVS已经可以正常工作了。

因为是NAT模式,RS的路由要指向LVS的接口地址,所以需要一个统一的后台浮动地址,使得RS都指向这个浮动IP.
否则在切换时,会导致RS回包到DOWN掉的LVS上,使得请求超时失败。

1. 下载相关软件包

#wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz

2. 安装Keepalived

        #tar zxvf keepalived-1.1..tar.gz
#cd keepalived-1.1.
#./configure --with-kernel-dir=/kernel/path && make && make install
#find / -name keepalived # 查看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 #做成系统启动服务方便管理.

如果自己手工编译keepalived的话最好加上--with-kernel-dir=/kernel/path参数,如果keepalived找不到内核源码,在编译时会不编译lvs支持。
仔细看./configure 最后的提示:
找不到内核源码提示如下:

Keepalived configuration
------------------------
Keepalived version : 1.1.15
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto
Use IPVS Framework : No
IPVS sync daemon support : No
Use VRRP Framework : Yes
Use LinkWatch : No
Use Debug flags : No
找到内核源码提示如下:
Keepalived configuration
------------------------
Keepalived version : 1.1.15
Compiler : gcc
Compiler flags : -g -O2
Extra Lib : -lpopt -lssl -lcrypto
Use IPVS Framework : Yes
IPVS sync daemon support : Yes
Use VRRP Framework : Yes
Use LinkWatch : No
Use Debug flags : No

3. 再两台LVS上配置keepalived.conf:

[root@A ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived 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
} vrrp_instance VI_1 {
state MASTER #备份服务器上将MASTER改为BACKUP
interface eth11
virtual_router_id 51
priority 100 # 备份服务上将100改为99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
11.11.11.15
}
} vrrp_instance VI_2 {
state MASTER
interface eth12
virtual_router_id 50
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
22.22.22.2
}
} virtual_server 11.11.11.15 80 {
delay_loop 6 #(每隔10秒查询realserver状态)
lb_algo rr #(lvs 算法)
lb_kind NAT
nat_mask 255.255.255.0
persistence_timeout 50 #(同一IP的连接60秒内被分配到同一台realserver)
protocol TCP #(用TCP协议检查realserver状态) real_server 22.22.22.23 80 {
weight 1 #(权重)
TCP_CHECK {
connect_timeout 3 #(3秒无响应超时)
nb_get_retry 3
delay_before_retry 3
}
} real_server 22.22.22.24 80 {
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
} }

4. 查看lvs服务是否正常

a) 首先在两台LVS上开启keepalived,执行 "ip addr", 观察Master上的浮动IP是否存在。
b) 关闭Master的keepalived 服务,在BACKUP上执行“ip addr”,观察浮动IP是否切换过来了。
c) 从Client端,访问LVS vIP,切换两台LVS的主备状态,观察请求是否可以切换。

5. 拓扑:

  外网              外网浮动VIP        内网                内网浮动IP
Client    11.11.11.11            
                
LVS1    11.11.11.12        11.11.11.15       22.22.22.22        22.22.22.2
LVS1    11.11.11.13                           22.22.22.25    
                
Server1                                         22.22.22.23    
Server2                                         22.22.22.24

[LVS] 用keepalived实现LVS NAT模式高可用性的更多相关文章

  1. LVS负载均衡集群--NAT模式部署

    目录: 一.企业群集应用概述 二.负载均衡群集架构 三.负载均衡群集工作模式分析 四.关于LVS虚拟服务器 五.NAT模式 LVS负载均衡群集部署 一.企业群集应用概述 1.群集的含义 Cluster ...

  2. LVS负载均衡群集部署——NAT模式

    LVS负载均衡群集部署--NAT模式 1.群集应用概述 2.NAT模式LVS负载均衡群集部署 1.群集应用概述: 存在的问题: 互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求 ...

  3. Lvs 负载均衡 (VS/NAT模式)

    一.LVS简介 LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器.这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirt ...

  4. Linux系统(四)LVS集群负载均衡NAT模式

    序言 提到LVS,就从章文嵩博士开始吧,反正也不知道如何下笔来写这一篇.章大博士,读博时候创建这个lvs软件项目,但是他提倡开源精神,在用户的建议和反馈中,这个花了他两周时间开发的开源软件不断得到改建 ...

  5. 构建LVS负载均衡集群——NAT模式(最简单方式)

    一.装备一台lvs调度器主机要求两个网卡一个为内部局域网ip,一个为公网ip #IP地址设置过程不再重复 [root@localhost ~]# ip a | grep eth0 #内网ip : et ...

  6. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  7. LVS上DR和NAT模式的缺陷

    引言 相信一般的小公司用的最多的还是DR和NAT模式,关于DR和NAT模式的原理请看看下图,我们先从lvs的DR和NAT模式特性聊聊一些问题. 问题1.lvs的DR模式和NAT模式核心缺陷有哪些? D ...

  8. CentOS 6.3下部署LVS(NAT模式)+keepalived实现高性能高可用负载均衡

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

  9. centos7 lvs+keepalived nat模式

    1.架构图   3.地址规划 主机名 内网ip 外网ip lvs-master 192.168.137.111(仅主机)eth1 172.16.76.111(桥接)eth0 lvs-slave 192 ...

随机推荐

  1. NUMA的原理与局限

    为什么要有NUMA 在NUMA架构出现前,CPU欢快的朝着频率越来越高的方向发展.受到物理极限的挑战,又转为核数越来越多的方向发展.如果每个core的工作性质 都是share-nothing(类似于m ...

  2. Ubuntu下安装pip3和Python的第三方库

    一.Ubuntu原有环境说明 无论是在服务器上面还是在我们自己的电脑上面,当我们成功安装了Ubuntu系统之后,系统一般情况下会自带Python2.x和Python3.x环境.比如我在自己的阿里云服务 ...

  3. Java源码——HashMap的源码分析及原理学习记录

    学习HashMap时,需要带着这几个问题去,会有很大的收获: 一.什么是哈希表 二.HashMap实现原理 三.为何HashMap的数组长度一定是2的次幂? 四.重写equals方法需同时重写hash ...

  4. Java中的finally

    基础用法: int f1() { try{ return 1; }finally { System.out.println("finall执行"); } } @Test publi ...

  5. js数据结构与算法--递归

    递归,函数自己调用自己 return 返回值, 后面的代码不执行 function fn(num){ console.log(num) if(num == 0){ return; } fn(num-1 ...

  6. vue.js 独立引用css文件图片路径错误

    vue的环境是用vue-cli,写在vue文件的图片引用build之后的路径都没什么问题 但是有的时候我们会有一些公共的css文件单独的放在assets目录下 如下图所示 这里当build后发现写在c ...

  7. JZOJ 5347. 遥远的金字塔

    Description Input Output Sample Input 5 3 1 6 1 5 3 5 4 4 4 4 Sample Output 15 Data Constraint 做法: 其 ...

  8. Android系统中标准Intent的使用

    Android系统用于Activity的标准Intent 1.根据联系人ID显示联系人信息= Intent intent=new Intent(); intent.setAction(Intent.A ...

  9. [Poj3281]Dining(最大流)

    Description 有n头牛,f种食物,d种饮料,每头牛有nf种喜欢的食物,nd种喜欢的饮料,每种食物如果给一头牛吃了,那么另一个牛就不能吃这种食物了,饮料也同理,问最多有多少头牛可以吃到它喜欢的 ...

  10. ACM模板

    #include <iostream> //万能头文件#include<bits/stdc++.h> 方便时用 #include <algorithm> #incl ...