pennate 发表于 2019-1-6 06:43:37

CLUSTER部署LVS

  LVS-NAT集群:
  client1:客户端 IP :1.0.0.1
  lvs集群:服务器 IP1:1.0.0.254 IP2:192.168.1.254
  ser10/ser20:网页应用服务器 ser10IP:192.168.1.10 ser20IP:192.168.1.20
  ser10    yum -yinstall   httpd   
         servicehttpdstart;chkconfig httpd on
         echoser10> /var/www/html/index.html

ser20    yum -yinstall   httpd   
         servicehttpdstart;chkconfig httpd on
         echoser20> /var/www/html/index.html
  ser10 +ser20
# routeadd default gw192.168.1.254   #给网页服务器配置路由网关
# route -n                  #查看路由信息
  ser10                                    #四台电脑都能互相ping通
ping   192.168.1.254
ping   1.0.0.254
ping   1.0.0.1
  vip   分发器 与公网通信的接口
dip   分发器 与内网通信的接口
rip   内网服务器的ip地址
cip   公网客户端地址
  
配置LVS服务(NAT模式)
rpm -q   ipvsadm
rpm -ivh /mnt/Packages/ipvsadm-1.26-2.el6.x86_64.rpm
  开启内核路由转发功能,使其能够收发不同网段的ip包
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
:wq
# sysctl -p                     #刷新路由转发功能
  编写分发策略
  ipvsadm-A   -t1.0.0.254:80 -srr             #创建LVS虚拟集群服务器
  ipvsadm-a   -t1.0.0.254:80-r 192.168.1.10-m      为集群添加real server(指定IP)
  ipvsadm-a   -t1.0.0.254:80-r 192.168.1.20-m    为集群添加real server(指定IP)
  ipvsadm-Ln--stats                        #查看LVS状态
  /etc/init.d/ipvsadmsave               #保存LVS左右规则
  cat /etc/sysconfig/ipvsadm      #查看规则文件
  /etc/init.d/ipvsadm restart   #重启LVS服务
  ipvsadm -C                      #清空所有规则
  

-------------------------------------------------
LVS/DR模式    (分发器 和realserver 都是公网ip地址)
  lvs集群部署服务器 IP1:1.0.0.254
  ser10/ser20:网页应用服务器 ser10IP:1.0.0.10    ser20IP:1.0.0.20
  client1 :客户端 IP :1.0.0.1
  
1让两个realserver 拥有VIP地址
ifconfiglo:11.0.0.253/32
2让两个realserver 不应答访问分发器的请求
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
lvs的配置
ifconfig   eth1:11.0.0.253/32
ipvsadm-A-t1.0.0.253:80-s rr
ipvsadm-a-t1.0.0.253:80 -r 1.0.0.10 -g-w 1   #权重为1(轮流时访问一次)
ipvsadm-a-t1.0.0.253:80 -r 1.0.0.20 -g   -w 3    #权重为3(轮流时连续访问三次)
serviceipvsadmsave
ipvsadm -Ln --stats
  elinks --dump http://1.0.0.253      //交替出现 2 个 realserver 的 web 页面就 ok 了
  LVS 没有对 realserver 做健康性检查的功能,要自己写检查脚本。
*当把某个 realserver 上的 web 服务停止后,分发器仍然会把客户端的请求分发给此 realserver,
并且也不会把其从策略中删除。
  # yum -y nmap       先安装检测软件
# vim /root/check_lvs.sh
  1 #!/bin/bash
2 RIP1=1.0.0.10
3 RIP2=1.0.0.20
4 VIP=1.0.0.253
5
6 while[ 1 ]
7 do
8    for IP in $RIP1 $RIP2
9   do
10          RSTAT=$(nmap -n -sT -p 80 $IP | grep open)
11          if[ -z "$RSTAT" ];then
12            RLVS=$(ipvsadm -Ln | grep $IP)
13            if [ -n "$RLVS" ];then
14            ipvsadm -d -t ${VIP}:80 -r $IP
15            fi
16          fi
17   done
18
19   for IP in $RIP1 $RIP2
20   do
21      RSTAT=$(nmap -n -sT -p 80 $IP | grep open)
22      if [ -n "$RSTAT" ];then
23      RLVS=$(ipvsadm -Ln | grep $IP)
24          if [ -z "$RLVS" ];then
25             if [ "$IP" = "$RIP1" ];then
26                ipvsadm -a -t ${VIP}:80 -r $IP -m
27             else
28                ipvsadm -a -t ${VIP}:80 -r $IP -m -w 2
29             fi
30         fi
31         fi
32      done
33      sleep 3
34 done
:wq



页: [1]
查看完整版本: CLUSTER部署LVS