lvs主要有三种类型,即nat模式,DR模式 ,遂道模式。在这里主要简单介绍下DR与nat模式。
1. LVS-DR模式
1.1 重点内容
arptalbes
通过修改mac地址实现
集群节点必须在同一个物理网络中,不能跨越路由
rip可以使用公共地址
director仅处理入站请求,出站响应不再经过director
DR不支持端口帕映射
大多数系统支持real server
DR的director压力小于nat的director
1.2 环境
lvs-server eth0:210.168.100.1 vip:210.168.100.100 255.255.255.255 real-server1 eth0:210.168.100.2 real-server2 eth0:210.168.100.3
虚拟机网卡模式 vm0
1.3 lvs-server配置
配置vip及路由
[root@master ~]# ifconfig eth0:0 210.168.100.100 netmask 255.255.255.255 [root@master ~]# route add -host 210.168.100.100 dev eth0:0
配置ipvsadm
通过运行脚本ipvs.sh来配置
#!/bin/bash #author by hu #date 2013-11-16 ipvsadm -C ipvsadm -At 210.168.100.100:80 -s rr ipvsadm -at 210.168.100.100:80 -r 210.168.100.2 -g ipvsadm -at 210.168.100.100:80 -r 210.168.100.3 -g ipvsadm
注:-g 表示DR直播路由模式;-m 表示nat模式;-i表示遂道模式。
运行脚本
[root@master ~]# ./ipvs.sh IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 210.168.100.100:http rr -> 210.168.100.2:http Route 1 0 0 -> 210.168.100.3:http Route 1 0 0
1.4 real-server配置
这里以real-server1为例
配置vip
[root@Nodes03 ~]# ifconfig lo:0 210.168.100.100 netmask 255.255.255.255 [root@Nodes03 ~]# route add -host 210.168.100.100 dev lo:0
配置arp
通过脚本ipvsadm.sh来更改
#!/bin/bash #author by hu #date 2013-11-16 ipvsadm -C ipvsadm -At 210.168.100.1:80 -s rr ipvsadm -at 210.168.100.1:80 -r 192.168.100.2:80 -m ipvsadm -at 210.168.100.1:80 -r 192.168.100.3:80 -m ipvsadm
运行脚本
[root@master ~]# ./ipvsadm.sh IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 210.168.100.1:http rr -> 192.168.100.2:http Masq 1 0 21 -> 192.168.100.3:http Masq 1 0 20
1.5 验证
通过访问210.168.100.100,如果有显示并有不同的结果则正确
2 NAT模式
重点内容
所有集群节点在同一个节点当中
RIP是私有地址,用于集群节点之间进行通信
director 进行处理入站和出站请求
VIP网关要指向DIP
可以实现端口映射
director容易成为系统性能瓶颈
2.1 环境
lvs-server eth0:210.168.100.1/25 eth1:192.168.100.1/25 real-server1 eth0:192.168.100.2/25 gw 192.168.100.1 real-server1 eth0:192.168.100.3/25 gw 192.168.100.1
注:real-server的网关要指向lvs-server内网地址,否则数据将无法返回。
2.2 ipvsadm配置
通过执行脚本ipvsadm.sh配置
#!/bin/bash #author by hu #date 2013-11-16 ipvsadm -C ipvsadm -At 210.168.100.1:80 -s rr ipvsadm -at 210.168.100.1:80 -r 192.168.100.2:80 -m ipvsadm -at 210.168.100.1:80 -r 192.168.100.3:80 -m ipvsadm
运行脚本
[root@master ~]# ./ipvsadm.sh IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 210.168.100.1:http rr -> 192.168.100.2:http Masq 1 0 21 -> 192.168.100.3:http Masq 1 0 20
2.3 验证
通过访问210.168.100.1,如果有显示并有不同的结果则正确