【1】 LVS简介
LVS(linux virtual server)在linux内核中实现的基于IP层和基于内容请求分发的负载平衡调度解决方法,工作在传输层
【2】 LVS的三种路由方式
1】 VS-NAT
数据包流向: CIP-DGW-VIP-RIP-DIP-DGW-CIP
VS-NAT 最易于配置
不适用于大量服务器(20台)及大量数据更新的服务,所有流量都经挂分发器
可扩展性差
双向修改数据包的IP和端口
2】 VS-DR
数据包流向: CIP-DGW-VIP-RIP-DGW-CIP
能够同时处理大量的客户端请求(出站流量不经过分发器),多用于大量真是服务器或频繁更新的服务(服务器IP为真实IP)
可扩展性好
仅修改请求包的MAC地址
3】 VS-TUN
数据包流向: CIP-DGW-VIP-RIP-DGW-CIP
可以夸广播域,即不再同一局域网内
可扩展性好
仅修改请求进入IP
【3】 LVS的调度算法(10种)
1】循环调度(rr)
2】加权循环调度(wrr)
3】最少连接(lc)
4】加权最少连接(wlc)(默认)
5】基于地区的最少连接调度(lblc)
【4】 安装软件包
在安装镜像的Cluster文件夹内
yum -y install ipvsadmin
【5】 ipvsadmin 常用命令
ipvsadm -Ln 查看分发规测和分发情况
ipvsadm -Ln -c 查看连接状态
ipvsadm -L -n --rate 查看当前连接数
ipvsadm -L -n --stats 查看总连接数
ipvsadm -C 清空规则
【6】 LVS的常用架构搭建与配置
1】 VS-NAT路由方式的搭建与配置
a】网络拓扑结构
client 8.8.48.22 (CIP)
|
|
| 8.8.48.1
DGW
| 4.4.64.1
|
| 4.4.64.66 (VIP)
Director
| 10.10.68.1 (DIP)
|
------------------------------
| | |
A B C (real http server) (RIP)
10.10.68.201 10.10.68.202 10.10.68.203
b】 real http server (ABC)的配置
A(10.10.68.201)的配置
ifconfig eth0 10.10.68.201/24
route add default gw 10.10.68.1
echo 10.10.68.201 > /var/www/html/index.html
service httpd start
B(10.10.68.202) C(10.10.68.203)同上配置
c】 DGW 的配置
ifconfig eth0 8.8.48.1/24
ifconfig eth0:0 4.4.64.1/24
echo 1 > /proc/sys/net/ipv4/ip_forward
d】 Director 分发器的配置
ifconfig eth0 4.4.64.66/24
ifconfig eth0:0 10.10.68.1/24
echo 1 > /proc/sys/net/ipv4/ip_forward
route add default gw 4.4.64.1
ipvsadm -A -t 4.4.64.66:80 -s rr
ipvsadm -a -t 2.2.2.2:80 -r 10.10.68.201 -m
ipvsadm -a -t 2.2.2.2:80 -r 10.10.68.201 -m
ipvsadm -a -t 2.2.2.2:80 -r 10.10.68.201 -m
e】 Client 端 测试
ifconfig eth0 8.8.48.22/24
route add default gw 8.8.48.1
elinks -dump http://4.4.64.66
2】 VS-DR 路由方式搭建配置
a】 网络拓扑结构
Client 8.8.48.22
|
|
| 8.8.48.1
DGW
| 4.4.64.1
|
| 4.4.64.66 (VIP)
Director
| 4.4.64.100 (DIP)
|
-----------------------------------
| | |
A B C (real http server) (RIP)
eth0:4.4.64.201 4.4.64.202 4.4.64.203
lo:0 4.4.64.66 4.4.64.66 4.4.64.66
b】real http server (ABC)的配置
A(4.4.64.201)的配置
ifconfig lo:0 4.4.64.66/32 (VIP)
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce (关闭VIP的arp响应)
ifconfig eth0 4.4.64.201/24
route add default gw 4.4.64.1
echo 10.10.68.201 > /var/www/html/index.html
service httpd start
B(10.10.68.202) C(10.10.68.203)同上配置
c】DGW 的配置
ifconfig eth0 8.8.48.1/24
ifconfig eth0:0 4.4.64.1/24
echo 1 > /proc/sys/net/ipv4/ip_forward
d】 Director 分发器的配置
ifconfig eth0 4.4.64.100/24 #(顺序不能和下行颠倒,保证同一广播域数据由eth0 发出)
ifconfig eth0:0 4.4.64.66/24
echo 1 > /proc/sys/net/ipv4/ip_forward
route add default gw 4.4.64.1
ipvsadm -A -t 4.4.64.66:80 -s wrr
ipvsadm -a -t 2.2.2.2:80 -r 10.10.68.201 -g -w 10 (权重)
ipvsadm -a -t 2.2.2.2:80 -r 10.10.68.201 -g -w 20
ipvsadm -a -t 2.2.2.2:80 -r 10.10.68.201 -g -w 30
e】 配置完成 Client 端 测试
ifconfig eth0 8.8.48.22/24
route add default gw 8.8.48.1
elinks -dump http://4.4.64.66