corosync+pacemaker对mariadb实现高可用


corosync+pacemaker对mariadb实现高可用


利用nfs共享存储,导出一个目录作为mariadb的数据目录,然后利用corosync+pacemaker对mariadb进行高可用

1、实验环境

corosync+pacemaker对mariadb实现高可用

2、实验前的分析

  • 利用nfs导出目录作为mariadb的共享目录,要确保各个mariadb节点对该目录具有写权限,也就是要确保nfs服务器上有一个UID与各个节点上运行mariadb的用户的UID一致的用户,该用户对nfs导出的目录有写权限;且nfs导出共享目录时,权限为rw

  • 要对mariadb服务高可用,构成mariadb服务的高可用的资源有:访问mariadb服务的IP地址、mariadb服务自身、mariadb的数据目录(也就是nfs导出的文件系统)

  • 对应的构成mariadb服务的资源使用到的资源代理有:ocf资源代理类型下heartbeat提供者提供的IPaddr2资源代理,systemd资源代理类型的mariadb,ocf资源代理类型下heartbeat提供者提供的Filesystem资源代理

  • 考虑三个资源之间的约束关系,三个资源必须要同时运行在某一节点上,且三个资源的启动顺序应该为IP地址先启动,然后挂载nfs的文件系统,最后启动mariadb服务,因此对应的资源约束为:位置约束(location)无需特别定义,也就是资源运行在那个节点上都可以;排列约束(colocation)需要定义将三个资源运行在一起的分数为inf,以保证三个资源同时运行在一起;顺序约束(order)需要定义先启动IP、再启动nfs挂载、最后启动mariadb服务

  • 定义资源时,需要对资源进行监控,一般IP地址不易发生变化,因此主要对nfs挂载文件系统和mariadb服务进行监控

3、实验的网络环境配置

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

4、进行高可用实验前的准备工作

  • node68上部署ansible管理端,实现对部分操作的批量管理
    corosync+pacemaker对mariadb实现高可用
    corosync+pacemaker对mariadb实现高可用
    corosync+pacemaker对mariadb实现高可用

  • 各个高可用集群节点之间时间同步
    corosync+pacemaker对mariadb实现高可用
    corosync+pacemaker对mariadb实现高可用

  • 各个集群节点之间的名称解析的主机名和实际主机名保持一致
    corosync+pacemaker对mariadb实现高可用
    corosync+pacemaker对mariadb实现高可用
    corosync+pacemaker对mariadb实现高可用

  • 各个集群节点之间可基于SSH秘钥方式进行通信(对corosync+pacemaker高可用集群非必须)
    corosync+pacemaker对mariadb实现高可用

  • 各个节点之间确保iptables和selinux不会阻碍实验正常进行
    corosync+pacemaker对mariadb实现高可用

5、各个集群节点上部署mariadb服务

corosync+pacemaker对mariadb实现高可用

6、nfs服务器的配置

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

7、修改各个集群节点上的mariadb的配置文件,让其数据目录指向用于挂载nfs导出的文件系统的目录

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

8、在没有高可用的情况下,在某节点测试mariadb是否正常

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

9、在各个集群节点上部署corosync+pacemaker,并对corosync进行配置,启动corosync和pacemaker

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

10、在集群某个节点上安装crmsh程序,利用crm程序对pacemaker进行管理

对集群的操作只需要在某个集群节点上配置,因为集群的DC会将配置信息自动同步到其他各个节点上;因此只需要在一个集群节点上安装crmsh即可
本实验采用在各个集群节点上都安装,以方便查看测试

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

11、定义IP地址资源

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

12、定义文件系统资源

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

13、定义mariadb服务资源

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

14、利用资源组实现各个资源之间运行在一起的配置示例

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

15、利用colocation排列约束定义各个资源运行在一起的配置示例

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

16、定义三个资源之间的order顺序约束,对三个资源的启动顺序进行定义

corosync+pacemaker对mariadb实现高可用

17、测试高可用服务是否配置成功

corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用
corosync+pacemaker对mariadb实现高可用

原创文章,作者:M20-1倪文超,如若转载,请注明出处:http://www.178linux.com/60636

(0)
M20-1倪文超M20-1倪文超
上一篇 2016-11-24
下一篇 2016-11-24

相关推荐

  • grep

    1. 文本处理工具的使用:   cat 连接文件并打印到标准输出设备,但是文件较大时,翻屏太快,与more或者less连用 命令反着输入(tac)将会反向输出文本文件 用法: cat 选项 参数   选项: -A 显示不可打印字符 -b 对行进行编号,空白行不编号 -s 压缩空白行 -n 对行进行编号,包括空白航  参数: &n…

    Linux干货 2016-08-08
  • 马哥教育网络21期+第一周练习博客

    一、描述计算机的组成及其功能。   计算机设备是由运算器、控制器、存储器、输入设备和输出设备组成。它们的功能和对应设备分别如下: 运算器(arithmetic unit):在计算机中执行各种算术和逻辑运算操作的部件。运算器包括寄存器、执行部件和控制电路3个部      &nbsp…

    Linux干货 2016-07-12
  • 3rd work

    1、列出当前系统上所有已经登陆的用户名,注意同一个用户登陆多次,则只显示一次即可。 [root@localhost ~]# w 11:50:45 up 24 min,  3 users,  load average: 0.04, 0.04, 0.10 USER     TTY      FROM             LOGIN@   IDLE   JCP…

    Linux干货 2017-10-08
  • centos6启动故障及修复

    前言 前文中我们熟悉了linux的启动流程,如果在启动过程中文件丢失或者损坏了怎么办呢?难道只有重装系统这一条路吗?那我们不是成了普通网管了吗?作为专业的运维工程师,我们需要掌握如何快速修复系统启动。 实验1: 破坏/boot/grup/下的文件——-stage2 阶段  不影响启动  mv /boot/grub …

    2017-09-03
  • httpd 基础

      http(1) 开启httpd服务,注意selinux 和防火墙设置。出现错误查看系统日志和http错误日志。 进程间通信:IPC socket:套接字 IP:PORT Client <–> Server     Server: listen  &nb…

    Linux干货 2016-11-01