keepalivend部署mysql高可用

概要

        本文档基于keepalivend2.0.20与mysql8来实现,为了部署MySQL的高可用性解决方案,使用Keepalived和MySQL复制来实现。Keepalived可以确保MySQL服务在主服务器发生故障时能够自动切换到备份服务器。以下是详细的部署步骤:

        注意:在开始之前,请确保你已经安装了MySQL,并且主服务器和备份服务器上都已经配置好MySQL。

安装Keepalived

在主服务器和备份服务器上安装Keepalived。

1、在线安装

在Debian/Ubuntu上,使用以下命令安装:

sudo apt-get install keepalived

在CentOS/RHEL上,使用以下命令安装:

sudo yum install keepalived

2、下载安装

  1.  可通过官方Keepalived for Linux下载需要的版本。
    wget https://www.keepalived.org/software/keepalived-2.0.20.tar.gz 
    tar -xvf keepalived-2.0.20.tar.gz
  2. 编译 注意:如服务器已存在相关依赖可直接执行

    yum -y install libnl libnl-devel
    yum -y install GCC
    yum install openssl-devel -y
    ./configure --prefix=/data/keepalived-2.0.20/data
    make && make install
  3. 环境配置
    mkdir /etc/keepalived
    cp /data/keepalived-2.0.20/keepalived/etc/init.d/keepalived /etc/init.d/
    cp /usr/local/keepalived-2.0.20/etc/sysconfig/keepalived /etc/sysconfig/
    cp /usr/local/keepalived-2.0.20/sbin/keepalived /usr/sbin/
  4. 添加开机启动 
    chmod +x /etc/init.d/keepalived
    chkconfig --add keepalived

3、配置Keepalived

注意:自定义安装是修改已下内容

在主服务器上,keepalived.conf文件并添加以下内容:

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {
   router_id node-1 #唯一
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_script chk_haproxy {
    # 脚本位置
    script "/etc/keepalived/mysql_check.sh"
    # 脚本执行的时间间隔
    interval 3
    weight 2
}

vrrp_instance VI_1 {
    state MASTER # MASTER 表示主节点,BACKUP 表示备份节点
    interface ens192 #网卡
    nopreempt    # 非抢占模式配置添加在主节点
    virtual_router_id 51 # 虚拟路由的id,主备节点需要设置为相同
    priority 150 #优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass sinoKepp
    }
    track_script {
        chk_haproxy ## 检查 HAProxy 服务是否存活
    }
    virtual_ipaddress {
        xx.x.x.xxx dev ens192 #虚拟IP
    }
}

在备份服务器keepalived.conf文件中添加以下内容:

! Configuration File for keepalived

global_defs {
   router_id node-2 #唯一
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

vrrp_script chk_haproxy {
    # 脚本位置
    script "/etc/keepalived/mysql_check.sh"
    # 脚本执行的时间间隔
    interval 3
    weight 2
}

vrrp_instance VI_1 {
    state BACKUP #备 MASTER 表示主节点,BACKUP 表示备份节点
    interface ens192 #网卡
    virtual_router_id 51 # 虚拟路由的id,主备节点需要设置为相同
    priority 50 #优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass sinoKepp
    }
    track_script {
        chk_haproxy ## 检查 HAProxy 服务是否存活
    }
    virtual_ipaddress {
        x.x.x.xxx dev ens192 #虚拟IP
    }
}

注意:将Your_Password替换为一个安全的密码,Your_Virtual_IP替换为使用的虚拟IP地址。

4、启动Keepalived

在主服务器和备份服务器上启动Keepalived服务:

sudo systemctl start keepalived

还要确保Keepalived在系统启动时自动启动:

systemctl enable keepalived

5、查看虚拟IP

ip addr|grep xx.x.x.xxx

注意: 如主机备机都存在虚拟IP,关闭防火墙时正常。使用下述命令,本人服务器使用的防火墙为firewall

sudo firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0  --protocol vrrp -j ACCEPT
systemctl restart firewalld

小结

        以上步骤提供了一个基本的高可用性MySQL部署示例。具体的部署细节可能因你的环境和需求而有所不同。在部署前,务必备份你的数据,并在生产环境中小心谨慎地执行这些步骤。同时,你还可以考虑使用更高级的高可用性解决方案,如MHA,以提供更强大的高可用性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fashionable ape man

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值