LVS之DR模型的搭建
概述:
为了阐述方便,我根据官方原理图讲解,如下图所示:VS/DR的体系结构:
http://blog.运维网.com/attachment/201305/133719997.jpg
我将结合这幅原理图及具体的实例来讲解一下LVS-DR的原理,包括数据包、数据帧的走向和转换过程。
官方的原理说明:Director接收用户的请求,然后根据负载均衡算法选取一台realserver,将包转发过去,最后由realserver直接回复给用户。
实例场景设备清单:
http://blog.运维网.com/attachment/201305/133748430.jpg
说明:我这里为了方便,client是与vip同一网段的机器。如果是外部的用户访问,将client替换成gateway即可,因为IP包头是不变的,变的只是源mac地址。
① client向目标vip发出请求,Director接收。此时IP包头及数据帧头信息如下:
http://blog.运维网.com/attachment/201305/133831265.png
② VS根据负载均衡算法选择一台active的realserver(假设是192.168.57.122),将此RIP所在网卡的mac地址作为目标mac地址,发送到局域网里。此时IP包头及数据帧头信息如下:
http://blog.运维网.com/attachment/201305/133850937.jpg
③ realserver(192.168.57.122)在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理这个报文。随后重新封装报文,发送到局域网。此时IP包头及数据帧头信息如下:
http://blog.运维网.com/attachment/201305/133914936.jpg
④ 如果client与VS同一网段,那么client(192.168.57.135)将收到这个回复报文。如果跨了网段,那么报文通过gateway/路由器经由Internet返回给用户。
例子:
DIP:172.16.14.55
VIP:172.16.14.1
RIP:172.16.14.5
RIP:172.16.14.6
R1
在R1上设置RIP为172.16.14.5,VIP为172.16.14.1
先安装httpd服务,以便于一会测试
# yum installhttpd
# echo “r1.magedu.com” > /var/www/html/index.html
在命令行界面进行测试
http://blog.运维网.com/attachment/201305/134300478.png
设置eth0的arp解析,VIP地址及其子网掩码为255.255.255.255,并且增加路由
http://blog.运维网.com/attachment/201305/134157368.png
进行ip地址设置的查看
http://blog.运维网.com/attachment/201305/134224461.png
查看路由
http://blog.运维网.com/attachment/201305/134238408.png
R2
设置R2的RIP为172.16.14.6,VIP为172.16.14.1
先安装httpd服务,以便于一会测试
# yum installhttpd
# echo “r1.magedu.com” > /var/www/html/index.html
在命令行界面进行测试
http://blog.运维网.com/attachment/201305/134326973.png
设置eth0的arp解析,VIP地址及其子网掩码为255.255.255.255,并且增加路由
http://blog.运维网.com/attachment/201305/134355545.png
进行ip地址设置的查看
http://blog.运维网.com/attachment/201305/134506780.png
查看路由
http://blog.运维网.com/attachment/201305/134447320.png
Director
在director上安装ipvsadm
#yuminstall ipvsadm
设置ipvsadm规则,同时还要进行测试是否可以访问real server的网页
http://blog.运维网.com/attachment/201305/134540472.png
在浏览器上进行测试
http://blog.运维网.com/attachment/201305/134554235.png
http://blog.运维网.com/attachment/201305/134608100.png
附加:
可以在director上安装httpd服务。这样可以在realserver服务器出现问题时,director可以出现一个欢迎页面,告诉客户端
这里再附上一个例子
DR
director
DIP:172.16.14.55
VIP:172.16.14.1
R1
eth0:172.16.14.5
gateway 172.16.0.1
配置httpd服务
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
# ifconfig lo:0 172.16.14.1/16 up
R2
eth0:172.16.14.6
gateway 172.16.0.1
配置httpd服务
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
# ifconfig lo:0 172.16.14.1/16 up
R1:设置使用VIP作为源地址
# ifconfig lo:0 down
# ifconfig lo:0 172.16.14.1 broadcast 172.16.14.1 netmask 255.255.255.255 up
broadcast地址为vip地址
R2:设置使用VIP作为源地址
# ifconfig lo:0 down
# ifconfig lo:0 172.16.14.1 broadcast 172.16.14.1 netmask 255.255.255.255 up
director
# ifconfig eth0:0 down
# ifconfig eth0:0 172.16.14.1 broadcast 172.16.14.1 netmask 255.255.255.255 up
R2
# route add -host 172.16.14.1 dev lo:0
R1
# route add -host 172.16.14.1 dev lo:0
director
# route add -host 172.16.14.1 dev eth0:0
ipvsadm
# ipvsadm -A -t 172.16.14.1:80 -s wlc
# ipvsadm -a -t 172.16.14.1:80 -r 172.16.14.5 -g -w 2
# ipvsadm -a -t 172.16.14.1:80 -r 172.16.14.6 -g -w 1
页:
[1]