corosync +drbd实现HA MariaDB

实验环境:

两台mariaDB服务器 172.16.10.20 172.16.10.21

fip:172.16.10.28

MariaDB文件存储共享:172.16.10.22

实验准备:

1、两个节点的主机名称和对应的IP地址解析服务可以正常工作,且每个节点的主机名称需要跟"uname -n“命令的结果保持一致

  vim /etc/hosts
     172.16.10.20 21.xuphoto.com 20xu
     172.16.10.21 22.xuphoto.com 21xu
     Node1:
     # sed -i ‘[email protected]\(HOSTNAME=\).*@\[email protected]‘
     # hostname 21.xuphoto.com
     Node2:
     # sed -i ‘[email protected]\(HOSTNAME=\).*@\[email protected]‘
     # hostname 22.xuphoto.com

2、各节点时间保持一致可添加统一NTP服务器同步任务:

 crontab -e 
     */3 * * * * /usr/sbin/ntpdate 172.16.0.1 &>/dev/null


3、 各节点间可基于密钥验证SSH而无需密码

     ssh-keygen -t rsa 
        ssh-copy-id-i [email protected] 
       # node1 节点  
        ssh-keygen -t rsa 
        ssh-copy-id-i [email protected]
       # node1 节点

4、 配置安装 corosync/pacemaker

        yum install corosync pacemaker -y

5、配置安装drbd

1、提供磁盘空间(2个节点空间大小相同)

fdisk /dev/sda   #创建一个5G主分区

2、安装

rpm -ivh kmod-drbd84-8.4.5-504.1.el6.x86_64.rpm  drbd84-utils-8.9.1-1.el6.elrepo.x86_64.rpm

3、通用文件

/etc/drbd.d/global_common.conf

#usage-count
no;
 disk {
                on-io-error     detach;
net {
                cram-hmac-alg "sha1";   #设置密码算法
                shared-secret"UM+B1fJXTqcl14ldvkZ/3Q"# 设置密钥
 

syncer {
 
rate 500M; #设置传输速率
 }

4、创建资源文件 /etc/drbd.d/mysqlnf.res

resource mysqlnfs {
        device /dev/drbd0;
        disk /dev/sda4;
        meta-disk       internal;
        on 20.xuphoto.com {
        address 172.16.10.20:7789;  #
}
        on 21.xuphoto.com {
                address 172.16.10.21:7789;
}

4、复制配置文件到另外一个服务器;

   scp web.res global_common.conf 21xu:/etc/drbd.d/

5、初始化资源;

#drbdadm
create-md  WEB

6、两个节点都启服务

       service drbd start ;ssh 21xu ‘service drbd start‘

7、查看状态

cat
/proc/drbd

8、设置主节点

# drbdadm primary--force resource

使用crm定义规则

crm(live)configure#property no-quorum-policy=ignore  #定义全局属性
crm(live)configure#property stonith-enabled=false    #定义全局属性
crm(live)configure#primitive myip ocf:heartbeat:IPaddr params ip=172.16.10.28 nic=eth0cidr_netmask=16 op monitor interval=20 timeout=20  #定义fip=172.16.10.28
crm(live)#primitive mystor ocf:linbit:drbd params drbd_resource=mysqlfs op monitorrole=Master interval=10s timeout=20 op monitor role=Slave interval=20 timeout=20op start timeout=240 op stop timeout=100 #定义drbd 主资源
crm(live)configure# ms ms_mystor mystor meta clone-max=2 clone-node-max=1 master-max=1master-node-max=1 notify=true  # 定义主资源克隆属性
crm(live)configure# primitive  mydata ocf:heartbeat:Filesystem params device=’dev/drbd0’ directory=’/mydata ’fstype=’ext4’op monitor interval=20s  timeout=20s opstart timeout=60s op stop timeout=60s   #定义挂载点
crm(live)configure#primitive mysql lsb:mysqld op monitor interval=20 timeout=20 #定义mysql资源
crm(live)#colocation mydata_with_ms_mystor_master inf: mydata ms_mystor:Master #定义排列约束 挂载点与drbd master 必须在一起
crm(live)configure#colocation mysql_with_mydata inf: mysql mydata  #定义mysql和文件挂载点必须在一起
crm(live)configure#colocation myip_with_mystor_master inf: myip ms_mystor:Master #定义FIP必须和drbd主资源在一起
ordermydata_after_mystor Mandatory: ms_mystor:promote mydata:start #定义顺序约束 当drbd切换到Master时才挂载文件系统
ordermysql_after_mydata Mandatory: mydata:start mysql:start  #定义顺序约束,文件系统挂载完成后mysql才启动

时间: 2024-12-19 11:54:37

corosync +drbd实现HA MariaDB的相关文章

corosync(pacemaker) + drbd 实现 HA Mariadb

实验环境     OS: CentOS 6.6      soft:         crmsh-2.1-1.6.x86_64.rpm         drbd84-utils-8.9.1-1.el6.elrepo.x86_64.rpm         kmod-drbd84-8.4.5-504.1.el6.x86_64.rpm         pssh-debuginfo-2.3.1-2.el6.x86_64.rpm     node1:         hostname:node1.1inu

corosync结合drbd实现HA mysql service

本文将介绍如何利用corosync和pacemaker结合drbd,构建一个高可用的mysql集群服务.在正式介绍之前,我们要先对drbd有一个基本的了解:什么是drbd.为何要使用drbd构建mysql.其优势何在? DRBD 分布式磁盘块设备 跨主机的块设备镜像系统,基于网络实现数据镜像,是工作于内核的软件 用户空间管理工具:drbdadm, drbdsetup, drbdmeta 工作特性:实时.透明.同步或异步 drbd工作原理图 用户空间的应用程序存储数据时本来是直接向内核发起系统调用

corosync+drbd实现mariadb高可用集群

配置前的准备 (1)节点间时间必须同步:使用ntp协议实现: [[email protected] ~]# ntpdate 172.16.0.1       #172.16.0.1是我这里的时间服务器 [[email protected] ~]# ntpdate 172.16.0.1 (2) 节点间需要通过主机名互相通信,必须解析主机至IP地址: (a)建议名称解析功能使用hosts文件来实现: (b)通信中使用的名字与节点名字必须保持一致:"uname -n"命令,或"ho

corosync+drbd+mysql实现的高可用

要求: 一.能够在同一网段内直接通信 二.节点名称,要和uname的结果一样,并保证可以根据节点名称解析到节点的IP地址,配置本地/etc/hosts 三.SSH互信通信 四.保证时间同步 环境准备配置: test1,192.168.10.55配置 1.配置IP地址 [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 2.配置主机名 [[email protected] ~]# uname -n [[email

CoroSync + Drbd + MySQL 实现MySQL的高可用集群

Corosync + DRBD + MySQL 构建高可用MySQL集群 节点规划: node1.huhu.com172.16.100.103 node2.huhu.com172.16.100.104 资源名称规划 资源名称:可以是除了空白字符外的任意ACSII码字符 DRBD设备:在双节点上,此DRBD设备文件,一般为/dev/drbdN,主设备号147 磁盘:在双方节点上,各自提供存储设备 网络配置:双方数据同步所使用的网络属性 DRBD从Linux内核2.6.33起已经整合进内核 1.配置

Corosync Pacemaker 高可用 Mariadb

1.安装前准备  高可用集群一般需要配置时间同步.基于主机名互相通信.ssh的互信通信,Corosync Pacemaker 仅需要配置时间同步.基于主机名互相通信即可: yum install chrony          #安装chrony vim /etc/chrony.conf      server172.16.0.1 iburst  #设置为可用的ntp服务器 systemctl restart chronyd     #启动服务 vim /etc/hosts           

pacemaker+corosync+drbd实现自动故障转移集群

1,两台cenots7.0服务器,我是用KVM虚拟机搭建的. 2,互相解析hosts文件 3,关闭iptables和selinux,ssh开启 4,配置yum源,安装pacemaker,corosync,drbd 5,配置drbd,选择procoto C ,复制模式,验证结果 6,配置corosync,基于crm管理VIP,FSsystem,DRBD块设备 7,验证结果,能否发生故障自动切换. 1,drbdAA  eth0 9.111.222.59  eth1 192.168.100.59 dr

corosync + drbd + mysql集群

规划: vip:192.168.1.254 rs1:192.168.1.215 rs2:192.168.1.216 一.主机绑定 (rs2相同) [[email protected] ~]# cat /etc/hosts   192.168.1.215 rs1.china-kody.com rs1 192.168.1.216 rs2.china-kody.com rs2 二.配置双机互信(rs2相同) [[email protected] ~]# ssh-key -t rsa -P '' -f 

mysql双主环境搭建corosync+drbd+mysql

一.搭建环境 2台虚拟机 操作系统centos6.3 二.ip地址规划 node1   172.30.82.45 node2      172.30.82.58 VIP        172.30.82.61 三.注意: 1.设置各个节点间的时间同步,ntpdate 172.30.82.254 &>/dev/null 2.基于hosts文件实现能够互相用主机名访问,修改/etc/hosts文件 172.30.82.45node1 172.30.82.58node2 node1上执行: ssh