MySQL+Heartbeat+DRBD构建高可用MySQL环境

Distributed Replicated Block Device(DRBD)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回)DBRD的核心功能通过Linux的内核实现,最接近系统的IO栈,但它不能神奇地添加上层的功能比如检测到EXT3文件系统的崩溃。DBRD的位置处于文件系统以下,比文件系统更加靠近操作系统内核及IO栈。

实验环境:
主 192.168.43.128 drbd-M  CentOS 5.4 64bit
从 192.168.43.129 drbd-S    CentOS5.4 64bit
准备工作:
Vim /etc/hosts
192.168.43.129 drbd-M
192.168.43.130 drbd-S
修改hostname名,
主:hostname drbd-M
从:hostname drbd-S
确保与uname -n输出一致。PS:很重要,后面的drbd和heartbeat都要依赖于主机名来通信。
搭建环境,采用yum安装:

# yum install -y drbd83 kmod-drbd83  

# yum search heartbeat*  

heartbeat所需的安装包主要有以下几个:  

heartbeat-devel-2.1.3-3.el5.centos  

heartbeat-stonith-2.1.3-3.el5.centos  

heartbeat-gui-2.1.3-3.el5.centos  

heartbeat-ldirectord-2.1.3-3.el5.centos  

heartbeat-pils-2.1.3-3.el5.centos  

heartbeat-2.1.3-3.el5.centos 

一 DRBD的安装使用

加载安装drbd模块:

# modprobe drbd

检查是否加载成功:

# modprobe drbd

drbd                  277272  2

PS:一般使用yum安装的话系统会自动加载的,此步可以跳过,如果使用源码包编译就一定要记得这一步。

添加一块硬盘,存放数据,主从服务器的硬盘大小可以不一致,但是如果数据超过小的硬盘,后果自己考虑吧!这里添加的是一块2G的硬盘,设备名称为/dev/sdb2,注意先别急着格式化。

开始drbd的配置:

drbd主配置文件,很重要:

global {  

 

common {  

syncer { rate 100M; }    //设置两个节点间的同步速率;  

 

resource db {  

protocol C;     //定义当数据被写入块设备时候的一致性级别(数据同步协议),A、B、C三个级别,C为数据被确认写到本地磁盘和远程磁盘后返回,确认成功  

startup { wfc-timeout 0; degr-wfc-timeout 120; } 

disk { on-io-error detach; } 

syncer { rate 100M; } 

 

on drbd-M {  //节点名称一定要与hostname保持一致; 

  device /dev/drbd0;     //创建的虚拟磁盘 

  disk   /dev/sdb2;      //物理分区 

  address 192.168.43.129:7788;    //监听端口 

  meta-disk internal;         //局域网类型 

 

 

on drbd-S { 

   device /dev/drbd0; 

   disk   /dev/sdb2; 

   address 192.168.43.130:7788; 

   meta-disk internal; 

  

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/3db511b12f14e568ef4a1ae89362fdd1.html