LVS_DR模式构建配置
一、环境准备
lvs负载均衡器 系统:centos6.8 ip:192.168.2.203 vip:192.168.2.17
web服务器RS1 系统:centos6.8 ip:192.168.2.204
web服务器RS2 系统:centos6.8 ip:192.168.2.204
二、安装LVS软件
可以编译安装也可以yum安装,编译安装需要创建一个超链接:ln -s /usr/src/kernels/2.6.18-238.el5-i686 /usr/src/linux
这里选择yum方式安装
[root@bogon ~]# yum -y install ipvsadm
已加载插件:fastestmirror
设置安装进程
Determining fastest mirrors
... ...
已安装:
ipvsadm.x86_64 :1.26-.el6 作为依赖被安装:
libnl.x86_64 :1.1.-.el6 完毕!
查看ipvs模块是否加载
[root@bogon ~]# lsmod | grep ip_vs
[root@bogon ~]#
因为此时系统还没有把ipvs模块加载进系统,需要我们执行ipvsadm命令才会加载进去或者modprobe ip_vs。
[root@bogon ~]# ipvsadm
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
[root@bogon ~]# lsmod | grep ip_vs
ip_vs
libcrc32c ip_vs
ipv6 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
[root@bogon ~]#
三、手动配置LVS负载均衡器
正常工作中是不会手动配置的,也不会使用脚本配置的。最终我们是通过配置文件生效的,结合keepalived来进行部署的。
[root@bogon ~]# ifconfig eth1: 192.168.2.17 netmask 255.255.255.0
[root@bogon ~]# route add -host 192.168.2.17 dev eth1
ipvsadm命令参数:
-A
-A --add-service 添加一个带选项的虚拟服务。
Add a virtual service. A serviceaddress is uniquely defined by a triplet: IP address, portnumber, and protocol. Alternatively a virtualservice may be defined by a firewall-mark.
-t 指定虚拟服务器的IP地址和端口
-s -s,--scheduler scheduling-method 调度算法
-p 会话保持按秒计算
-a
-a在对应的VIP下添加RS节点
-g 指定此LVS的工作模式为-g -g为DR模式
-l
指定LVS的工作模式为-l -l为tunnel模式
-m 指定LVS的工作模式为NAT模式
-w 指定RS节点的权重
-D
删除虚拟服务
格式:ipvsadm-D -t|u|f service-address
Delete a virtual service, alongwith any associated real servers.
-C
-C, --clear Clear the virtual server table清空lvs原有的配置。
-set 设置tcp tcpfn udp 的连接超时时间(一般来说高并发的时候小一点点。
ipvsadm添加lvs服务
[root@bogon ~]# ipvsadm -C
[root@bogon ~]# ipvsadm -A -t 192.168.2.17: -s rr #添加虚拟服务指定VIP
[root@bogon ~]#
[root@bogon ~]# ipvsadm -a -t 192.168.2.17: -r 192.168.2.204: -g #针对虚拟服务添加RS节点
[root@bogon ~]# ipvsadm -a -t 192.168.2.17: -r 192.168.2.205: -g
[root@bogon ~]# ipvsadm -L -n #查看VIP和RS是否已经配置成功
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.17: rr
-> 192.168.2.204: Route
-> 192.168.2.205: Route
LB上删除虚拟服务
ipvsadm -D -t 192.168.2.17:80
四、RS节点服务器手动配置
添加lo端口的VIP&路由
[root@bogon ~]# ifconfig lo: 192.168.2.17 netmask 255.255.255.255 (由于RS的VIP不是用来通讯,并且这里一定要设置24位掩码)
[root@bogon ~]# route add -host 192.168.2.17 dev lo
ARP抑制
[root@bogon ~]# echo "" > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@bogon ~]# echo "" > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@bogon ~]# echo "" > /proc/sys/net/ipv4/conf/all/arp_announce
[root@bogon ~]# echo "" > /proc/sys/net/ipv4/conf/all/arp_ignore
五、测试LVS是否生效
[root@www ~]# curl http://192.168.2.204/test.txt
it is web1
[root@www ~]# curl http://192.168.2.205/test.txt
it is web2
[root@www ~]# curl http://192.168.2.17/test.txt
it is web2
[root@www ~]# curl http://192.168.2.17/test.txt
it is web1
[root@www ~]# curl http://192.168.2.17/test.txt
it is web2
[root@www ~]# curl http://192.168.2.17/test.txt
it is web1
[root@www ~]#
至此我们的LVS DR模式负载均衡已经配置完成了。至于不同的调度算法啊-s 不同的工作模式-g(DR) -l(TUNNEL) -m(NAT)服务器端基本上没有什么差别。只是在客户端上有一定的差别。
NAT模式:
客户端同样需要配置VIP,进行ARP抑制,并且要服务器端开启内核转发功能,配置LB的DIP(内网IP地址)作为默认网关。
开启内核转发功能:vi /etc/sysctl net.ipv4.ip_forword = 1
route add default gw 192.168.2.203
Tunnel模式:
客户端需要先开启Tunnel协议支持。
/sbin/modprobe ipip
/sbin/route add –host 192.168.2.17 devtun1
echo”1”>/proc/sys/net/ipv4/conf/tun1/arp-ignore
echo”2”>/proc/sys/net/ipv4/conf/tun1/arp_announce
echo”0” >/proc/sys/net/ipv4/conf/tun1/rp_filter
echo”1” >/proc/sys/net/ipv4/conf/tun1/forwarding
echo”1” >/proc/sys/net/ipv4/conf/all/arp_ignore
echo”2” >/proc/sys/net/ipv4/conf/all/ arp_announce
六、部署成功后的另一些问题
1)当我们的RS节点出现问题,LB如何知道。如果不知道是会把会话连接接续转发到RS上面。
2)如果LB出现故障,那么整个网络就出现故障。
针对上面的1问题,我们就需要一种RS节点健康检查机制。定时的去检测RS是否正常,如果出现不正常那么就把这个RS从VIP服务里面删除掉。如果恢复正常了,就再把RS添加进来。针对2问题,我们可以另外再架设一台LB服务器,作为备LB服务器。那么当主LB出现故障,备LB服务器就会启动接管主LB服务器的工作,接管它的资源(IP地址,在网络中的角色身份等)
而上面提到的这些我们就需要结合keepalived来完成。所以后续我们开始讲keepalived+lvs结合适用。完成RS节点健康检查和LVS的高可用性功能。
LVS_DR模式构建配置的更多相关文章
- keepalived深度结合lvs_dr模式
keepalived与dr模式结合 keepalived介绍 keepalived可提供vrrp以及health-check功能,可以只用它提供双机浮动的vip(vrrp虚拟路由功能), 这样可以简单 ...
- LVS + Keepalived + Nginx基于DR模式构建高可用方案
在大型网站中一般服务端会做集群,同时利用负载均衡器做负载均衡.这样有利于将大量的请求分散到各个服务器上,提升网站的响应速度.当然为了解决单点故障的问题,还会做热备份方案.这里演示利用LVS做负载均衡器 ...
- 新书出版《.NET框架设计—模式、配置、工具》感恩回馈社区!
很高兴我的第一本书由图灵出版社出版.本书总结了我这些年来对框架学习.研究的总结,里面纯干货,无半句废话. 书的详情请看互动网的销售页面:http://product.china-pub.com/377 ...
- Castle IOC容器构建配置详解(二)
主要内容 1.基本类型配置 2.Array类型配置 3.List类型配置 4.Dictionary类型配置 5.自定义类型转换 一.基本类型配置 在Castle IOC的配置文件中,大家可能都已经注意 ...
- linux网卡速率和双工模式的配置
linux网卡速率和双工模式的配置 (2012-09-06 14:39:57) 转载▼ 标签: 科技 网络接口 协商 网卡 工具 it 分类: Linux 改变网络接口的速度和协商方式的工具miito ...
- Swift中使用构建配置来支持条件编译-b
在Objective-C中,我们经常使用预处理指令来帮助我们根据不同的平台执行不同的代码,以让我们的代码支持不同的平台,如: 1 2 3 4 5 6 7 8 9 #if TARGET_OS_IPHON ...
- 使用Repository模式构建数据库访问层
使用Repository模式构建数据库访问层 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程[二]——使用Repository模式构建数据库访问层 系列导航地址http:// ...
- LVS-NAT模式的配置详解
由于实验室拟态存储的项目需要通过NAT模式来映射NFS服务器已实现负载均衡的目的,通过调研了多种负载均衡机制,笔者最终选择了LVS的NAT模式来实现需求,接下来通过博客来记录一下LVS-NAT模式的配 ...
- windows server 2012 R2 远程桌面授权模式尚未配置
windows server 2012 R2 远程桌面授权模式尚未配置,远程桌面服务将在120天内停止工作.如何破解这个宽限期,目前企业7位协议号码均不包含2012 R2以上授权. 那么只能蛋疼的“破 ...
随机推荐
- 前端学习实践笔记--JavaScript深入【1】
这一年中零零散散看过几本javascript的书,回过头看之前写过的javascript学习笔记,未免有点汗颜,突出“肤浅”二字,然越深入越觉得javascript的博大精深,有种只缘身在此山中的感觉 ...
- log4j输出日志到不同文件
1.先看log4j的配置文件 log4j.properties 没有此文件就在根目录下创建一个: log4j.rootLogger=INFO,R,Client log4j.appender.R=org ...
- 29. Xshell连接Linux下Oracle无法回退的解决办法
使用Xshell 连接远程Linux 数据库服务器,当切换到sqlplus 控制台时,输入错误字符的时候,使用回退键修改时,显示^H. 解决方法:切换至root用户,直接输入stty erase ^H ...
- C--变量的命名规则
规则1.标识符最好采用英文单词或其组合,不允许使用拼音. 规则3.当标识符由多个词组成时,每个词的第1个字母大写,其余全部小写: int CurrentVal; 规则5.对在多个文件之间共同使用的 ...
- C# dev开发过程中的山炮问题汇总
1. 后台注册控件,页面form提交,后台获取控件方法 Request.Form["name"]:
- rabbitMQ学习(七)反馈模式
反馈模式 在消费端接收到消息后,会反馈给服务器信息. 连接代码: import java.io.IOException; import com.rabbitmq.client.Channel; imp ...
- Nodejs学习(二)-express生成器
1.安装生成器 sudo npm install express-generator -g 2.做ln链接,这个我就不介绍了,可以参照上个随笔,指向/usr/local/bin就行. 3.生成项目文件 ...
- 激活PHPStorm 2016.3
通过互联网激活PHPStorm 2016.3: http://jetbrains.tencent.click http://172.245.22.235:1017 http://idea.imsxm. ...
- 怎么部署java项目(从搭建环境说起)
1.服务器需要安装对应开发版本的jdk 在官网下载jdk对应的jdk版本,解压到某个目录下如: root@guchen-ubuntu16-04lts:/home/guchen/usr/java# ls ...
- MVC过滤器详解
MVC过滤器详解 APS.NET MVC中(以下简称"MVC")的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再加一些额外的逻辑处理. ...