我的编程空间,编程开发者的网络收藏夹
学习永远不晚

高可用keepalived实例

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

高可用keepalived实例

高可用keepalived实例

主从数据库服务器的数据会最终一致(因为mysql复制是异步的,总会存在延迟),看似解决了单点问题,然而该方案并不完美。因为一旦主服务器宕机,必须手动把读写连接切换到原来的从服务器上,而这个过程需要时间,短则几分钟,长则数小时,这期间服务会出于瘫痪状态。


怎样在master宕机后,自动切换数据库连接呢?

        最简单的是使用虚拟ip:

                高可用keepalived实例

                高可用keepalived实例

                这里用另外一种方式keepalived:

                        高可用keepalived实例

                        高可用keepalived实例

                        (要注意同一时间只有一个主对外提供服务,另一个处于只读状态)

                        高可用keepalived实例

                        配置:

                                高可用keepalived实例

                                (指定id增长步长为2,自增id从1开始增长,于是主库上的id增长就是1、3、5、7、9...  注意,这参数修改是针对整个mysql服务器全局的,而不是针对某个表某个库的,也就是说,一旦修改后,该服务器下所有库表的值都是按照这种方式增加的

                                高可用keepalived实例

                                (指定id增长步长为2,自增id从2开始增长,于是主库上的id增长就是2、4、6、8、10...  注意,这参数修改是针对整个mysql服务器全局的,而不是针对某个表某个库的,也就是说,一旦修改后,该服务器下所有库表的值都是按照这种方式增加的

                                (经过上述设置,主备之间的主键id增长就不会产生冲突了)

                        (前面说过innodb的主键最好采用自增id的列,而在主主复制中为了避免两个组同时写所带来的主键冲突,我们需要修改自增主键的配置使两个自增主键按照不同的步长值来增长,当然这是为了以防万一才采取的配置,当我们使用主主复制时,最安全的方式还是要保障在任意时间均只有一个作为主提供服务,而另一个主只提供只读)

                        接下来还要安装keepalived组件(它可以将两个设备虚拟成一个设备,对外提供一个虚拟ip,也就是vip):

                                高可用keepalived实例

                                (注意:在互为主从的两台设备上都要安装keepalived)

                                高可用keepalived实例

                                

                                最好情况是把主从复制改为主主复制,先完成主主复制配置:

                                        先修改主服务器上的配置vi /etc/my.cnf:

                                                高可用keepalived实例

                                                (由于这俩是动态参数,不需要重启mysql)

                                                并且在mysql客户端设置:

                                                高可用keepalived实例

                                                退出当前mysql客户端,再进入查看:

                                                高可用keepalived实例

                                        修改从服务器上的配置vi /etc/my.cnf:

                                                高可用keepalived实例

                                                (由于这俩是动态参数,不需要重启mysql)

                                                并且在mysql客户端设置:

                                                高可用keepalived实例

                                                检查从服务器的账号:

                                                高可用keepalived实例

                                                (dba_repl账号在从服务器也是存在的)

                                                由于从服务器出于read_only状态,没有写,所以不用再重新初始化数据了,因为它的数据和主上是完全一致的,因为它没有任何写操作:

                                                高可用keepalived实例

                                                查看从服务器上的点:

                                                高可用keepalived实例

                                        在主上change master(主当从,从当主):

                                                高可用keepalived实例

                                                (将master的主服务器设置为原来的从服务器)

                                                启动复制链路(原来的主服务器,现在也是从服务器):

                                                高可用keepalived实例

                                                查看:

                                                高可用keepalived实例

                                

                                安装keepalived:

                                        在两台服务器上都进行安装:yum install keepalived -y

                                        查看两台config文件:

                                        高可用keepalived实例

                                        高可用keepalived实例

                                        高可用keepalived实例

                                        高可用keepalived实例

                                        (一定要保障check_mysql.sh脚本有执行权限,两台都是)

                                        启动两台服务器的keepalived:

                                        高可用keepalived实例

                                        查看虚拟ip:

                                        高可用keepalived实例

                                        (可能需要几秒钟才产生)

                                        关掉主服务器的mysql:

                                        高可用keepalived实例

                                        同时主的keepalived也会自动kill,已释放虚拟ip(vip),它的虚拟ip也会消失:

                                        高可用keepalived实例

                                        而从服务器上有:

                                        高可用keepalived实例

                                        (至此,宕机下的无缝切换完成)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

高可用keepalived实例

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Keepalived如何实现Nginx高可用

这篇文章主要介绍了Keepalived如何实现Nginx高可用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

Ubuntu搭建Mysql+Keepalived高可用如何实现

这篇文章将为大家详细讲解有关Ubuntu搭建Mysql+Keepalived高可用如何实现,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Mysql5.5双机热备实现方案安装两台Mysql安装Mysql5.
2023-06-21

怎么用Keepalived+HAProxy高可用集群K8S实现

今天小编给大家分享一下怎么用Keepalived+HAProxy高可用集群K8S实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
2023-06-29

编程热搜

目录