nuffnang

Friday 27 May 2011

Distributed Replicated Device Block (DRBD)

What do you need before starting DRBD installation:
(1) Make sure your server can resolve both node name (/etc/hosts)
(2)Minimum for DRBD is RHEL 5/CentOS 5
(3) Files needed: kmod-drbd82-8.2.6-2.i686.rpm
                                drbd82-8.2.6-1.el5.centos.i386.rpm
(4) Firewall: open port 7788
Current situation :
• node1.yourdomain.org 172.29.156.20/24 , source disc /dev/sdc that will be replicated
• node2.yourdomain.org 172.29.156.21/24 , target disc /dev/sdc

1.install  kmod and follow by drbd.

2.check configuration at /etc/drbd.conf, should look like this:

#
# please have a a look at the example configuration file in
# /usr/share/doc/drbd/drbd.conf
#
global { usage-count no; }
resource repdata {
protocol C;
syncer { rate 10M; }
on node1.yourdomain.org {
device /dev/drbd0;
disk /dev/sdc;
address 172.29.156.20:7788;
meta-disk internal;
}
on node2.yourdomain.org {
device /dev/drbd0;
disk /dev/sdc;
address 172.29.156.21:7788;
meta-disk internal;
}
}

Replicate drbd.conf to second node at /etc/drbd.conf

3.create disk metadata:

[root@node1 etc]# drbdadm create-md repdata
v08 Magic number not found
v07 Magic number not found
About to create a new drbd meta data block on /dev/sdc.
. ==> This might destroy existing data! <==
Do you want to proceed? [need to type 'yes' to confirm] yes
Creating meta data... initialising activity log NOT initialized bitmap (256 KB) New
drbd meta data block sucessfully created

4. start drbd at both nodes

[root@node1 etc]# service drbd start
Starting DRBD resources: [ d0 n0 ]. ......
[root@node1 etc]# cat /proc/drbd
version: 8.0.4 (api:86/proto:86) SVN Revision: 2947 build by buildsvn@c5-i386-
build, 2007-07-31 19:17:18
. 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/257 hits:0 misses:0 starving:0 dirty:0 changed:0


5.start full sync of drbd disks

[root@node1 etc]# drbdadm -- --overwrite-data-of-peer primary repdata
[root@node1 etc]# watch -n 1 cat /proc/drbd version: 8.0.4 (api:86/proto:86) SVN
Revision: 2947 build by buildsvn@c5-i386-build, 2007-07-31 19:17:18
. 0: cs:SyncTarget st:Primary/Secondary ds:Inconsistent/Inconsistent C r---
. ns:0 nr:68608 dw:68608 dr:0 al:0 bm:4 lo:0 pe:0 ua:0 ap:0
. [>...................] sync'ed: 0.9% (8124/8191)M finish: 0:12:05 speed:
11,432 (11,432) K/sec resync: used:0/31 hits:4283 misses:5 starving:0 dirty:0
changed:5 act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0


Check for sync progress

6.Now we can format the disks and mount the fs as we wanted.
[root@node1 ]mkfs.ext3 /dev/drbd0 ; mkdir /repdata ; mount /dev/drbd0 /repdata


7. we can test by creating fake data:
[root@node1 etc]# for i in {1..5};do dd if=/dev/zero of=/repdat
a/file$i bs=1M count=100;done

8.Check for replicated data
[root@node1 /]# umount /repdata ; drbdadm secondary repdata
[root@node2 /]# mkdir /repdata ; drbdadm primary repdata ; mount /dev/drbd0
/repdata
[root@node2 /]# ls /repdata/
file1 file2 file3 file4 file5 lost+found

Now DRBD are go....

No comments:

Post a Comment