准备工作:

以下均是在RH5.8上配置!!
1.确保设置好IP地址,设置好hostname和修改/etc/sysconfig/network内hostname一致。同步时间:#ntpdate ntp.api.bz
2.node1和node2先做好互信。
node1:
#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
#cd ~/.ssh/
#ssh-copy-id -i id_rsa.pub root@NODE2IP
node2:
#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
#cd ~/.ssh/
#ssh-copy-id -i id_rsa.pub root@NODE1IP
测试一下:ssh NODE1IP 'ifconfig'
3.node1和node2:
#vim /etc/hosts
加入:NODE1IP node1
NODE2IP node2
node2上测试:ping node1
4.node1和2均添加一个盘,并分区相同大小,不要格式化。(就OK了接下来通过配置文件可以把此盘变成DRBD盘)

安装

1.http://vault.centos.org/5.8/extras/i386/RPMS/
下载drbd83和kmod-drbd83两个包。
安装。
2.加载DRBD模块到内核 modprobe drbd
3.检测DRBD是否安装成功 lsmod | grep

配置

node1:

1.cp /usr/share/doc/drbd83-XXXdrbd.conf /etc
2.配置/etc/drbd.d/global_common.conf

global {
        usage-count no;
                #改了
        #minor-count dialog-refresh disable-ip-verification
}
common {
        protocol C;
        handlers {
                #不需要改动
                pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; 
/usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
                pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; 
/usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
                local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-
emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
                #fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
                #split-brain "/usr/lib/drbd/notify-split-brain.sh root";
                #out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
                #before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 ---c 16k";
                #after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;
        }
        startup {
                #改动了
                wfc-timeout 120;
                degr-wfc-timeout 120;
        }
        disk {
                on-io-error detach;
                #fencing resource-only;
        }
        net {
                #添加了用户密码
                cram-hmac-alg "sha1";
                shared-secret "mydrbdlab";
        }
        syncer {
                #添加了速率
                rate 1000M;
        }
}保存

3、定义一个资源/etc/drbd.d/web.res,内容如下:
resource web {
on node1 {
device /dev/drbd5;
disk /dev/hdd1;
address 172.16.100.11:7789;
meta-disk internal;
}
on node2 {
device /dev/drbd5;
disk /dev/hdd1;
address 172.16.100.12:7789;
meta-disk internal;
}
}保存
4.拷贝drbd.conf和drbd.d/web.res,global_common.conf三个文件发到node2节点上。
5.在两个节点上初始化已定义的资源并启动服务:

1)分别在两节点上创建DRBD设备元数据,但由于上面创建分区数据没有初始为0,所以创建失败(Command 'drbdmeta 0 v08 /dev/hdd1 internal create-md' terminated with exit code 40),得先执行:dd if=/dev/zero of=/dev/hdd1 count=100
初始化资源,在Node1和Node2上分别执行:
#drbdadm create-md web

2)启动服务,在Node1和Node2上分别执行:
service drbd start

查看

1.cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by [email protected],

2010-06-04 08:04:16
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:505964

也可以使用drbd-overview命令来查看:
#drbd-overview
0:web Connected Secondary/Secondary Inconsistent/Inconsistent C r----

从上面的信息中可以看出此时两个节点均处于Secondary状态。于是,我们接下来需要将其中一个节点设置

2.为Primary。在要设置为Primary的节点上执行如下命令:
#drbdsetup /dev/drbd5 primary -o
3.等数据同步完成以后再次查看状态,可以发现节点已经牌实时状态,且节点已经有了主次:
#drbd-overview
0:web Connected Primary/Secondary UpToDate/UpToDate C r----

开始使用

1.创建文件系统

文件系统的挂载只能在Primary节点进行,因此,也只有在设置了主节点后才能对drbd设备进行格式化:
#mke2fs -j -L DRBD /dev/drbd5
#mkdir /mnt/drbd
#mount /dev/drbd5 /mnt/drbd
#touch a.txt

更换主备节点

node1:

1.卸载挂载盘
#umount /mnt/drbd
2.设置为从节点:
#drbdadm secondary web
查看是否更改
#drbd-overview

node2:

1.设置为主节点:
#drbdadm primary web
查看一下。
2.挂载
#mkdir /mnt/drbd
#mount /dev/drbd5 /mnt/drbd
可看到a.txt文件。