keepalived+lvs负载均衡

准备

四个虚拟机,其中两个做RS,另外两个做keepalived,实现keepalived的高可用。
在RS做httpd服务,用来做测试。RS的ip分别是172.25.49.2 和172.25.49.3

安装keepalived

keepalived的安装,首先从管网下载keepalived的源码包并解压,金融业到解压目录里。然后进行源码安装的三个步骤。
./configure –prefix=/usr/local/keepalived –with-init=SYSV
指定安装位置和初始化方式。
在进行此步骤的时候,可能需要解决一些软件的依赖性,以此解决就可以了。
确保没有报错后,然后make&&make install,
为了方便,可以创建几个软连接。
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/
完成后,给启动脚本文件加上可执行权限。
修改配置文件

! Configuration File for keepalived

global_defs {
   notification_email {
        root@localhost
   }

   notification_email_from keepalived@loaclhost
   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    #MASTER表示这个是主备模式里面的主要的那个服务器
    interface eth1   #心跳监听接口
    virtual_router_id 49  #主机和备机的virtual_router_id必须一样
    priority 100  #主机的优先级,一定要大于备机
    advert_int 1  #主备机之间心跳的频率,每秒一次
 authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        172.25.49.100   #设置vip,虚拟ip
         }
}

virtual_server 172.25.49.100 80 {   #定义虚拟服务器
    delay_loop 1    #每秒检查一下rs的工作状态,利用这个实现对后端RS的健康检查。
    lb_algo rr   #LVS的调度算法,一共有很多种,必须要知道
    lb_kind DR  #LVS的模式,一共有四种,必须要知道
    #persistence_timeout 50  #会话保持时间,在50S内同一个客户端发来的请求会在同一个RS上,若50S内没有请求。下一次会去其他的RS。
    protocol TCP
    real_server 172.25.49.2 80 {   #第一个RS
        weight 1
        TCP_CHECK {
            connect_timeout 3
          retry 3
            delay_before_retry 3
        }
    }

    real_server 172.25.49.3 80 {  #第二个RS
        weight 1
        TCP_CHECK {
            connect_timeout 3
            retry 3
            delay_before_retry 3
        }
    }
}

在keepalievd上的配置完成,采用DR直接转发的话,客户端请求的url是172.25.49.100,所有这个ip在后端的RS也要有,但是在加上100这个ip的时候,同时2和3也会把自己的mac地址广播出来,所有要禁止这个操作,

ip addr add 172.25.7.100/24 dev eth1
yum install -y arptables_jf
arptables -A IN -d 172.25.7.100 -j DROP
arptables -A OUT -s 172.25.7.100 -j mangle --mangle-ip-s 172.25.7.2
/etc/init.d/arptables_jf save
/etc/init.d/httpd status

在RS2和3上,开启arptables的控制策略,加入VIP,开启http服务,就可以使用了。

keepalived的高可用

在keepalived的备机上也装keepalived,所有的步骤都一样,在修改配置文件的时候,把MASTER改为BACKUP,把优先级调低,剩下的所有都一样,然后开启keepalived就可以了,测试时,查看虚拟ip在哪个keepalived上面,然后关闭keepalived,查看是否可以跳转到其他的keepalived上,如果可以,再用浏览器输入虚拟ip,看看是否可以到达RS的主机上,并返回html的页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值