首页 > 代码库 > LVS
LVS
LVS 类型:NAT(地址转换)、DR(直接路由)、TUN(隧道),一般使用DR类型。
NAT:
集群节点跟director必须在同一个IP网络中;
RIP通常是私有地址,仅用于各集群节点间的通信;
director位于client和real server之间,并负责处理进出的所有通信;
realserver必须将网关指向DIP;
支持端口映射;
realserver可以使用任意OS;
较大规模应该场景中,director易成为系统瓶颈;
DR:集群节点跟director必须在同一个物理网络中;
RIP可以使用公网地址,实现便捷的远程管理和监控;
director仅负责处理入站请求,响应报文则由realserver直接发往客户端;
realserver不能将网关指向DIP;
不支持端口映射;
TUN:集群节点可以跨越Internet;
RIP必须是公网地址;
director仅负责处理入站请求,响应报文则由realserver直接发往客户端;
realserver网关不能指向director;
只有支持隧道功能的OS才能用于realserver;
不支持端口映射;
LVS调度方式:rr(轮询)、wrr(加权轮询)、dh(目标地址hash)、sh(源地址hash);
lc(最少连接)、wlc(加权最少连接)、sed(最短期望延迟)、nq(永不排队)
LBLC(基于本地的最少连接)、LBLCR(基于本地的带复制功能的最少连接)
默认调度方式:wlc
一、以DR类型为例配置LVS服务器集群系统。
VIP:192.168.1.30
DIP:192.168.1.50
RIP1:192.168.1.31
RIP2:192.168.1.32
1、Realserver配置。
[root@localhost ~]# sysctl -w net.ipv4.conf.eth0.arp_announce=2 [root@localhost ~]# sysctl -w net.ipv4.conf.all.arp_announce=2 [root@localhost ~]# sysctl -w net.ipv4.conf.all.arp_ignore=1 [root@localhost ~]# sysctl -w net.ipv4.conf.eth0.arp_ignore=1 [root@localhost ~]# ifconfig lo:0 192.168.1.50 broadcast 192.168.1.50 netmask 255.255.255.255 up [root@localhost ~]# route add -host 192.168.1.50 dev lo:0 [root@localhost ~]# echo "server1.example.com" >/var/www/html/index.html
2、LVS服务器配置。
[root@localhost ~]# ntpdate us.pool.ntp.org #同步网络时间 [root@localhost ~]# sysctl -w net.ipv4.ip_forward=1 #打开IP转发功能 [root@localhost ~]# curl http://192.168.1.31 server1.example.com [root@localhost ~]# curl http://192.168.1.32 server2.example.com [root@localhost ~]# ifconfig eth0:0 192.168.1.50 broadcast 192.168.1.50 netmask 255.255.255.255 up [root@localhost ~]# route add -host 192.168.1.50 dev eth0:0 [root@localhost ~]# ipvsadm -A -t 192.168.1.50:80 -s wlc [root@localhost ~]# ipvsadm -a -t 192.168.1.50:80 -r 192.168.1.31 -g -w 3 [root@localhost ~]# ipvsadm -a -t 192.168.1.50:80 -r 192.168.1.32 -g -w 1
LVS