[DRBD新手上路] -- 启动DRBD

4. 启动

4.1. 启动drbd

准备启动之前,需要分别在2个主机上的 /dev/sdc1 分区上创建相应的元数据保存的数据块:

[root@s1.yejr.com ~]# drbdadm create-md db
[root@s2.yejr.com ~]# drbdadm create-md db
[root@s1.yejr.com ~]# drbdadm create-md db
v08 Magic number not found
v07 Magic number not found
v07 Magic number not found
v08 Magic number not found
Writing meta data...

initialising activity log
NOT initialized bitmap
New drbd meta data block sucessfully created.
                --== Creating metadata ==--
As with nodes we count the total number of devices mirrored by DRBD at at http://usage.drbd.org.
The counter works completely anonymous. A random number gets created for this device, and that randomer number and the devices size will be sent.
http://usage.drbd.org/cgi-bin/insert_usage.pl?nu=17896845506599536970&ru=16979930778795935552&rs=288106882560
Enter 'no' to opt out, or just press [return] to continue:
success

在这里,按照提示信息直接按回车即可。
接下来就可以启动drbd进程了:

[root@s1.yejr.com ~]# /etc/init.d/drbd start
Starting DRBD resources:    [ d(db) s(db) n(db) ].

[root@s2.yejr.com ~]# /etc/init.d/drbd start
Starting DRBD resources:    [ d(db) s(db) n(db) ].

看看刚启动后的drbd状态:

[root@s1.yejr.com ~]# cat /proc/drbd
version: 8.2.5 (api:88/proto:86-88)
GIT-hash: 9faf052fdae5ef0c61b4d03890e2d2eab550610c build by root@s1.yejr.com, 2008-03-11 17:09:17
 0: cs:Connected st: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
        resync: used:0/31 hits:0 misses:0 starving:0 dirty:0 changed:0
        act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0

然后,设置启动的一个节点为主节点:

[root@s1.yejr.com ~]# drbdadm primary db
State change failed: (-2) Refusing to be Primary without at least one UpToDate disk
Command 'drbdsetup /dev/drbd0 primary' terminated with exit code 11
[root@s1.yejr.com ~]# drbdsetup /dev/drbd0 primary –o

可以看到,第一次设置主节点时用 drbdadm 命令会失败,所以先用drbdsetup 来做,以后就可以用 drbdadm 了。
看看drbd的状态:

[root@s1.yejr.com ~]# cat /proc/drbd
version: 8.2.5 (api:88/proto:86-88)
GIT-hash: 9faf052fdae5ef0c61b4d03890e2d2eab550610c build by root@ s1.yejr.com, 2008-03-11 17:09:17
 0: cs:SyncSource st:Primary/Secondary ds:UpToDate/Inconsistent C r---
    ns:1239556 nr:0 dw:0 dr:1247616 al:0 bm:75 lo:1 pe:6 ua:252 ap:0
        [>....................] sync'ed:  0.5% (273541/274751)M
        finish: 6:42:27 speed: 11,580 (11,472) K/sec
        resync: used:2/31 hits:77642 misses:77 starving:0 dirty:0 changed:77
        act_log: used:0/127 hits:0 misses:0 starving:0 dirty:0 changed:0

可以看到,已经开始同步数据了。设置完之后的第一次同步耗时比较长,因为需要把整个分区的数据全部同步一遍。
第一次同步完成之后,就可以对drbd的设备创建文件系统了:

[root@ s1.yejr.com ~]# mkfs.ext3 /dev/drbd0
mke2fs 1.35 (28-Feb-2004)
......

然后挂载到某个地方:

[root@ s1.yejr.com ~]# mount /dev/drbd0 /data

现在,就可以对 /data 分区进行读写操作了。
注意:secondary节点上不允许对drbd设备进行任何操作,包括只读。所有的读写操作只能在primary节点上进行。知道primary节点挂掉之后,secondary节点才能提升成为primary节点,继续进行读写操作。

技术相关: