keeplived高可用之redis

keeplived安装
安装环境
CentOS release 6.8 (Final)

1、下载安装包
tar xvf keepalived-1.2.2.tar.gz
cd keepalived-1.2.2
./configure --prefix=/ --with-kernel-dir=/usr/src/kernels/2.6.32-754.2.1.el6.x86_64/
make && make install
2、修改配置文件
vim /etc/keepalived/keepalived.conf
修改内容如下:
master配置文件如下:
! Configuration File for keepalived

global_defs {
   router_id redis_master     # 设置redis master的id,在一个网络应该是唯一的
}

vrrp_script chk_redis_port {
    script "/monitor/check_redis.sh"  #健康状态检查
    interval 2                        #脚本检测时间
    weight 2
}
vrrp_instance VI_1 {
    state MASTER                      #指定keepalived的角色,MASTER为主,BACKUP为备
    interface eth0                    #当前进行vrrp通讯的网络接口卡(当前centos的网卡)
    virtual_router_id 51              # 虚拟路由编号,主从要一直
    priority 100                      # 优先级,数值越大,获取处理请求的优先级越高
    advert_int 1                      # 检查间隔,默认为1s(vrrp组播周期秒数)
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
    chk_redis_port
    }
    virtual_ipaddress {
        192.168.125.200                # 定义虚拟ip(VIP),可多设,每行一个
    }
}
backup配置文件如下:
! Configuration File for keepalived

global_defs {
   router_id redis_backup
}

vrrp_script chk_redis_port {
    script "/monitor/check_redis.sh"
    interval 2
    weight 2
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
    chk_redis_port
    }
    virtual_ipaddress {
        192.168.125.200
    }
}


redis检查监本:
#!/bin/bash
name="redis-server"
if test $( pgrep -f $name | wc -l ) -eq 0
then
        /dzzb/usr/local/redis/bin/redis-server /dzzb/usr/local/conf/redis.conf
        if [ `pgrep -f $name | wc -l` -eq 0 ];then
        killall keepalived
        fi
fi


修改默认logs日志
我们只需要修改 /etc/sysconfig/keepalived 就可以了
把KEEPALIVED_OPTIONS="-D" 修改为KEEPALIVED_OPTIONS="-D -d -S 0"
最后设置syslog,修改/etc/rsyslog.conf
最后添加:
# keepalived -S 0 
local0.*                                                /var/log/keepalived.log
重新启动日志
/etc/init.d/rsyslog restart
使用以下命令进行验证
/etc/init.d/keepalived restart

 

keepalived是一种用于实现高可用性的软件,主要用于在集群中检测服务的状态,并根据检测结果进行VIP(虚拟IP)的漂移。当keepalived进程异常时,会触发VIP漂移,将VIP转移到备用节点上,以确保网站的可用性。然而,如果keepalived进程正常,但是nginx服务发生故障,就可能导致VIP不漂移,从而导致网站无法访问。为了解决这个问题,可以自己编写一个脚本来检查nginx服务的状态,如果异常,则可以通过kill掉keepalived进程来实现VIP的漂移,或者重新启动nginx服务。下面以keepalived重新启动nginx为例进行说明: 1. 首先,需要安装keepalived软件。在proxy1和proxy2两个节点上执行以下命令进行安装: ``` yum install keepalived -y ``` 2. 然后,需要在每个keepalived节点上进行配置。以proxy1节点为例,编辑keepalived的配置文件: ``` vim /etc/keepalived/keepalived.conf ``` 在配置文件中添加以下内容: ``` ! Configuration File for keepalived global_defs { router_id test111 # router_id后面的名称可以自定义 } vrrp_instance nginx_test { state MASTER interface ens33 # interface后面的名称为实际网卡名 virtual_router_id 51 priority 100 # 优先级,数值越大,优先级越高,在主备竞选时,优先级高的节点将竞选为主节点 advert_int 1 authentication { # 同一组keepalived认证 auth_type PASS auth_pass 1111 } virtual_ipaddress { # 虚拟IP,可以设置为网站的访问IP 192.168.1.100 } } ``` 保存并退出配置文件。 通过上述步骤,我们就可以实现keepalived高可用性,当nginx服务发生故障时,通过重新启动nginx服务或者kill掉keepalived进程来实现VIP的漂移,确保网站的可用性。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值