LVS(1)

作者: StarShift | 来源:发表于2016-12-24 15:03 被阅读85次

1、环境说明
系统版本:ubuntu14.04
LVS服务器:14.17.64.3
真实服务器:14.17.64.4-12
VIP:14.17.64.13
部署目的:用户请求14.17.64.13的报文转发至14.17.64.4-12上进行负载均衡。

2、安装LVS
由于LVS像iptables一样是工作在内核层,所以只需要安装模块ip_vs就可以了,并没有后台进程在跑

#aptitude install ipvsadm
# ipvsadm -v
ipvsadm v1.26
# lsmod |grep ip_vs     #查看内核模块,有代表ipvsadm加载进内核当中,此时LVS安装完毕
ip_vs                 136701  0
nf_conntrack           96976  1 ip_vs
libcrc32c              12644  3 xfs,btrfs,ip_vs
 
# ipvsadm -L -n       #查看lvs规则
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
root@ubun
 
# ipvsadm -L -c   #查看连接情况

3、配置LVS VIP服务
-A是添加一条虚拟服务器记录,即VIP。此处配置要选择算法。

#ipvsadm -A-t 14.17.64.13  -s wrr -p 300     #代理转发所有去往该IP TCP的报文,-s指定算法wrr为加权轮询算法,-p会话保持时间(默认值是300s)
#ipvsadm -A-t 14.17.64.13:80 -s wrr -p 20    #代理转发去往该IP TCP80端口的报文

VIP****维护:
使用-E修改VIP设置

例:ipvsadm -E -t 14.17.64.13 -s wrr -p 40 #可修改会话保持时间与算法。
使用-D删除VIP设置
  例:ipvsadm -D -t 14.17.64.13    #删除该条VIP

4、配置LVS RIP规则
-a是添加VIP要对哪些真实服务器IP(即RIP)进行负载(默认是DR模式即-g)。

ipvsadm -a -t 14.17.64.13 -r 14.17.64.4 -g -w 1   #-r指定真实服务器IP,-g为选择DR模式(-m为NAT模式,-t为tunnel模式),-w选择权重。
ipvsadm -a -t 14.17.64.13 -r 14.17.64.5 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.6 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.7 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.8 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.9 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.10 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.11 -g -w 1
ipvsadm -a -t 14.17.64.13 -r 14.17.64.12 -g -w 1

如果只对tcp 80端口进行负载,可使用如下命令

#ipvsadm -a-t14.17.64.13:80 -r 14.17.64.4:80 -g -w 1  

RIP****维护:
使用-e修改RIP配置
例:

ipvsadm -e -t14.17.64.13 -r 14.17.64.6 -g -w 4    #修改这条RIP规则的权重。

使用-d删除RIP配置
例:

ipvsadm -d -t14.17.64.13 -r 14.17.64.6 -g -w 1   #删除该条RIP配置

5、在真实服务器上配置VIP
在真实服务器上都配置上VIP,即14.17.64.13地址。

#ifconfig lo:1314.17.64.13 netmask 255.255.255.255

6、在真实服务器上关闭ARP响应

关闭真实服务器上loop口的arp回应,其它口的无须关闭。
默认arp_ignore和arp_announce的参数都是0,即回应所有目的IP是本机的arp请求。
在所有真实服务器上进行如下操作:

echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore         #只回答目标IP地址是来访网络接口本地地址的ARP查询请求。
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce      #对查询目标使用最适当的本地地址。

此处可以进行测试,在测抑制arp前,能ping通VIP地址。在抑制arp后,在前端交换机上清掉arp缓存,再ping VIP就不通了。但物理eth0网卡IP还是能通的。

接下来在lvs上配置VIP:

ifconfig lo:13 14.17.64.13 netmask255.255.255.255

7、开启内核转发功能
在lvs上开启内核转发功能。

#echo  'net.ipv4.ip_forward=1'  >>/etc/sysctl.conf
#sysctl -p

8、LVS测试
由于真实服务器上未搭建http服务,但我设置的lvs是转发所有tcp连接,所以我通过ssh到VIP上进行测试。

#iptables -L -c  #查看lvs转发记录,确定请求转发成功。
TCP 14:59 ESTABLISHED 242.103.143.219.broad.bj.bj.dynamic.163data.com.cn:5197714.17.64.13:22  14.17.64.10:22

至此lvs搭建成功。

9、lvs补充思考
1、 自身无法对真实服务器保活,如果出现服务器down情况,还会向down的服务器转发请求。
解决方法是keepalived或自已写脚本来监测连通性再清除相应规则。
2、一台LVS服务器会出现单点故障,需要有备份LVS服务器
解决方法是keepalived来进行LVS故障接管。

相关文章

  • 负载均衡神器之 Nginx-Keepalived & LVS &

    1.Nginx & LVS & HAProxy 1.1 LVS 1.1.1 LVS体系结构 1.1.2 LVS 负...

  • LVS基础概念解析

    1. LVS 简介 1.1 LVS是啥 LVS的英文全称是Linux Virtual Server,即Linux虚...

  • LVS、nginx反向代理

    1、LVS实现nat,dr LVS简介LVS是Linux Virtual Server的简称,其主要包含VS:V...

  • 浅谈LVS

    一、集群的概念与分类 二、lvs介绍 三、lvs结构 四、LVS内核模型 五、LVS的包转发模型1.NAT模型2....

  • LVS 负载均衡-DR

    1. LVS 简介 1.1 什么是LVS LVS(Linux Virtual Server) 是一个高度可扩展且高...

  • 集群 --- LVS + Keepalived

    1、LVS Keepalived 集群的组成 LVS(linux virtual server,linux 虚拟服...

  • LVS(1)

    1、环境说明系统版本:ubuntu14.04LVS服务器:14.17.64.3真实服务器:14.17.64.4-1...

  • LVS的跨网络DR实现

    1、LVS的跨网络DR实现 1.1 LVS的网络配置 1.2 后端RS的IPVS配置 1.3 LVS 主机的配置 ...

  • 第十四周

    1、LVS实现nat,dr 1)NAT LVS服务器 外网卡:192.168.80.100 内网卡:192.168...

  • 二、LVS 实现四层负载均衡项目实战

    1、LVS 介绍 (1)LVS 是Linux Virtual Server的简称,也就是 Linux 虚拟服务器,...

网友评论

      本文标题:LVS(1)

      本文链接:https://www.haomeiwen.com/subject/hinhvttx.html