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 11:35
下一篇 2016-11-24 12:01

相关推荐

  • 第一周作业

    1、描述计算机的组成及其功能 答:计算机主要有5大组件构成: 1) 计算器:用户数据计算,主要是指CPU 2) 控制器:用于控制数据流或者指令流,控制计算机系统的各个组件的协同工作以及信息的流动,如各种控制芯片(南桥,北桥等) 3) 存储器:用户数据的存放,如内存 4) 输入设备:如键盘,鼠标等 5) 输出设备:如显示器,外置的存储设备( 硬盘,光…

    Linux干货 2016-10-30
  • bash变量之位置参数变量

        什么是变量     变量是 bash 环境中非常重要的一个玩意儿,就是让某一个特定字串代表不固定的内容就是了,讲的更简单一点,我们可以“用一个简单的 "字眼" 来取代另一个比较复杂或者是容易变动的数据”。    &nbsp…

    Linux干货 2016-08-15
  • 查找 -数据结构

    几种查找算法:顺序查找,折半查找,分块查找,散列表 一、顺序查找的基本思想:  从表的一端开始,向另一端逐个按给定值kx 与关键码进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与kx 相同的关键码,则查找失败,给出失败信息。 说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效…

    Linux干货 2015-07-28
  • shell编程及rpm包

    1. shell编程    case 实现条件判断, 无论是case后面还是值后面都是没有任何标点符号的。    case支持通配符, 如果想要表示其他的话, 可以使用*放到最后。 用*表示其他。   2. 用tar打包的文件或则目录,这些文件或则目录的的ACL(访问控制列表)权限会丢失。…

    Linux干货 2016-08-18
  • Btrfs文件系统的管理

    BTRFS文件系统 核心特性 支持将多个底层物理设备组合成同一个设备使用,即多物理卷支持。btrfs可由多个底层物理卷组成:支持RAID,以连击“添加”、“移除”、“修改” 写时复制,在修改文件时,先将文件复制一份,然后在新文件上进行修改,最后将文件名的指针指向新文件,所以原文件还是存在的。 数据及元数据校验码:checksum 子卷:在一个卷上创建子卷,每…

    Linux干货 2016-07-16
  • CentOS启动流程及Shell脚本编程练习

    一、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 第一步:POST加电自检 主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的ROM(主要代表为CMOS)芯片上的BIOS(Basic Input/Output System)程序。 第二步:Boot Sequence(选择启动设备以加…

    2017-11-26