两个系统的配置是一样的,只简单的记录下其中一个的配置过程。
mknod /dev/drbd0 b 147 0
DRBD运行时,会读取一个配置文件/etc/drbd.conf.这个文件里描述了DRBD设备与硬盘分区的映射关系,数据一旦写入磁盘并发送到网络中就认为完成了写入操作。
include "drbd.d/global_common.conf"; include "drbd.d/*.res";
global { usage-count no; # minor-count dialog-refresh disable-ip-verification } net { protocol C; }
drbd.conf的配置参数说明
Protocol
Protocol A @数据一旦写入磁盘并发送到网络中就认为完成了写入操作
Protocol B @收到接收确认就认为完成了写入操作。
Protocol C @收到写入确认就认为完成了写入操作。
global
global { usage-count yes; } @是否参加DRBD使用者统计,默认是yes
resource r0 { on master{ device /dev/drbd0; disk /dev/sdb1; address 192.168.56.1:7789; meta-disk internal; } on slave{ device /dev/drbd0; disk /dev/sdb1; address 192.168.56.2:7789; meta-disk internal; } }
双机两个节点的配置文件是一模一样的。
Create device metadata. This step must be completed only on initial device creation.
root@master# drbdadm create-md r0
root@slave# drbdadm create-md r0
root@master# drbdadm up r0
root@slave# drbdadm up r0
在任意一台机器上运行:
root# cat /proc/drbd version: 8.4.1 (api:1/proto:86-100) GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by buildsystem@linbit, 2011-12-20 12:58:48 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:524236
在master机器上运行:
drbdadm primary --force r0
开始同步两台机器的数据,slave的数据不能被访问,即使是read也不允许
挂载到master上读写设备
mkfs.ext3 /dev/drbd0
mount /dev/drbd0 /mnt/drbd
4. DRBD切换测试
首先,在master上先将设备卸载,同时将master降为slave;然后在slave上执行primary:
root@master# umount /mnt/drbd
root@master# drbdadm secondary r0
root@slave# drbdadm primary r0
root@slave# cat /proc/drbd
参考:
http://johnsz.blog.51cto.com/525379/896371
http://www.drbd.org/users-guide/ch-configure.html