标签:drbd
DRBD安装配置
环境:两台运行着 Centos6.5.X86_64的机器
安装前的准备:
主机名 IP 磁盘名 容量
master(主) 192.168.174.128 /dev/sdb1 20G
backup(备) 192.168.174.130 /dev/sdb1 20G
分别在两台机器上修改相应主机名并在/etc/hosts的文件中加入
master 192.168.174.128
backup 192.168.174.130
源码安装需要安装一些依赖包
yum install -y kernel-devel flex kernel-headers
1.源码下载
下载地址: http://oss.linbit.com/drbd/
cd /usr/local/src
wget http://oss.linbit.com/drbd/8.4/drbd-8.4.3.tar.gz
2.安装
# tar zxvf drbd-8.4.3.tar.gz
# cd drbd-8.4.3.tar.gz
# ./configure --prefix=/usr/local/drbd --with-km
# make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64/
# make install
# mkdir -p /usr/local/drbd/var/run/drbd
# cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/init.d/
# chkconfig --add drbd
安装drbd模块
# cd drbd
# make clean
# make make KDIR=/usr/src/kernels/2.6.32-431.el6.x86_64/
# cp drbd.ko /lib/modules/2.6.32-431.el6.x86_64/kernel/lib/
# modprobe drbd
# lsmod|grep drbd //如下显示已加载
drbd 325786 4
libcrc32c 1246 1 drbd
3.配置
1) 编辑全局配置global_common.conf文件
# cd /usr/local/drbd/etc/drbd.d/
# vim global_common.conf //主要的基本配置如下:
global {
usage-count yes;
}
common {
protocol C;
disk {
on-io-error detach;
}
syncer {
rate 1024M;
}
}
2) 创建drbd资源文件
# vim /usr/local/drbd/etc/drbd.d/drbd.res //写入如下内容;
resource r1 {
on master {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.174.128:7789;
meta-disk internal;
}
on slave {
device /dev/drbd0;
disk /dev/sdb1;
address 192.168.174.130:7789;
meta-disk internal;
}
}
4.启动 (两台机器的安装和配置文件都是一样的)
启动前先创建资源
分别在两台机器上运行:drbdadm create-md r1
运行此命令可能会出错,解决方法:
在机器上运行:dd if=/dev/zero of=/dev/sdb1 bs=1M count=100
再执行 drbdadm create-md r1
#/etc/init.d/drbd start
#drbdadm role r1
Secondary/Secondary //此表示两台机器都是备机;
在主的机器上运行:
#drbdadm primary all //把此机器设置主机,在哪个机器上运行,哪个就是主机;
#drbdadm -- --overwrite-data-of-peer primary all //若是drbdadm primary all命令运行失败,则执行此命令,设置主机;
#drbdadm role r1
Primary/Secondary //此表示 主备节点已设置;
#cat /proc/drbd //查看drbd的状态
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@master, 2015-02-05 16:06:01
1: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r---
ns:42688 nr:0 dw:0 dr:42688 al:0 bm:2 lo:4 pe:0 ua:4 ap:0
[==>.................] sync‘ed: 14.7% (262464/305152)K
finish: 0:02:58 speed: 1,440 (1,292) K/sec
resync: used:1/31 hits:2669 misses:3 starving:0 dirty:0 changed:3
act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0
主备机状态分别是”主/备”,主机磁盘状态是”实时”,备机状态是”不一致”.
在第3行,可以看到数据正在同步中,即主机正在将磁盘上的数据,传递到备机上.现在的进度是14.7%.同步完成后如下:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by root@master, 2015-02-05 16:06:01
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
ns:20964116 nr:0 dw:463280 dr:20965513 al:103 bm:1280 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
5.使用DRBD
你现在可以把主机上的DRBD设备挂到目录下使用,备机上的DRBD设备无法挂载
master# mkdir /qq
master# mount /dev/sdb1 /qq
master# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 3.2G 14G 19% /
tmpfs 242M 0 242M 0% /dev/shm
/dev/sda1 194M 27M 158M 15% /boot
/dev/drbd0 20G 172M 19G 1% /qq
现在,我们在qq目录里建立一个200M的文件:
master# dd if=/dev/zero of=/qq/test bs=1M count=200
操作完成后,在slave(备机)上执行:
我们先停止DRBD(以下是在备机上操作)
master# /etc/init.d/drbd stop
现在,我们可以将hdb1进行挂载
slave# mount /dev/drbd1 /mnt
slave# ls /mnt/ -hl
总用量 201M
drwx------ 2 root root 12K 2月 6 16:44 lost+found
-rw-r--r-- 1 root root 200M 2月 6 17:20 test
slave# umount /mnt
可以看到,在主机master上产生的文件test.tmp,也完整的保存在备机slave的DRBD分区上.
这就是DRBD的网络RAID-1功能. 在主机上的任何操作,都会被同步到备机的相应磁盘分区上,达到数据备份的效果.
6.主备切换
本文出自 “浅浅的淡淡” 博客,请务必保留此出处http://cuixiang.blog.51cto.com/8204722/1612516
标签:drbd
原文地址:http://cuixiang.blog.51cto.com/8204722/1612516