keepalived部署

一、背景

因为有两台Mysql服务器,为了防止客户端连接数据库的情况下数据库down了,就是用Keepliaved来做vip飘移

node111.0.1.100
node211.0.1.101
vip11.0.1.102
系统版本redhat7.6
keepalived版本2.2.2

二、部署

1.配置防火墙

在开启防火墙的状态下,需要防火墙放过vrrp协议,否则两台机器无法感知对方状态,会在双方都配置上vip,引发错误

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
firewall-cmd --reload
2.二进制安装keepalived软件

此处以11.0.1.100步骤演示,11.0.1.101安装步骤相同

2.1  上传keepalived-2.2.2.tar.gz 至10.12.1.204/root路径下

2.2  解压keepalived-2.2.2.tar.gz

cd /root
tar –xf keepalived-2.2.2.tar.gz

2.3  安装依赖包

yum install -y openssl openssl-devel psmisc(openssl为配置keepalived依赖,psmisc为下文killall指令软件包)

2.4  configure配置keepalive并检查是否配置成功

cd keepalived-2.2.2
./configure --prefix=/usr/local/keepalived --sysconf=/etc
echo $? #检查配置是否成功,成功输出值为0,失败为非0

2.5  编译并检查是否成功

make && make install #检查配置是否成功,成功输出值为0,失败为非0
echo $? #检查配置是否成功,成功输出值为0,失败为非0

3.keepalived配置
11.0.1.100主节点
11.0.1.101备节点
11.0.1.102

vip节点

3.1  主节点配置文件

profile: /etc/keepalived/keepalived.conf

! Configuration File for keepalived

#全局定义模块
global_defs {

   #表示运行Keepalived服务器的一个标识
   router_id LVS_DEVEL2  
   
   #默认是不跳过检查。检查收到的 VRRP  通告中的所有地址可能会比较耗时,设置此命令的意思是,如果通告与接收的上一个通告来自相同的 master 路由器,则不执行检查(跳过检查)。
   vrrp_skip_check_adv_addr  

   #严格遵守 VRRP 协议。下列情况将会阻止启动 Keepalived:1. 没有 VIP 地址。2. 单播邻居。3. 在 VRRP 版本 2 中有 IPv6 地址。
   #vrrp_strict // 需要注释

   #在一个接口发送的两个免费 ARP 之间的延迟
   vrrp_garp_interval 0

   #一个网卡上每组na消息之间的延迟时间,默认为0
   vrrp_gna_interval 0
}

#检查模块
vrrp_script check_nginx {

    #检查mysqld是否存活
    script "/usr/bin/killall -0 mysqld"
    interval 1
    weight -30
    fall 3
    rise 5
    timeout 2
}

#vrrp 实例定义模块
vrrp_instance VI_1 {
    #master节点
    state MASTER

    #物理网卡
    interface ens192

    #虚拟路由id,主备必须相同(在同一网段有多套keepalived时,virtual_router_id不要相同)
    virtual_router_id 56

    #节点优先级,数字越大表示节点的优先级就越高(抢占模式priority相同的话,则不会发生抢占)
    priority 100

    #设置主备节点间vrrp通告状态的时间间隔
    advert_int 1

   # nopreempt  // 不能设置非抢占模式,一旦设置之后,该机器不会去抢占另一台机器的ip,该模式不能应用在master节点上
    authentication {
        #指定认证方式
        auth_type PASS

        #指定认证所使用的密码(在同一网段有多套keepalived时,auth_pass不要相同)
        auth_pass 3456
    }

    #虚拟ip地址
    virtual_ipaddress {
        11.0.1.102/24 dev ens192
    }
    track_script {
        check_nginx
    }
}
3.2  备节点配置文件

profile: /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {
   router_id LVS_DEVEL2
   vrrp_skip_check_adv_addr  
   #vrrp_strict // 需要注释
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_script check_nginx {
    #检查mysqld是否存活
    script "/usr/bin/killall -0 mysqld"
    interval 1
    weight -30
    fall 3
    rise 5
    timeout 2
}

vrrp_instance VI_1 {
    state BACKUP
    interface ens192
    #虚拟路由id,主备必须相同
    virtual_router_id 56

    #备节点80
    priority 80
    advert_int 1

   # nopreempt  // 不能设置非抢占模式,一旦设置之后,该机器不会去抢占另一台机器的ip,该模式不能应用在master节点上
   # preempt_delay 5
    authentication {
        auth_type PASS
        auth_pass 3456
    }
    
    virtual_ipaddress {
        11.0.1.102/24 dev ens192
    }

    track_script {
        check_nginx
    }
}
4.服务启动

此处以11.0.1.100步骤演示,11.0.1.101安装步骤相同

4.1  首次启动命令
/usr/local/keepalived/sbin/keepalived -D -f /etc/keepalived/keepalived.conf

4.2  加入开机自启动,并注册为systemd服务
chkconfig keepalived on

4.3  停止keepalived二进制启动进程
pkill keepalived

4.4  更新systemd服务
systemctl daemon-reload
4.5  以systemd方式启动keepalived服务
systemctl start keepalived

  • 18
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LVS(Linux Virtual Server)是一个开源的高性能、可扩展的网络负载均衡软件,而keepalived是一个基于VRRP协议实现的高可用性解决方案。它们结合使用可以实现高可用的负载均衡服务。 以下是LVS+keepalived部署过程: 1. 安装LVS 在LVS的主机上安装LVS软件,可以使用以下命令: ``` yum install ipvsadm -y ``` 2. 配置LVS 配置LVS的主要步骤如下: (1)配置LVS虚拟服务器 在LVS主机上创建一个虚拟服务器(Virtual Server),可以使用以下命令: ``` ipvsadm -A -t VIP:PORT -s sh ``` 其中,VIP是虚拟IP地址,PORT是虚拟端口号。 (2)向LVS虚拟服务器添加真实服务器 将真实服务器添加到LVS虚拟服务器中,可以使用以下命令: ``` ipvsadm -a -t VIP:PORT -r REAL_SERVER_IP:PORT -g ``` 其中,REAL_SERVER_IP是真实服务器的IP地址,PORT是真实服务器的端口号。 (3)配置LVS调度算法 LVS支持多种调度算法,如轮询(Round Robin)、加权轮询(Weighted Round Robin)、最少连接数(Least Connections)等。可以使用以下命令配置LVS调度算法: ``` ipvsadm -E -t VIP:PORT -s SCHEDULER_NAME ``` 其中,SCHEDULER_NAME是调度算法的名称。 (4)保存LVS配置 在LVS主机上保存LVS配置,可以使用以下命令: ``` ipvsadm-save > /etc/sysconfig/ipvsadm ``` 3. 配置keepalived 配置keepalived的主要步骤如下: (1)安装keepalived 在LVS主机上安装keepalived软件,可以使用以下命令: ``` yum install keepalived -y ``` (2)配置keepalived 在LVS主机上创建keepalived配置文件/etc/keepalived/keepalived.conf,配置文件的内容如下: ``` global_defs { router_id LVS_DEMO } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { VIP/24 dev eth0 } } ``` 其中,VIP是虚拟IP地址。 (3)启动keepalived 使用以下命令启动keepalived服务: ``` systemctl start keepalived ``` 4. 测试LVS+keepalived 在浏览器中输入VIP地址和端口号,如果能够正常访问真实服务器,则LVS+keepalived部署成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值