[DRBD-user] Help with initial setup

Mark Watts m.watts at eris.qinetiq.com
Thu Oct 9 17:57:24 CEST 2008

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On Wednesday 08 October 2008 21:33:24 kevin kempter wrote:
> Hi List;
>
> I'm a newbie to DRBD and I've hit a snag.
>
> Here's what I've done:
>
> 1) I setup 2 new installs of CentOS v5 (32bit) as VM's via vmware
> server on a Dell 2900 (quad core, 16Gram, single RAID slice, etc)

What I describe below is on CentOS 5.2, using the DRBD 8.0.13 packages from 
the CentOS Extras repository.

> Note: I created /stage as a separate ext2 filesystem (mounted from /
> dev/sda2). This is the filesystem I want to replicate with drbd

There should be no filesystem on the raw partition(s) you want to replicate.
I'd unmount the partition(s) and erase the first few meg to be sure DRBD 
thinks they're blank ("dd if=/dev/zero of=/dev/whatever bs=10M count=1" 
should do it)

>
> 2) downloaded and compiled the drbd source (v 8.2.6) on both servers

As an aside, DRBD 8.2.x is available via CentOS Extras, assuming you're using 
the CenOS Plus kernel.
DRBD 8.0.x is available for the default CentOS kernel from CentOS Extras.

> 4) edited my /etc/drbd.conf on both servers (VM's) to look like this:

<snip>

> resource r0 {
>
>    on CentOS-32-VM1 {
>      device     /dev/drbd1;

Traditionally you'd start with /dev/drbd0...

>      disk       /dev/sda2;
>      address    192.168.1.50:7788;
>      meta-disk  internal;
>    }
>
>    on CentOS-32-VM2 {
>      device    /dev/drbd1;
>      disk      /dev/sda2;
>      address   192.168.1.51:7788;
>      meta-disk internal;
>    }
> }
>

Missing step: initialise the resource:

On both nodes, "drbdadm create-md r0"

> 5) Installed the drbd module

On both nodes, "service drbd start" will do this too.
(See: http://www.drbd.org/docs/install/ )

> 6) attempted to run drbdadm attach

This is moot if you start the service instead.
/proc/drbd on both nodes will show something like:

version: 8.0.13 (api:86/proto:86)
GIT-hash: ee3ad77563d2e87171a3da17cc002ddfd1677dbe build by 
buildsvn at c5-i386-build, 2008-08-07 13:40:24
 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/61 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

At this point you need to tell DRBD which node is Primary. On your prefered 
primary node:

	drbdadm -- --overwrite-data-of-peer primary r0

/proc/drbd will now change to (during the sync it will show sync progress):

GIT-hash: ee3ad77563d2e87171a3da17cc002ddfd1677dbe build by 
buildsvn at c5-i386-build, 2008-08-07 13:40:24
 0: cs:Connected st:Primary/Secondary ds:UpToDate/UpToDate C r---
    ns:200736 nr:0 dw:0 dr:200736 al:0 bm:13 lo:0 pe:0 ua:0 ap:0
        resync: used:0/61 hits:12533 misses:13 starving:0 dirty:0 changed:13
        act_log: used:0/257 hits:0 misses:0 starving:0 dirty:0 changed:0

Now you can create a filesystem:

	mke2fs -j /dev/drbd0

Then mount it by hand to check:

	mkdir /mnt/drbd_r0
	mount /dev/drbd0 /mnt/drbd_r0

Once you're happy this works, you'll want to use something like heartbeat to 
deal with migrating/mounting the resource in the event of a failure. The DRBD 
init script will put you into the Secondary/Secondary state; heartbeat will 
control promoting to Primary and mounting:

/etc/ha.d/haresources:
node1.example.com  drbddisk::r0 Filesystem::/dev/drbd0::/mnt/drbd_r0::ext3

Regards,

Mark.

-- 
Mark Watts BSc RHCE MBCS
Senior Systems Engineer
QinetiQ Applied Technologies
GPG Key: http://www.linux-corner.info/mwatts.gpg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20081009/07616653/attachment.pgp>


More information about the drbd-user mailing list