参考文章

http://www.turbolinux.com.cn/turbo/wiki/doku.php?id=%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86:drbd%E7%9A%84%E4%BD%BF%E7%94%A8
http://4459478.blog.51cto.com/4449478/869381
http://blog.csdn.net/hanxin1987216/article/details/6928427
http://blog.csdn.net/greensurfer/article/details/7606951
 
配置环境:两主机各增加一硬盘,大小为1GB,作为drbd的资源,先要进行分区,不要格式化,因为在drbd中用的是drbd设备!
   hostname          IP
nod1.zhaochj.com 192.168.133.131
nod2.zhaochj.com 192.168.133.140  
 
[root@nod1 ~]# uname -r    #两主机所用系统版本相同,在2.6.33后系统已支持drbd
2.6.32-220.el6.x86_64
 
两主机同时关闭防火墙与selinux
[root@nod1 ~]service iptables stop
[root@nod1 ~]setenforce 0   可以修改/etc/selinux/config文件
 
修改两主机的主机名与hosts文件:
[root@nod1 ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nod1.zhaochj.com        #在133.140中把nod1改为nod2即可
 
[root@nod1 ~]# vim /etc/hosts   #两主机上是相同修改,目的是能够解析主机名
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
nod1.zhaochj.com 192.168.133.131
nod2.zhaochj.com 192.168.133.140
 
安装配置:
[root@nod1 ~]# tar -xvzf drbd-8.4.2.tar.gz
[root@nod1 ~]# cd drbd-8.4.2
[root@nod1 drbd-8.4.2]# ./configure --prefix=/usr/local/drbd --with-km
[root@nod1 drbd-8.4.2]# make KDIR=/usr/src/kernels/2.6.32-220.el6.x86_64/
[root@nod1 drbd-8.4.2]# make install
[root@nod1 drbd-8.4.2]# cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d/
[root@nod1 drbd-8.4.2]# chkconfig --add drbd
[root@nod1 drbd-8.4.2]# chkconfig drbd on
 
安装drbd模块:
[root@nod1 drbd-8.4.2]# cd drbd
[root@nod1 drbd]# pwd
/root/drbd-8.4.2/drbd
[root@nod1 drbd]# make clean
[root@nod1 drbd]# make KDIR=/usr/src/kernels/2.6.32-220.el6.x86_64/
[root@nod1 drbd]# cp drbd.ko /lib/modules/2.6.32-220.el6.x86_64/kernel/lib/
[root@nod1 drbd]# depmod    #创建模块依赖关系的列表
[root@nod1 drbd]# vim /usr/local/drbd/etc/drbd.d/global_common.conf 确保有以下
global {  
  usage-count yes;  
}  
common {  
  net {  
    protocol C;  
  }  
}  
 
定义资源:
[root@nod1 drbd]# vim /usr/local/drbd/etc/drbd.d/r0.res
resource r0{
        on nod1.zhaochj.com{
                device          /dev/drbd1;
                disk            /dev/sdb1;
                address         192.168.133.131:7788;
                meta-disk       internal;
        }
        on nod2.zhaochj.com{
                device          /dev/drbd1;
                disk            /dev/sdb1;
                address         192.168.133.140:7788;
                meta-disk       internal;
        }
}
说明:
device    是自定义的物理设备的逻辑路径
disk      是磁盘设备,或者是逻辑分区
address   是机器监听地址和端口
meta-disk 这个不是很清楚,
 
建立resource,初始化:
[root@nod1 drbd]# modprobe drbd 载入模块
[root@nod1 drbd]# lsmod | grep drbd 确认模块是否载入
[root@nod1 drbd]# dd if=/dev/zero of=/dev/sdb1 bs=1M count=100,把一些资料写入
[root@nod1 drbd]# drbdadm create-md r0  建立 drbd resource,此命令后有交互,键入yes即可
[root@nod1 drbd]# drbdadm up r0   启动drbd,也可以/etc/init.d/drbd start
/usr/local/drbd/var/run/drbd: No such file or directory
/usr/local/drbd/var/run/drbd: No such file or directory
报没有这些目录
[root@nod1 drbd]# mkdir -p /usr/local/drbd/var/run/drbd  建立这些目录
再[root@nod1 drbd]# drbdadm up r0
[root@nod1 drbd]# cat /proc/drbd  查看状态信息
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@nod1.zhaochj.com, 2012-09-29 15:21:32
 
 1: cs:WFConnection ro:Secondary/Unknown ds:Inconsistent/DUnknown C r----s
    ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:1044124
 
以上的这些操作也要在nod2.zhaochj.com执行一次,保持各个配置文件的相同。
 
 
设置primary node:
将nod1.zhaochj.com设置成主服务
[root@nod1 ~]# drbdadm primary --force r0
[root@nod1 ~]# cat /proc/drbd        状态已改变       
version: 8.4.2 (api:1/proto:86-101)
GIT-hash: 7ad5f850d711223713d6dcadc3dd48860321070c build by root@nod1.zhaochj.com, 2012-09-29 15:21:32
 
 1: cs:Connected ro:Primary/Secondary ds:UpToDate/Diskless C r-----
    ns:0 nr:0 dw:0 dr:672 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:1044124
 
创建drbd文件系统:
[root@nod1 ~]# mkfs.ext4 /dev/drbd1       注意这里是drdb1,不是/dev/sdb1
[root@nod1 ~]# mkdir /tmp/drbdtest     创建挂载目录
[root@nod1 ~]# mount /dev/drbd1 /tmp/drbdtest/  挂载
 
drbd同步测试:
[root@nod1 ~]# tar -cvzf /tmp/drbdtest/drbd.tar.gz drbd-8.4.2  把drbd-8.4.2压缩到/tmp/drbdtest下
[root@nod1 ~]# umount /dev/drbd1     
[root@nod1 ~]# drbdadm secondary r0   
[root@nod1 ~]# ssh 192.168.133.140
[root@nod2 ~]# drbdadm primary r0
[root@nod2 ~]# mount /dev/drbd1 /tmp/drbdtest/
[root@nod2 ~]# ll /tmp/drbdtest/
总用量 9816
-rw-r--r--. 1 root root 10035175  9月 29 2012 drbd.tar.gz
drwx------. 2 root root    16384  9月 29 2012 lost+found
 
同步成功!