LVS之dr模式

1,实验一

实验环境

  server1  172.25.81.1  调度

  server2  172.25.81.2 web1

  server3  172.25.81.3  web2

   client    172.25.254.81

server1

1,配置好完整yum源,因为base镜像已经做过,这里不在描述

2,安装ipvsadm软件      yum install ipvsadm

3,添加ip                           ip addr add 172.25.81.100/24 dev eth0

4,设置lvs的vip,vip添加RS地址,并设置为DR模式

     ipvsadm -A -t 172.25.81.100:80 -s rr   #-t表示tcp协议 -s sheduler rr,表示轮询方式

5,ipvsadm -a -t 172.25.81.100:80 -r 172.25.81.2(3) -g

-r 表示rs地址 -g表示dr模式

 

,LVS之dr模式

6,/etc/init.d/ipvsadm save

server2

1,设置虚拟ip        ip addr add 172.25.81.100/24 dev eth0

2,安装arp防火墙   yum install arptables_jf -y

3,arptables -A IN -d 172.25.81.100 -j DROP  #对INPUT进行拒绝

     arptables -A OUT -s 172.25.81.100 -j mangle --mangle-ip-s 172.25.81.2  # 对output进行伪装

     /etc/init.d/arptables_jf save  #保存配置

LVS之dr模式

4,安装httpd服务,修改默认页为server2 ,记得开启httpd服务

server3,同server2此处掠过

client主机测试

可以看出负载均衡

LVS之dr模式

ipvs主机查看 2被调度4次,3也被调度4次

LVS之dr模式

实验2,ldirectord软件实现后端检查

1,安装软件   yum install ldirectord-3.9.5-3.1.x86_64.rpm

2,[[email protected] ~]# cp  /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
   [[email protected] ~]# cd  /etc/ha.d/
   [[email protected] ha.d]# ls
   ldirectord.cf  resource.d  shellfuncs
   [[email protected] ha.d]# vim  ldirectord.cf

LVS之dr模式

 

/etc/init.d/ldirectord start

 yum install httpd -y

LVS之dr模式

不支持端口转发,更改httpd服务监听端口为80 vim  /etc/httpd/conf/httpd.conf

LVS之dr模式

3.后端服务server2和server3关闭httpd服务 /etc/init.d/httpd stop

4.主机查看

LVS之dr模式

5,客户端测试

LVS之dr模式

3.高可用集群High-Avaliability

server1

[1]停止 ldirectord 服务清理环境,删除vip   ip addr del 172.25.81.100/24  dev eth0)

LVS之dr模式

[2]下载并安装keepalived

LVS之dr模式

yum  install openssl-devel libnl3-devel ipset-devel iptables-devel libnfnetlink-devel gcc -y

[3]源码编译三部曲:

LVS之dr模式

[4]生成软链接

LVS之dr模式

[5]修改keepalived配置文件:

LVS之dr模式

!Configuration File for keepalived

global_defs {
   notification_email {
        [email protected]
   }
   notification_email_from [email protected]
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
  # vrrp_strict         ##必须注释
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 7
    priority 100   ## 权重
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.25.81.100
    }
}
virtual_server 172.25.81.100 80 {  #VS
    delay_loop 3
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP

    real_server 172.25.81.2 80 {  #RS
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }

    real_server 172.25.81.3 80 {  #RS
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

象server4发送文件

LVS之dr模式

启动服务         /etc/init.d/keepalived start

server4

1,生成软链接

LVS之dr模式

2,编辑配置文件

LVS之dr模式

3,开启服务           /etc/init.d/keepalived start

client测试

关闭server1上面的keepalived服务,测试

LVS之dr模式

查看server4上面日志,server4已经变成master

LVS之dr模式

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,