Table of Contents
How to: Install and configure DRBD on CentOS 6
DRBD® refers to block devices designed as a building block to form high availability (HA) clusters – Distributed Replicated Block Device This is done by mirroring a whole block device via an assigned network. Distributed Replicated Block Device can be understood as network based raid-1.
So, Distributed Replicated Block Device is actually a network based RAID 1. You are configuring DRBD on your system if you:
- need to secure data on certain disk and are therefore mirroring your data to another machine via network.
- configuring High Availability cluster or service.
System requirements:
- additional disk for synchronization on BOTH MACHINES (preferably same size)
- network connectivity between machines
- working DNS resolution (can fix with /etc/hosts file)
- NTP synchronized times on both nodes
I’ve had problems running drbd84 on CentOS 6.4 running kernel 2.6.32-358.6.1.el6.i686 so i used drbd83 package. Tell me how it works for you…
Let’s start our DRBD CentOS 6.x guide
1. BOTH MACHINES: Install ELRepo repository on your system.
[root@box1 ~]/bin/rpm -ivh https://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
2. BOTH MACHINES: Install Distributed Replicated Block Device utils and kmod packages from ELRepo (choose the version you prefer – drbd83 or drbd84 – i’ve had problems with drbd84 on kernel 2.6.32-358.6.1.el6.i686).
[root@box1 ~]/usr/bin/yum install -y kmod-drbd83 drbd83-utils
3. BOTH MACHINES: Insert drbd module manually or just reboot both machines.
[root@box1 ~]/sbin/modprobe drbd
4. BOTH MACHINES: Create the Distributed Replicated Block Device resource file (/etc/drbd.d/disk1.res) and transfer it to the other machine (these files need to be exactly the same on both machines!).
/etc/drbd.d/disk1.res :
resource disk1 { startup { wfc-timeout 30; outdated-wfc-timeout 20; degr-wfc-timeout 30; } net { cram-hmac-alg sha1; shared-secret sync_disk; } syncer { rate 100M; verify-alg sha1; } on box1.geek-kb.com { device minor 1; disk /dev/sdb; address 192.168.1.100:7789; meta-disk internal; } on box2.geek-kb.com { device minor 1; disk /dev/sdb; address 192.168.1.101:7789; meta-disk internal; } }
5. BOTH MACHINES: Make sure that DNS resolution is working as expected! To quickly fix DNS resolution add IP addresses FQDN to /etc/hosts on both machines as follows:
/etc/hosts :
192.168.1.100 box1 box1.geek-kb.com 192.168.1.101 box2 box2.geek-kb.com
6. BOTH MACHINES: Make sure that both machines are using NTP for time synchronization! To quickly fix this add an entry to your /etc/crontab file as follows and choose your NTP sync server:
/etc/crontab :
1 * * * * root ntpdate your.ntp.server
7. BOTH MACHINES: Initialize the DRBD meta data storage:
[root@box1 ~]/sbin/drbdadm create-md disk1
8. BOTH MACHINES: Start the Distributed Replicated Block Device service on both nodes:
[root@box1 ~]/etc/init.d/drbd start
9. On the node you wish to make a PRIMARY node run drbdadm command:
[root@box1 ~]/sbin/drbdadm — –overwrite-data-of-peer primary disk1
10. Wait for the Distributed Replicated Block Device disk initial synchronization to complete (100%) and check to confirm you are on primary node:
[root@box1 ~]cat /proc/drbd version: 8.3.15 (api:88/proto:86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@Build32R6, 2012-12-20 20:23:49 1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r—n- ns:1060156 nr:0 dw:33260 dr:1034352 al:14 bm:62 lo:9 pe:78 ua:64 ap:0 ep:1 wo:f oos:31424 [==================>.] sync’ed: 97.3% (31424/1048508)K finish: 0:00:01 speed: 21,240 (15,644) K/sec [root@box1 ~]# cat /proc/drbd version: 8.3.15 (api:88/proto:86-97) GIT-hash: 0ce4d235fc02b5c53c1c52c53433d11a694eab8c build by phil@Build32R6, 2012-12-20 20:23:49 1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—– ns:1081628 nr:0 dw:33260 dr:1048752 al:14 bm:64 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
11. Create desired filesystem on Distributed Replicated Block Device device:
[root@box1 ~]/sbin/mkfs.ext4 /dev/drbd1
You can now mount DRBD device on your primary node!
No Comments Yet