LVS原理详解及部署之三:手动部署LVS
2016-11-30 23:18
253 查看
LVS原理详解及部署之三:手动部署LVS
2014-01-13 23:33:23
标签:LVS LVS调度算法 LVS原理介绍
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://atong.blog.51cto.com/2393905/1351362
-------------------LVS专题------------------------LVS原理详解及部署之一:ARP原理准备LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)LVS原理详解及部署之三:手动部署LVSLVS原理详解及部署之四:keepalived介绍LVS原理详解及部署之五:LVS+keepalived实现负载均衡&高可用-------------------------------------------------以上两篇LVS文章已经介绍了LVS的理论知识,本篇博文就介绍如何手动的配置LVS,目录:一、环境需求&安装LVS软件二、手动配置LVS负载均衡器三、RS节点服务器手动配置四、测试LVS是否生效五、部署成功后的另一些问题
一、环境需求&安装LVS软件环境准备:三台虚拟机1)此环境是针对内部服务的LVS架构,如数据库,缓存,共享存储等业务。
虚拟机角色 | IP地址 | 备注 |
LVS负载均衡器 | 192.168.41.181 | VIP地址:192.168.40.17 |
http服务器RS1 | 192.168.41.31 | |
http服务器RS2 | 192.168.41.33 |
[root@localhost ipvsadm-1.24]# lsmod |grep ip_vsip_vs_rr 6081 1ip_vs 78081 3 ip_vs_rr |
参数 | 参数说明 |
-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-addressDelete a virtual service, alongwith any associated real servers. |
-C | -C, --clear Clear the virtual server table清空lvs原有的配置。 |
-set | 设置tcp tcpfn udp 的连接超时时间(一般来说高并发的时候小一点点。 |
[root@localhost ~]# ipvsadm -L -nIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.40.17:80 rr persistent 20 -> 192.168.41.33:80 Route 10 0 0 -> 192.168.41.31:80 Route 10 0 0 |
三、RS节点服务器手动配置1)添加lo端口的VIP&路由ifconfig lo 192.168.40.17 netmask 255.255.255.255 (由于RS的VIP不是用来通讯,并且这里一定要设置24位掩码)route add -host 192.168.40.17 dev lo2)ARP抑制echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignoreecho "2">/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1">/proc/sys/net/ipv4/conf/all/arp_announceecho "2">/proc/sys/net/ipv4/conf/all/arp_announce
四、测试LVS是否生效在LB上面输入命令ipvsadm -L -n就能够查看LB上面的会话分配。在前面加上watch可以动态的查看ipvsadm的会话分配。watch ipvsadm -L -n.1)测试RS节点是否正常访问2)测试从LB能否正常访问RS3)测试客户端能否正常访问VIP在测试的时候可以先把防火墙关闭掉,一般按照这样配置就能够实现LVS的负载均衡了。 至此我们的LVS DR模式负载均衡已经配置完成了。至于不同的调度算法啊-s 不同的工作模式-g(DR) -l(TUNNEL) -m(NAT)服务器端基本上没有什么差别。只是在客户端上有一定的差别。NAT模式:客户端同样需要配置VIP,进行ARP抑制,并且要服务器端开启内核转发功能,配置LB的DIP(内网IP地址)作为默认网关。开启内核转发功能:vi /etc/sysctl net.ipv4.ip_forword = 1route add default gw 192.168.41.181Tunnel模式:客户端需要先开启Tunnel协议支持。
/sbin/modprobe ipip/sbin/route add –host 192.168.40.17 devtun1echo”1”>/proc/sys/net/ipv4/conf/tun1/arp-ignoreecho”2”>/proc/sys/net/ipv4/conf/tun1/arp_announceecho”0” >/proc/sys/net/ipv4/conf/tun1/rp_filterecho”1” >/proc/sys/net/ipv4/conf/tun1/forwardingecho”1” >/proc/sys/net/ipv4/conf/all/arp_ignoreecho”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的高可用性功能。
本文出自 “从头开始” 博客,请务必保留此出处http://atong.blog.51cto.com/2393905/1351362
相关文章推荐
- LVS原理详解及部署之三:手动部署LVS
- LVS原理详解及部署之三:手动部署LVS
- LVS原理详解及部署之三:手动部署LVS
- LVS原理详解及部署之三:手动部署LVS
- LVS原理详解及部署之五:LVS+keepalived实现负载均衡&高可用
- LVS原理详解及部署之一:ARP原理准备
- LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)
- LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)
- LVS原理详解及部署之四:keepalived介绍
- LVS原理详解及部署之一:ARP原理准备
- LVS原理详解及部署之四:keepalived介绍
- LVS原理详解及部署之一:ARP原理准备
- LVS原理详解及部署之四:keepalived介绍
- LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)
- LVS原理详解及部署之四:keepalived介绍
- LVS原理详解及部署之一:ARP原理准备
- LVS原理详解及部署之二:LVS原理详解
- LVS原理详解及部署之一:ARP原理准备
- LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)
- LVS原理详解及部署之一:ARP原理准备