keepalived与mysql搭建VIP漂移

简介:

Keepalived 是一款用于实现高可用性和负载均衡的开源软件,它运行在 Linux 系统上,可以将多个服务器节点组合成一个虚拟服务器,通过 IP 地址漂移技术实现故障转移和负载均衡。

Keepalived 支持 VRRP(虚拟路由冗余协议)和 LVS(Linux 虚拟服务器)两种模式,可以根据实际需求选择使用。VRRP 模式可以实现在多个节点之间自动切换 VIP(虚拟 IP)地址,确保在某个节点故障时,其他节点可以接管服务并保证服务的连续性。而 LVS 模式则可以在多个节点之间分配流量,实现负载均衡。

除了实现高可用性和负载均衡外,Keepalived 还提供了丰富的配置选项和插件机制,可以通过插件实现对各种服务的监控和管理,例如对 MySQL、Nginx、Apache 等服务的监控和自动重启。同时,Keepalived 还支持邮件和 SNMP 报警机制,可以及时通知管理员服务的状态和异常。

总的来说,Keepalived 是一款功能强大的高可用性和负载均衡软件,它简单易用,支持定制化配置,可以帮助企业提高服务的可用性和稳定性。

一、部署环境

mysql版本:5.7.27
系统:centos7
主从架构:一主两从
192.168.2.31主库
192.168.2.32从库
192.168.2.33从库
CPU:1核
内存:1G
软件包:keepalived-1.4.5.tar.gz
keepalived下载地址:https://www.keepalived.org/download.html

二、软件包下载跟上传

找到对应的版本下载完了,上传到机器上
在这里插入图片描述
在这里插入图片描述

三、安装keepalived

yum install -y openssl-devel											#在Linux系统上安装OpenSSL开发库,用于支持keepalived的加密功能。
tar xf keepalived-1.4.5.tar.gz											#解压缩keepalived-1.4.5.tar.gz文件
cd keepalived-1.4.5														#进入解压缩后的keepalived-1.4.5目录

在这里插入图片描述
我这里之前安装过openssl-devel,所以会出现 Nothing to do

./configure --prefix=/usr/local/keepalived					#运行configure脚本来配置keepalived的编译和安装选项。其中,--prefix选项指定keepalived的安装路径为/usr/local/keepalived。
make -j 12 && make install									#编译和安装keepalived。其中,-j 12选项指定同时运行12个编译任务,以加快编译速度。

在这里插入图片描述

这些报no的不用管,继续往下执行就可以

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/		#将keepalived的默认配置文件复制到/etc/sysconfig/目录下,以便对其进行修改。
cp -r /usr/local/keepalived/etc/keepalived /etc/						#将keepalived的默认配置文件目录复制到/etc/目录下,以便对其进行修改。
ln -sv /usr/local/keepalived/sbin/keepalived /usr/sbin/					#创建一个指向/usr/local/keepalived/sbin/keepalived可执行文件的符号链接,链接到/usr/sbin/目录下。这样,就可以在任何位置使用keepalived命令。
ln -sv /usr/local/keepalived/bin/genhash /usr/bin/						#创建一个指向/usr/local/keepalived/bin/genhash可执行文件的符号链接,链接到/usr/bin/目录下。这个命令是为了方便生成密码文件。
cp keepalived/etc/init.d/keepalived /etc/init.d/						#将keepalived的启动脚本复制到/etc/init.d/目录下,并可通过service命令来启动、停止和重启keepalived服务。

在这里插入图片描述

注意,三台mysql实例机器都需要安装keepalived。

这个时候keepalived就安装完成了,可以看到/etc/keepalived/这个目录下面keepalived.conf这个配置文件,接下面就需要把这个配置文件里面的内容进行更改

四、更改配置文件,启动keepalived

vim /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 192.168.200.1smtp_connect_timeout 30router_id LVS_DEVEL
}vrrp_instance VI_1 {state MASTERinterface ens33											#指定此实例使用的网络接口名称virtual_router_id 51priority 100											#(权重值)指定此节点的优先级值,该值决定了节点在VRRP组中的角色,数字越大,节点的优先级越高,成为MASTER节点的可能性就越大。advert_int 1authentication {auth_type PASSauth_pass ceshi										#指定用于认证VRRP消息的密码}unicast_src_ip  192.168.2.31							#主库unicast_peer {192.168.2.32									#从库192.168.2.33									#从库}virtual_ipaddress {192.168.2.34										#VIP(虚拟ip)}
}

这里要注意一点就是priority=100这个值,三台机器要配置的不一样,主库最大,剩下的两台机器哪个配置好哪个就配置的大点,好在主库宕机后接替主库
192.168.2.32 priority 98
192.168.2.33 priority 95

配置文档直接复制就可以用,之前默认的配置文件里面的内容可以删掉。

启动keepalived

/etc/init.d/keepalived start
hostname -I
ip a

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三台实例机器的keepalived都得启动

五、测试VIP漂移

切换思路:先把主库192.168.2.31上的keepalived停掉,看看vip会不会切换
在这里插入图片描述
在这里插入图片描述
然后发现vip切换到了192.168.2.32上,因为192.168.2.32的权重值配的是98,比192.168.2.33配的95高,所以VIP会飘移到192.168.2.32
在这里插入图片描述
当在192.168.2.31上再启动动keepalived,然后会发现vip又漂移了回来,因为192.168.2.31上的权重值是100,是最高的


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部