您的位置:首页 > 其它

liunx系统LVS的DR集群的配置和介绍

2013-09-13 20:45 351 查看
对于liunx集群,尤其是DR模式,很不容易理解,因他太有点乱和绕了,其实把理理解了,自然就不难了,我把DR最难理解的三个问题,做了标注和说明,这样可以让大家很好的理解。

VS是
linux虚拟服务linux内核自带的(创始人现在在他淘宝)

LVS 有三种模式
NAT
TUN 隧道模式(过渡阶段)
DR

---------------




工作模式:

一、NAT
分发器:Director
VIP 虚拟IP 提供服务的IP
DIP 直连服务器的IP
RIP 服务器的IP
CIP 客户端IP

数据包过程
第一步:client――>GW
源ip CIP 目标IP VIP 源mac CIPmac 目标mac up口mac
第二步:
GW――>Director 源ip CIP 目标IP VIP 源mac down口mac 目标mac VIP口mac
第三步:
Director――>Real Server [DNAT] 源ip CIP 目标IP RIP 源mac DIP mac 目标mac RIPmac
第四步:
Real Server――>Director 源ip RIP 目标IP CIP 源mac RIPmac 目标mac DIPmac
第五步:
Director――>GW 源ip VIP 目标IP CIP 源mac VIPmac 目标mac down口mac
第六步:
GW――>Client 源ip VIP 目标IP CIP 源mac up口mac 目标mac CIPmac

三、DR(直接路由)
数据包过程
第一步:client――>GW
源ip CIP 目标IP VIP 源mac CIPmac 目标mac up口mac
第二步:
GW――>Director
源ip CIP 目标IP VIP 源mac down口mac 目标mac VIPmac
第三步:
Director――>Real Server
源ip DIP 目标IP RIP 源mac DIP mac 目标mac 广播
源ip RIP 目标ip DIP 源mac RIPmac 目标mac DIPmac
源ip CIP 目标ip VIP 源mac DIPmac 目标mac RIPmac
第四步:
Real Server――>GW
源ip VIP 目标IP CIP 源mac RIPmac 目标mac down口mac
第五步:
GW――>Client
源ip VIP 目标IP CIP 源mac up口mac 目标mac CIPmac

NAT(地址转换) 作LB附载均衡的 一个人干活干不过来 在加一个 (工作中不会用原理进站数据少出去数据包大服务器承受不了)

分发去器 通过建立策略将接收到的任务分发给服务器
分发到的服务器成为 真实 server
VIP 对外提供服务的 连接外网的
DIP之连IP 连接AB 服务的地址
RIP是AB服务器的IP

虚拟机俩网卡是在硬件上添加network

连接虚拟机 
virt-viewer XU1
SSH IP
virsh console xu1 退出ctrl+右]
如果连不上
在本机上
grep ttys0 /etc/securetty
vim /etc/securetty
添加 ttyS0
grep ttys0 /boot/grub/grub.conf
title Red Hat Enterprise Linux Server (2.6.18-308.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-308.el5
module /vmlinuz-2.6.18-308.el5xen ro root=LABEL=/ rhgb quiet console=ttyS0 添加
module /initrd-2.6.18-308.el5xen.img
title Red Hat Enterprise Linux Server (2.6.18-308.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-308.el5 ro root=LABEL=/ rhgb quiet console=ttyS0

GW电脑上也要打开 地址转换echo 1

在 director电脑上(创建一个虚拟服务)
在内核写策略 需要装 /mnt/cluster/ipvsadm-1.24-
-A 添加一个虚拟接口 轮询
ipvsadm -A -t 1.1.1.1:80 -s rr ------创建了一个工作
(伪装)
ipvsadm -a -t 1.1.1.1:80 -r 172.16.1.1 -m ------添加策略
ipvsadm -a -t 1.1.1.1:80 -r 172.16.1.2 -m
ipvasdm -Ln ---查看策略
打开地址转换 echo 1

在本机上设置
在虚拟机上挂载iso
第一个虚拟机 这个文件 映射到这台电脑上 为hdc 以只读的方式
[root@localhost ~]# xm block-attach 5 file://rhel5u8.iso /dev/hdm r
在挂载 iso

ipvasdm -Ln --stats -----显示详细信息
入站流量大于出战流量 原因一个网站进入的是请求出去的是数据

------------------------------------------
DR 直接路由

第一步 原ip cip 目标ip vip 原mac cip mac 目标mac up口

第一个问题 俩个web服务要有VIP
第二个问题 路由喊VIP的时候 只有真正的VIP回应
第三个问题 当分发器上分发数据包的时候必须让dip分发 (向外发包第一步查路由表 在路由表里第一条写DIP)

第一个问题原因:为什么俩个web服务器要都要有VIP ,因为: 客户端发送一个数据包给张三,然后恢复的时候是李四恢复的,计算机一看人不对,误认为是李四发错了,
他会一直等张三的数据包到来,等到超时的时候就会断开,为了避免这个问题,所以让俩个服务器端都把张三的名字保存起来,这样,数据包回去的时候看到里面有张三的字眼就会接受了。
所以说 俩个web服务器必须要有VIP。 (在自己的电脑上添加领一个IP地址)(俩个web服务器上添加VIP在lo:1)

第二个问原因:路由喊VIP的时候 只有真正的VIP回应 第一个问题上面俩个web服务器上有张三的名字了 ,加上真正的张三一共有三个张三 等路由喊张三的时候 会有三个人回答, 这不就乱了马?
所以说我们要让 真正的张三回答 不是真的闭嘴,避免乱套。这就又牵扯到第一个问题了,如果在一个eth1上添加了张三,假如一天插上网线,那么arp一喊eth1必须回应,
所以我们把这个张三设置在lo:1上回环地址的另一个上确保不会插上网线 他回应。(设置虚拟服务设置策略 打开俩个内核信息一是 喊真VIP的时候假的不回答, 喊本机的本机回答,喊本机的兄弟IP 本机的IP不回答二是让自己的IP和兄弟IP都接收 兄弟IP也帮你接收)

第三个问题 当分发器上分发数据包的时候为什么必须dip分发
因为分发器和俩个web服务器是在同一个交换机上 VIP和DIP俩个口都可以进出 不非要DIP出 ,但是 假如让VIP出包的话 第二个问题说到让web的VIP提他兄弟接受数据包
他原地址是VIP 接收的地址也是VIP 那么分发器会误认为他给自己发的数据包,这样就会把数据包给自己, 所以我们要选择让DIP发送数据包 ,因为DIP在这个网络里就他一个不会回环。

在 www1和www2设置
ifconfig lo:1 1.1.1.1/32 ---添加这个地址

内核参数的永久设置
vim /etc/sysctl.conf
喊真VIP的时候假的不回答, 喊本机的本机回答,喊本机的兄弟IP 本机的IP不回答
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore ---喊VIP的时候他不回答 喊我我回答 喊我兄弟我不回答
[root@localhost ~]# echo 2 /proc/sys/net/ipv4/conf/eth0/arp_announce ----VIP帮正真的IP 接收 给我的我收 我给兄弟我也收 +

service httpd restart
touch /var/www/html/index.html
echo "11111" > /var/www/html/index.html

在分发器上 让DIP在最上面
ipsadm -C 清空
ifdown eth0
ifdown eth1
ifup eth1
ifup eth0

VIP地址
ipvsadm -A -t 1.1.1.1:80 -s rr
ipvsadm -a -t 1.1.1.1:80 -r 1.1.1.10:80 -g
ipvsadm -a -t 1.1.1.1:80 -r 1.1.1.20:80 -g

ipvasdm -Ln --stats -----显示详细信息
没有出站流量了就成功了

本文出自 “history_xcy” 博客,请务必保留此出处http://historys.blog.51cto.com/7903899/1296715
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: