Lvs-NAT模式
时间:2020-01-04 13:35 来源:未知 作者:IT
Lvs原理
Lvs-NAT模式注意事项
Lvs-Nat模式图解
Lvs配置
保存ipvsadm策略方法
测试:
Lvs原理
当客户端的请求到达负载均衡器的内核空间时,首先会到达PREROUTING链。
当内核发现请求数据包的目的地址是本机时,将数据包送往INPUT链。
LVS由用户空间的ipvsadm和内核空间的IPVS组成,ipvsadm用来定义规则,IPVS利用ipvsadm定义的规则工作,IPVS工作在INPUT链上,当数据包到达INPUT链时,首先会被IPVS检查,如果数据包里面的目的地址及端口没有在规则里面,那么这条数据包将经过INPUT链送至用户空间,交给用户空间的进程来处理。
如果数据包里面的目的地址及端口在规则里面,那么这条数据报文将被修改目的地址为事先定义好的后端服务器,并送往POSTROUTING链。
最后经由POSTROUTING链发往后端服务器。
Lvs-NAT模式注意事项
两块网卡
RS应该使用私有地址 RS的网关必须指向DIP DIP和RIP必须在同一个网段内
请求和响应报文都需要经过Director Server
支持端口映射 RS可以使用任意操作系统
缺陷:对Director Server压力会比较大,请求和响应都需经过director server 高负载场景中,Director Server易成为性能瓶颈
Lvs-Nat模式图解
Lvs配置
sercer4作为调度器,添加两块网卡,内网ip 172.25.100.4 外网ip为172.25.254.4
server8(172.25.100.8) 网关指向DIP即172.25.100.6
server9(172.25.100.9) 网关指向DIP即172.25.100.6
补充:在添加虚拟网卡时,添加完直接ifconfig查看并不能直接查看到。方法如下:
复制一份eth0的配置文件
更改里面的设备名称和ip地址
重启网络 ok
server4作为调度器
开启路由转发功能,使得真实服务器可以访问外网
[root@server4 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
查看策略:
[root@server4 ~]# sysctl -p
net.ipv4.ip_forward = 1 查看到已经打开
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
测试:
两台加了网关的后端服务器可以ping通DIP(172.25.254.4)
servre8, server9 作为后端服务器
两台机器添加临时的网关指令
[root@server9 ~]# route add default gw 172.25.100.4
设置策略:
[root@server4 ~]# ipvsadm -C
[root@server4 ~]# ipvsadm -A -t 172.25.254.4:80 -s wrr
[root@server4 ~]# ipvsadm -a -t 172.25.254.4:80 -r 172.25.100.6 -m -w 1
[root@server4 ~]# ipvsadm -a -t 172.25.254.4:80 -r 172.25.100.8 -m -w 1
补充:m代表nat模式,-w设置权重 wrr加权轮叫调度算法
[root@server4 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.254.4:80 wrr
-> 172.25.100.6:80 Masq 1 0 0
-> 172.25.100.8:80 Masq 1 0 0
[root@server4 ~]# echo "1" >/proc/sys/net/ipv4/ip_forward //开启ip转发功能
//临时开启:sysctl -w net.ipv4.ip_forward=1
保存ipvsadm策略方法
service ipvsadm save //保存lvs规则到/etc/sysconfig/ipvsadm中
当重启后,可以service ipvsadm reload加载出来
补充:当然可以重定向保存到任何文件
ipvsadm -S >/etc/hi
重启
ipvsadm -R </etc/hi
iptables5五条链不了解这5条链是当数据包流向这台服务器的时候,数据包在服务器内核中的流向
开启后端http服务
后端 server8,server9
开启http服务发布页面分别为server8‘s page ; server9's page
测试
[root@server4 ~]# curl http://172.25.254.4
server6'page
[root@server4 ~]# curl http://172.25.254.4
server8's page
[root@server4 ~]# curl http://172.25.254.4
server6'page
[root@server4 ~]# curl http://172.25.254.4
server8's page
增大测试量:
[root@server4 ~]# ab -n 10000 -c 200 http://172.25.254.4/index.html
[root@server4 ~]# ipvsadm -L -n --rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 172.25.254.4:80 82 409 409 29237 45036
-> 172.25.100.6:80 41 205 205 14645 22534
-> 172.25.100.8:80 41 204 204 14592 22502
(责任编辑:IT)
Lvs原理
Lvs-NAT模式注意事项
Lvs-Nat模式图解
Lvs配置
保存ipvsadm策略方法
测试:
Lvs原理
![]()
当客户端的请求到达负载均衡器的内核空间时,首先会到达PREROUTING链。
当内核发现请求数据包的目的地址是本机时,将数据包送往INPUT链。
LVS由用户空间的ipvsadm和内核空间的IPVS组成,ipvsadm用来定义规则,IPVS利用ipvsadm定义的规则工作,IPVS工作在INPUT链上,当数据包到达INPUT链时,首先会被IPVS检查,如果数据包里面的目的地址及端口没有在规则里面,那么这条数据包将经过INPUT链送至用户空间,交给用户空间的进程来处理。
如果数据包里面的目的地址及端口在规则里面,那么这条数据报文将被修改目的地址为事先定义好的后端服务器,并送往POSTROUTING链。
最后经由POSTROUTING链发往后端服务器。
Lvs-NAT模式注意事项
两块网卡
RS应该使用私有地址 RS的网关必须指向DIP DIP和RIP必须在同一个网段内
请求和响应报文都需要经过Director Server
支持端口映射 RS可以使用任意操作系统
缺陷:对Director Server压力会比较大,请求和响应都需经过director server 高负载场景中,Director Server易成为性能瓶颈
Lvs-Nat模式图解
![]()
Lvs配置
sercer4作为调度器,添加两块网卡,内网ip 172.25.100.4 外网ip为172.25.254.4
server8(172.25.100.8) 网关指向DIP即172.25.100.6
server9(172.25.100.9) 网关指向DIP即172.25.100.6
补充:在添加虚拟网卡时,添加完直接ifconfig查看并不能直接查看到。方法如下:
复制一份eth0的配置文件
更改里面的设备名称和ip地址
重启网络 ok
server4作为调度器
开启路由转发功能,使得真实服务器可以访问外网
[root@server4 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
查看策略:
[root@server4 ~]# sysctl -p
net.ipv4.ip_forward = 1 查看到已经打开
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
测试:
两台加了网关的后端服务器可以ping通DIP(172.25.254.4)
![]() ![]()
servre8, server9 作为后端服务器
两台机器添加临时的网关指令
[root@server9 ~]# route add default gw 172.25.100.4
设置策略:
[root@server4 ~]# ipvsadm -C
[root@server4 ~]# ipvsadm -A -t 172.25.254.4:80 -s wrr
[root@server4 ~]# ipvsadm -a -t 172.25.254.4:80 -r 172.25.100.6 -m -w 1
[root@server4 ~]# ipvsadm -a -t 172.25.254.4:80 -r 172.25.100.8 -m -w 1
补充:m代表nat模式,-w设置权重 wrr加权轮叫调度算法
[root@server4 ~]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.254.4:80 wrr
-> 172.25.100.6:80 Masq 1 0 0
-> 172.25.100.8:80 Masq 1 0 0
[root@server4 ~]# echo "1" >/proc/sys/net/ipv4/ip_forward //开启ip转发功能
//临时开启:sysctl -w net.ipv4.ip_forward=1
保存ipvsadm策略方法
service ipvsadm save //保存lvs规则到/etc/sysconfig/ipvsadm中
当重启后,可以service ipvsadm reload加载出来
补充:当然可以重定向保存到任何文件
ipvsadm -S >/etc/hi
重启
ipvsadm -R </etc/hi
iptables5五条链不了解这5条链是当数据包流向这台服务器的时候,数据包在服务器内核中的流向
开启后端http服务
后端 server8,server9
开启http服务发布页面分别为server8‘s page ; server9's page
测试
[root@server4 ~]# curl http://172.25.254.4
server6'page
[root@server4 ~]# curl http://172.25.254.4
server8's page
[root@server4 ~]# curl http://172.25.254.4
server6'page
[root@server4 ~]# curl http://172.25.254.4
server8's page
增大测试量:
[root@server4 ~]# ab -n 10000 -c 200 http://172.25.254.4/index.html
[root@server4 ~]# ipvsadm -L -n --rate
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port CPS InPPS OutPPS InBPS OutBPS
-> RemoteAddress:Port
TCP 172.25.254.4:80 82 409 409 29237 45036
-> 172.25.100.6:80 41 205 205 14645 22534
-> 172.25.100.8:80 41 204 204 14592 22502
(责任编辑:IT) |