Linux系统部署从无到有---keepalived的安装以及部署

目录

第一步:先安装依赖包     

第二步:在官网下载安装包:

第三步:把安装包传上服务器,解压。

第四步:编译安装 

第五步:make && make install

第六步:创建文件夹

第七步:移动文件

第八步:启动keepalived(重点)

启动:

暂停:

重启:

查看状态 :

也可以使用这个查看keepalived启动进程

 如果改了配置

如果起不来

第九步:实现共用同一个虚拟IP

主库:

从库:

脚本:


 

直接yum安装 yum install keepalived

第一步:先安装依赖包     

yum install -y libselinux-devel openssl-devel krb5-devel 

第二步:在官网下载安装包:

Keepalived for Linuxicon-default.png?t=N2N8https://www.keepalived.org/download.html

已经有安装包了,直接用就行了

第三步:把安装包传上服务器,解压。

tar -zxvf keepalived-xxxx.tar.gz

进入解压好的keepalived,使用ls查看

 

第四步:编译安装 

./configure --prefix=/software/keepalived

 

注意:--prefix=后面的是安装地址

第五步:make && make install

//没有权限的话用sudo或者root,但我在make install 时 在/usr/lib/systemd/system下创建文件时sudo还是不够权限,所以只能用root

 

第六步:创建文件夹

先cd,到最外层,再创建文件夹mkdir /etc/keepalived 

第七步:移动文件

这边是方便或许启动,也可以不完成这一步(建议执行)

cp /software/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

第八步:启动keepalived(重点)

启动:

systemctl start keepalived.service

暂停:

systemctl stopkeepalived.service

重启:

systemctl restart keepalived.service

查看状态 :

systemctl status keepalived               #注意:使用这个退出要用:q

 

也可以使用这个查看keepalived启动进程

 ps -ef | grep keepalived

 如果改了配置

先pkill keepalived杀死进程,再重启

如果起不来

检查下网卡名称是否一致,如果不对,请修改一致

 修改后重新用命令启动。

至此安装完成

第九步:实现共用同一个虚拟IP

  1. 从服务器按照上面步骤安装一个
  2. 两个服务器先弄好主从复制,从MySQL安装文档上面来弄
  3. 修改配置文件

移动后的即/etc/keepalived

主库:

#master

global_defs {

   smtp_server 121.37.235.34 #当前主机IP

   smtp_connect_timeout 30

   router_id MYSQL-HA #表示运行keepalived服务器的一个标识

}

vrrp_script check_mysql {

    script "/usr/local/bin/check_mysql.sh"       #这个是检测脚本,当挂了之后做的事情

    interval 22

    weight 2

}

vrrp_instance VI_1 {

    state BACKUP #两台配置此处均是BACKUP,设为BACKUP将根据优先级决定主或从

    interface eth0 #绑定的网卡

    virtual_router_id 66 #虚拟路由标识,这个标识是一个数字(取值0-255之间)确保和slave相同,同网内不同集群此项必须不同,否则发生冲突。

    priority 100 #用来选举master的,(取值0-255之间),此处master上设置为100

    advert_int 1 #多久进行一次master选举(可以认为是健康查检时间间隔)

    nopreempt #不抢占,即允许一个priority比较低的节点作为master

    authentication {

        auth_type PASS #认证区域

        auth_pass 1111

    }

    track_script {

        check_mysql #指定核对的脚本,check_mysql是上述自定义的

    }

    virtual_ipaddress {

        121.37.1.100 #虚拟ip,如果master宕机,虚拟ip会自动漂移到slave上

    }

}

从库:

#slave

global_defs {

   smtp_server 121.37.243.209 #当前主机

   smtp_connect_timeout 30

   router_id MYSQL-HA #表示运行keepalived服务器的一个标识

}

vrrp_script check_mysql {

    script "/usr/local/bin/check_mysql.sh"       #对应位置创建一个脚本就行

    interval 22

    weight 2

}

vrrp_instance VI_1 {

    state BACKUP #两台配置此处均是BACKUP,设为BACKUP将根据优先级决定主或从

    interface eth0 #绑定的网卡

    virtual_router_id 66 #虚拟路由标识,这个标识是一个数字(取值0-255之间)确保和master相同,同网内不同集群此项必须不同,否则发生冲突。

    priority 90 #用来选举master的,(取值0-255之间),此处salve上设置为90

    advert_int 1 #多久进行一次master选举(可以认为是健康查检时间间隔)

    nopreempt #不抢占,即允许一个priority比较低的节点作为master

    authentication {

        auth_type PASS #认证区域

        auth_pass 1111

    }

    track_script {

        check_mysql #指定核对的脚本,check_mysql是上述自定义的

    }

    virtual_ipaddress {

        121.37.1.100 #虚拟ip

    }

}

脚本:

check_mysql.sh

网上很多,暂时不知道写什么,但是为了测试,就写杀死keepalived进程就行

#!/bin/bash

port_num=$(ss -nltp|grep -wc 3306)

if [ $port_num -eq 0 ];then

    pkill keepalived

fi

写完之后给脚本增加执行权限

chmod +x check_mysql.sh

sed -i 's/\r$//' check_mysql.sh

保存退出后重启keepalived服务:

systemctl restart keepalived

  1. 测试:

都配置完了之后,删除keepalived进程,然后启动keepalived

使用ip addr查看虚拟IP在哪个下面

主服务器:

 

看上面的2中第三行有inet 121.371.100/32,说明虚拟IP在主库下。现在看从服务器

从服务器:

 

从服务器中就没得,所以没问题(要检查进程是否启动别报错了还不知道)

异常:两个服务器都有虚拟IP,因为这个keepalived使用的是vrrp选择协议,所以防火墙要把他放开

firewall-cmd --permanent --add-protocol=vrrp

firewall-cmd --reload

之后再访问ip addr就正常了

继续测试:

关闭主服务器的数据库,然后查看keepalived的进程看看是否关闭

 

很明显使用service mysql stop关闭MySQL之后,keepalived也挂了,

这时候使用ip addr查看虚拟IP已经转移到从服务器上面了

主服务器:

 

从服务器:

 

至此完成

  1. 如果是华为云的服务器

还需要去官网配置一个虚拟IP,这个虚拟IP和上面自己配置的一样就行,绑定主从服务器即可

防火墙放开112端口

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

落雨的诗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值