上海isp 发表于 2019-1-6 07:55:56

LB负载均衡集群之LVS(DR)

配置DR
  LVS工具ipvsadm
http://s3.运维网.com/wyfs02/M00/8A/A5/wKioL1g2moKiPs0SAAC1P6WI8_U845.jpg-wh_500x0-wm_3-wmp_4-s_4062293647.jpg
  环境说明
  四台机器:
  Director负载均衡调度器,网卡(公网IP,实验用nat)eth0:192.168.134.140
  Vip:etho:0:192.168.134.150
  Real server1真实机器、真实服务器,网卡(公网IP,实验用nat)eth0:192.168.134.137
  Real server2真实机器、真实服务器,网卡(公网IP,实验用nat)eth0:192.168.134.138
  Client 客户端 网卡(公网IP,实验用nat)eth0:192.168.134.131-- 用来测试curl
  1
  Director负载均衡调度器安装yum install-yipvsadm
  两台真实服务器都安装yum install –y nginx
  直接在Director调度器编写脚本
  vim /usr/local/sbin/lvs_dr.sh
  #! /bin/bash
  echo 1 > /proc/sys/net/ipv4/ip_forward
  ipv=/sbin/ipvsadm - 做个变量
  vip=192.168.134.150 --可以说是定义变量VIP为192.168.134.150
  rs1=192.168.134.137 -- 定义Realserver1真实机器、真实服务器IP为192.168.134.137
  rs2=192.168.134.138 -- 定义Realserver2真实机器、真实服务器IP为192.168.134.138
  #ifconfig eth0:0 down -- 重启脚本时要先删除eth0:0,才能在添加vip
  ifconfig eth0:0 $vip broadcast $vip netmask255.255.255.255 up - 添加一张网卡echo:0引用VIP这个变量,设置broadcast引用VIP这个变量设置子网掩码为255.255.255.255,
  目的是为了让它能出网,而不能接收回来,这就是DR原理,直接通过服务器发给客户端,这
  里主要是设置vip的
  route add -host $vip dev eth0:0 添加网关
  $ipv –C 把之前的规则清空掉
  $ipv -A -t $vip:80 -s wrr ----A 添加 –t 添加VIP –s添加算法,轮询算法,均摊分配
  $ipv -a -t $vip:80 -r $rs1:80 -g -w 3 - –g 指DR模式 ,-w表示权重
  $ipv -a -t $vip:80 -r $rs2:80 -g -w 1
  两台Real server真实服务器上也要编写脚本
  vim /usr/local/sbin/lvs_dr_rs.sh
  #! /bin/bash
  vip=192.168.134.150#注意这个是VIP
  ifconfig lo:0 $vip broadcast $vip netmask255.255.255.255 up
  route add -host $vip lo:0
  echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
  echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce
  echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  echo "2">/proc/sys/net/ipv4/conf/all/arp_announce
  然后director上执行: bash /usr/local/sbin/lvs_dr.sh
  ipvdadm –ln -- 查看集体的IP是谁
  两台rs上执行: bash /usr/local/sbin/lvs_dr_rs.sh
  最后就是测试了
  在client 客户端测试
  curl 192.168.134.150-- 测试vip,测试多次。(测试成功)
  




页: [1]
查看完整版本: LB负载均衡集群之LVS(DR)