今天搭建了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的配置就结束了,下来可以进行测试。
现在在为primary的drbd1上的/data目录里写东西。
然后将drbd0卸载,并将drbd1的状态改为secondary。
在drbd1上将其状态改为primary,然后将drbd0挂载在/data目录,可以看到/data里面写的数据。
注意:只有在将drbd状态为primary的时候才能将drbd0挂载成功,并可以看到/data里同步的数据,所以此项目还有进一步完善的空间,在drbd上启heartbeat,让heartbeat去监听drbd,当任意一个down时,可以自动切换主从。
原文地址:http://wanwmn.blog.51cto.com/10206808/1726586