96818 发表于 2019-1-5 13:38:18

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

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

  

  

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

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

  ---------------
http://blog.运维网.com/attachment/201309/205548181.jpg
  

  
  工作模式:      
  

  一、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 源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 以只读的方式
  # 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不回答
  # echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore ---喊VIP的时候他不回答 喊我我回答 喊我兄弟我不回答
  # 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 -----显示详细信息
  没有出站流量了就成功了
  

  




页: [1]
查看完整版本: liunx系统LVS的DR集群的配置和介绍