今天搭建了DRBD,为了以后查看方便,也希望帮到需要的人,所以整理了文档,分享给大家.

我的系统是CentOS6.7版本

DRBD

1.加硬盘后重启

cat /pro/parttions

分区

fdisk /dev/sdb

partprobe /dev/sdb       重新加载文件系统

cat /pro/parttions       可以看到sdb1

2.加载yum

yum clean all

yum repolist

3.同步时间

ntpdate -u asia.pool.ntp.org      注意:我是在yum clean all之后在同步才成功的。

4.开始装包,准备编译安装

yum install gcc gcc-c++ make glibc flex kernel kernel-devel kernel-headers    装包之后因为有内核所以要重启服务器

5.下载drbd

wget http://oss.linbit.com/drbd/8.4/drbd-8.4.3.tar.gz

tar xf drbd- .tar.gz 解压

cd drbd-8.4.3

6.编译安装

./configure prefix=/usr/local/drbd with-km   指定路径

make KDIR=/usr/src/kernels/2.6.32-./   编译给出内核路径

make install       编译安装

mkdir -p /usr/local/drbd/var/run/drbd

cp /usr/local/dtbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d drbd的启动文件拷贝到本机启动文件 让其能开机自启

chkconfg add drbd      drbd加到开机自启项中

chkconfig drbd on         drbd开机自启

modprobe drbd重新加载drbd模块

lsmod |grep drbd         查看

7.配置DRBD

vim /usr/local/drbd/etc/drbd.conf

    resource r0{

protocol c;

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

net {

timeout 60;

connect-int 10;

ping-int 10;

max-buffers 2048;

max-epoch-size 2048;

}

syncer { rate 30M; }

on drbd1 {

device /dev/drbd0;

disk /dev/sdb1;

address 192.168.122.101:7788;

meta-disk internal; 

}

 on drbd2 {

device /dev/drbd0;

disk /dev/sdb1;

address 192.168.122.101:7788;

meta-disk internal; } 

}

8.创建块设备  

mknod /dev/drbd0 b 147 0

9.激活

drbdadm create-md r0

drbdadm create-md r0 

10.启服务 

service drbd start

cat /proc/drbd service drbd status   drbd状态 如果配置文件没有错误,服务状态会显示已经连接而且都为secondary状态

11.设置主设备

drbdsetup /dev/drbd0 primary --force       注意第一次设置主从时,主设备必须强制,再查看drbd状态时就可以看到被设置成主设备的状态为primary

12.drbd0格成ext4格式,并将其挂载

mkfs.ext4 /dev/drbd0 

mount /dev/drbd0 /data

到这里drbd的配置就结束了,下来可以进行测试。

现在在为primarydrbd1上的/data目录里写东西。

然后将drbd0卸载,并将drbd1的状态改为secondary

drbd1上将其状态改为primary,然后将drbd0挂载在/data目录,可以看到/data里面写的数据。

注意:只有在将drbd状态为primary的时候才能将drbd0挂载成功,并可以看到/data里同步的数据,所以此项目还有进一步完善的空间,在drbd上启heartbeat,让heartbeat去监听drbd,当任意一个down时,可以自动切换主从。