MHA高可用集群的安装与配置


实现环境

1、一台CentOS7服务器做MHA管理节点,一主二从三台MySQL8.0数据库做数据节点。配置如下:

  • MHA:MHA管理节点,IP地址为192.168.8.60。
  • Master:主服务器,IP地址为192.168.8.61。
  • Slave1:从服务器,IP地址为192.168.8.62。
  • Slave2:从服务器,IP地址为192.168.8.63。

集群配置

一、安装MHA数据节点(包括管理节点在内的所有服务器均需安装数据节点)。

1、安装依赖包。MHA由perl语言编写,所以需要安装perl语言相关依赖包。

1.1、安装epel源。

MySQL

1.2、安装依赖包。

MySQL

2、解压数据节点代码压缩包。

MySQL

3、编译源代码并安装。

3.1、编译源代码。

MySQL

3.2、安装软件。

MySQL

4、查看安装结果,软件默认安装在目录/usr/local/bin中。

MySQL

二、安装MHA管理节点。

1、解压管理节点代码压缩包。

MySQL

2、编译源代码并安装。

2.1、编译预处理。

MySQL

2.2、编译源代码。

MySQL

2.3、安装软件。

MySQL

3、查看安装结果,软件默认安装在目录/usr/local/bin中。

MySQL

三、配置MHA管理节点。

1、创建MHA管理节点故障自动切换脚本。

1.1、将管理节点压缩包中的示例脚本拷贝至安装目录。

MySQL

1.2、修改示例脚本中的故障自动切换脚本文件master_ip_failover,增加图中红框内的内容,配置项含义如下:

  • $vip:自定义的集群虚拟IP。
  • $brdc:虚拟IP的广播地址。
  • $ifdev:虚拟IP绑定的网卡。
  • $ifdev:虚拟IP绑定的网卡。
  • $key:虚拟网卡的序号。
  • $ssh_start_vip:开启虚拟网卡的命令。
  • $ssh_stop_vip:关闭虚拟网卡的命令。
MySQL

2、创建MHA管理节点配置文件。

2.1、将管理节点压缩包中的示例配置文件拷贝至/etc下。

MySQL

2.2、修改配置文件,主要配置项如下:

  • user、password:监控主从集群状态的账号。
  • repl_user、repl_password:主从复制账号。
  • master_ip_failover_script:故障自动切换脚本。
  • secondary_check_script:二次检查的脚本命令。
  • [server1]、[server2]、[server3] ...:主从复制集群的节点定义,其中candidate_master表示此节点为候选主节点。
MySQL

3、在MHA管理节点上测试集群。

3.1、测试SSH的连通性,若测试结果最后为“All SSH connection tests passed successfully.”即表示连接成功。

MySQL

3.2、测试主从复制集群,若测试结果最后为“MySQL Replication Health is OK.”即表示集群状态良好。

MySQL

集群启动

1、在主从复制集群的Master主节点上开启虚拟IP。

1.1、在数据库主服务器上创建虚拟IP。

MySQL

1.2、在任意节点上通过虚拟IP登录测试虚拟IP是否生效。

MySQL

2、在MHA管理节点上启动MHA并进行测试。

2.1、启动MHA管理程序。

MySQL

2.2、查看MHA集群状态。

MySQL

集群测试

1、关闭数据库主库并查看日志,日志显示Master节点已切换。

MySQL

2、再次通过虚拟IP登录MySQL,主从集群仍能正常使用。查看新的Master节点IP可见虚拟IP已漂移至新Master节点。

MySQL

故障恢复

1、修复集群时需首先将宕掉的主机重新开启并配置为新主机的从机。步骤如下:

  • 将新主库的数据全部导出并使用参数−−source−data记录当前日志位置。
  • 将宕掉的主机重新开启,导入数据并将其配置为新主机的从机。
  • 修改MHA配置文件,将宕掉的主机信息加入并使用candidate_master选项将其设置为候选主机。
  • 启动MHA管理节点。

发表评论

评论数量:0