记录云服务器安装和配置Keepalived+mysql的步骤

安装步骤

两台机器:
192.168.0.8
192.168.0.12

192.168.0.8 执行

# 下载安装
apt-get update
apt-get install keepalived
# 查看状态
service keepalived status

在这里插入图片描述

#可以看到安装后会自动启动,但是启动失败了
#提示配置文件是空的:/etc/keepalived/keepalived.conf
#编辑配置文件
vi /etc/keepalived/keepalived.conf
global_defs {
	router_id LVS_LEVEL2	#备份服务器名称
}
vrrp_script check_run {
	script "/etc/keepalived/mysql_check.sh"
	interval 5		#5秒执行一次脚本
}
vrrp_instance VI_1 {
    state BACKUP			#备份服务器
    interface eth0			#承载VIP地址到物理接口
    virtual_router_id 51	#虚拟路由器ID号,每个热播组保持一致
    priority 50				#优先级,数值越大优先级越高
    advert_int 1			#检查间隔,默认为1s
    authentication {		#认证信息,每个热播组保持一致
        auth_type PASS      #认证类型
        auth_pass gpc		#密码字串
    }
    unicast_src_ip  192.168.0.8 # 本机ip
    unicast_peer{
        192.168.0.12 # 另外一台机器
    }
    virtual_ipaddress {
        192.168.0.110	    #VIP地址(自己想一个,但是不能和已有ip重复)
    }
    track_script {
        check_run
    }
}
virtual_server 192.168.0.110 3306 { # 在虚拟ip上转发 3306端口
delay_loop 6
lb_algo wrr
lb_kind dr
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.0.8 3306 { # 本机实际服务所在端口
    weight 1
    notify_down /etc/keepalived/mysql.sh #当mmysql停止时,执行的脚本
    TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}
}

check_run的脚本:

vi /etc/keepalived/mysql_check.sh 
#!/bin/bash
/usr/bin/mysql -uroot -e "show status" &>/dev/null 
if [ $? -ne 0 ] ;then
    systemctl stop keepalived
fi
# 添加执行权限
chmod +x /etc/keepalived/mysql_check.sh
 # 重启
 service keepalived restart
 # 查看状态
 service keepalived status
 # Active: active (running) 即完成

vi /etc/keepalived/mysql.sh 两个机器都一样

#!/bin/bash
killall -9 keepalived

192.168.0.12 执行

 apt-get update
 apt-get install keepalived
 vi /etc/keepalived/keepalived.conf
# 直接复制,无需修改
global_defs {
	router_id LVS_LEVEL1	#主服务器名称
}
 
vrrp_script check_run {
   script "/etc/keepalived/mysql_check.sh"
   interval 5				#5秒执行一次脚本
}
 
vrrp_instance VI_1 {
    state MASTER			#主服务器
    interface eth0			#承载VIP地址到物理接口
    virtual_router_id 51	#虚拟路由器ID号,每个热播组保持一致
    priority 100			#优先级,数值越大优先级越高
    advert_int 1			#检查间隔,默认为1s
    authentication {		#认证信息,每个热播组保持一致
        auth_type PASS      #认证类型
        auth_pass gpc		#密码字串
    }
    unicast_src_ip  192.168.0.12
    unicast_peer{
        192.168.0.8
    }
    virtual_ipaddress {
        192.168.0.110		#VIP地址(内网地址,跟另一个设置的一样)
    }
    track_script {
        check_run
    }
}
virtual_server 192.168.0.110 3306 { # 在虚拟ip上转发 3306端口
delay_loop 6
lb_algo wrr
lb_kind dr
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 192.168.0.12 3306 { # 本机实际服务所在端口
    weight 1
    notify_down /etc/keepalived/mysql.sh #当mmysql停止时,执行的脚本
    TCP_CHECK {
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}
}

vi /etc/keepalived/mysql_check.sh

#!/bin/bash
# 直接复制,无需修改
/usr/bin/mysql -uroot -e "show status" &>/dev/null 
if [ $? -ne 0 ] ;then
    systemctl stop keepalived
fi
# 添加执行权限
chmod +x /etc/keepalived/mysql_check.sh
 # 重启
 service keepalived restart
 # 查看状态
 service keepalived status
 # Active: active (running) 即完成

验证

在任何一台机器上执行
mysql -u 192.168.0.110 -u root -p

云主机需要额外操作:

  1. 如果两台机器都是云服务器,如火山云、腾讯云、阿里云等,可能需要额外在云服务商的控制台配置,不知道的可提工单问问。
  2. 需要配置现象:完成上面所有配置后,可vip漂移,vip所在的器能ping通、另一个机器无法ping通。查看虚拟ip发现只绑定到主机器。
  3. 直接搜 类似于 ‘高可用虚拟IP’,可能需要开通,具体可提工单请求帮助。
  4. 配置:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    验证:
  5. a,b两台机器都可ping通设置的虚拟ip(局域网内其他机器也可ping通)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值