LVS:

    类型:

        LVS-NAT:  地址转换

        LVS-DR: 直接路由

        LVS-TUN:隧道

        

            NAT:

                集群节点跟director必须在同一个IP网络中;

                RIP通常是私有地址,仅用于各集群节点间的通信;

                director位于client 和 real server之间,并负责处理进出的所有通信;

                realserver必须将网关指向dip;

                支持端口映射;

                realserver可以使用任意OS;

                较大规模应用场景中,director易成为系统瓶颈;

            DR:

                集群节点跟director必须在同一个物理网络中;

                RIP可以使用公网地址,实现便捷的远程管理和监控;

                director仅负责入站请求,响应报文则有realserver直接发给客户端

                realserver不能将网站指向DIP;

                不支持端口映射;

                realserver可以使用大多数的OS;

                

             TUN:

                集群节点可以跨越Internet;

RIP地址必须是公网地址;

director仅负责入站请求,响应报文则有realserver直接发给客户端

realserver不能将网站指向DIP;

不支持端口映射;

                只有支持隧道功能的OS才能用于realserverz

知识回顾:

LB: 负载均衡集群

HA: 高可用集群

HP: 高性能集群

LB:

Hardware:

F5 BIG-IP

Citrix NetScaler

A10

SoftWare:

四层:

LVS

七层:

NGINX

HAPROXY

LVS: Linux Virtual Server


Type:

NAT:

类似DNAT

DR:  直接路由

TUN: 隧道  (异地热备)

固定调度:

rr: 轮叫,轮询

wrr: weight,加权

sh: source hash, 源地址hash

dh:destination hash  目标地址hash


动态调度

LC:  最少连接

active*256+inactive

谁小挑谁;

WLC: 加权最少连接

(active*256+inactive)/weight

谁小挑谁;

sed:最短期望延迟

(active+1)*256/6

nq: never queue 永不排队

LBLC:基于本地的最少连接

dh:

LBLCR:基于本地带复制功能的最少连接

默认方法: wlc

ipvsadm

管理集群服务

添加:-A -t|u|f service-address [-s scheduler]

-t: TCP协议的集群

-u:UDP协议的集群

service-address: IP:PORT

-f:FirewallMark/FWM;防火墙标记

service-address: Mark Number

修改:-E

删除:-D -t|u|f service-address

例如 #ipvsadm -A -t 192.168.2.55:80 -s rr

管理集群服务中的RS

添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]

-t|u|f service-address: 事先定义好的某集群服务

-r service-address: 某realserver地址; 在Nat模型中,可使用ip:port实现端口映射;

[-g|i|m] :LVS类型

-g:DR;

-i:TUN;

-m:NAT;

[-w weight] 定义服务器权重;


修改:-e

删除:-d -t|u|f service-address -r server-address

#ipvsadm -a -t 192.168.2.55:80 -r 192.168.10.8 -m

#ipvsadm -a -t 192.168.2.55:80 -r 192.168.10.9 -m

查看

-L|l

-n: 数字格式显示IP地址和端口

--stats  统计数据

--rate 速率

--timeout 显示tcp,tcpfin,和udp的会话超时时间;

-c 显示当前IPVS连接状况的

删除所有集群服务

-C:清空IPVS规则;

保持规则:

-S

# ipvsadm -S > /path/to/somefile

载入此前的规则

-R

#ipvsadm -R < /path/to/somefile



cat /proc/sys/net/ipv4/ip_forward


出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。这通常就是路由器所要实现的功能。

配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能

less /proc/sys/net/ipv4/ip_forward,该文件内容为0,表示禁止数据包转发,1表示允许,将其修改为1。可使用命令echo "1" > /proc/sys/net/ipv4/ip_forward 修改文件内容,重启网络服务或主机后效果不再。若要其自动执行,可将命令echo "1" > /proc/sys/net/ipv4/ip_forward 写入脚本/etc/rc.d/rc.local 或者 在/etc/sysconfig/network脚本中添加 FORWARD_IPV4="YES"