re2d2 发表于 2015-4-13 09:47:32

keepalived 负载均衡实例

目的:利用keepalived 实现http的负载均衡用户访问192.168.1.153,实现对sr1和sr2的负载均衡。

实验环境:
      sr1: 192.168.1.151http服务
      sr2: 192.168.1.152http服务
      ka1: 192.168.1.150 主keepalived
      ka2: 192.168.1.149 备keepalived
      vip: 192.168.1.153虚拟IP


操作步骤:
      一:sr1、sr2 安装 httpd 服务、配置虚拟IP
            yum -y install httpd
            mkdir /etc/sh

            vim /etc/sh/dr.sh
                #!/bin/bash
                vip=192.168.1.153
                ifconfig lo:0 $vip broadcast $vip netmask 255.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

            更改权限并运行
               chmod 700 /etc/sh/dr.sh;bash /etc/sh/dr.sh
             ifconfig 查看lo:0处于up状态。


      二:ka1、ka2安装keepalived、ipvsadm服务
            yum -y install keepalived
            yum -y install ipvsadm


      三:配置主keepalived
            vim /etc/keepalived/keeplived.conf
                ! Configuration File for keepalived

global_defs {                     #全局配置
   notification_email {
   alex.zhu@t-mark.com.cn       #如有故障时,收件的email邮箱,可不填
   319480801@qq.com
   }
   notification_email_from alex.zhu@t-mark.com.cn
   smtp_server 192.168.1.202
   smtp_connect_timeout 30   #邮件服务器连接超时的最长时间
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER            #主keepalived 为 MASTER,备keepalived设为BACKUP
    interface eth0
    virtual_router_id 51
    priority 100          #主keepalived的的优先级,备keepalived的可设为90
    advert_int 1
    authentication {
      auth_type PASS
      auth_pass 1111
    }
virtual_ipaddress {
      192.168.1.153    #虚拟IP
    }
}

virtual_server 192.168.1.153 80 {
    delay_loop 6    #每6秒检查一次服务是否正常
    lb_algo rr      #负载均衡的调度算法方式,一般使用rr或者wlc
    lb_kind DR      #负载均衡的模式,TUN、NTA、DR三种
    nat_mask 255.255.255.0
    persistence_timeout 2#会话保持时间,单位:秒。如果是动态服务,建议开启。
    protocol TCP         #通讯模式。TCP UDP

    real_server 192.168.1.151 80 {   #真实服务的IP
      weight 100                   #权重值,数值越大,权重越高,分发的可能越大                TCP_CHECK {
      connect_timeout 10       #(10秒无响应超时)
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80          #端口
      }
    }
real_server 192.168.1.152 80 {
      weight 10
      TCP_CHECK {
      connect_timeout 10       #(10秒无响应超时)
      nb_get_retry 3
      delay_before_retry 3
      connect_port 80
      }
    }
}

      四:配置备keepalived
            vim /etc/keepalived/keepalived.conf
            在主keepalived.conf 基础上把
            1:state MASTER 修改为 state BACKUP

            2:priority 100 修改为 priority 90

      五:先启动ka1,再启动ka2
            ka1 : /etc/init.d/keepalived start;
            ka2 : /etc/init.d/keepalived start;

      六:浏览器访问http://192.168.1.153 进行测试。

页: [1]
查看完整版本: keepalived 负载均衡实例