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"