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安装:

  1. # yum install -y drbd83 kmod-drbd83  
  2. # yum search heartbeat*  
  3. heartbeat所需的安装包主要有以下几个:  
  4. heartbeat-devel-2.1.3-3.el5.centos  
  5. heartbeat-stonith-2.1.3-3.el5.centos  
  6. heartbeat-gui-2.1.3-3.el5.centos  
  7. heartbeat-ldirectord-2.1.3-3.el5.centos  
  8. heartbeat-pils-2.1.3-3.el5.centos  
  9. heartbeat-2.1.3-3.el5.centos 

一 DRBD的安装使用

加载安装drbd模块:

# modprobe drbd

检查是否加载成功:

# modprobe drbd

drbd                  277272  2

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

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

开始drbd的配置:

drbd主配置文件,很重要:

  1. global {  
  2.  
  3. common {  
  4. syncer { rate 100M; }    //设置两个节点间的同步速率;  
  5.  
  6. resource db {  
  7. protocol C;     //定义当数据被写入块设备时候的一致性级别(数据同步协议),A、B、C三个级别,C为数据被确认写到本地磁盘和远程磁盘后返回,确认成功  
  8. startup { wfc-timeout 0; degr-wfc-timeout 120; } 
  9. disk { on-io-error detach; } 
  10. syncer { rate 100M; } 
  11.  
  12. on drbd-M {  //节点名称一定要与hostname保持一致; 
  13.   device /dev/drbd0;     //创建的虚拟磁盘 
  14.   disk   /dev/sdb2;      //物理分区 
  15.   address 192.168.43.129:7788;    //监听端口 
  16.   meta-disk internal;         //局域网类型 
  17.  
  18.  
  19. on drbd-S { 
  20.    device /dev/drbd0; 
  21.    disk   /dev/sdb2; 
  22.    address 192.168.43.130:7788; 
  23.    meta-disk internal; 
  24.   
  25.  

相关推荐