Install OpenVZ in both machines, follow the link below
DRBD installation.
1. BOTH MACHINES: Install this repository “elrepo-release-6-6.el6.elrepo.noarch.rpm”.
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
2. BOTH MACHINES: Install DRBD.
yum install drbd83-utils-8.3.13 kmod-drbd83-8.3.13 -y
3. BOTH MACHINES: Insert drbd module manually or reboot both machines.
/sbin/modprobe drbd
4. BOTH MACHINES: Create the Distributed Replicated Block Device resource file in both machines
Note: These files should be exactly the same on both machines
vi /etc/drbd.d/clusterdb.res
resource clusterdb
{
startup {
wfc-timeout 30;
outdated-wfc-timeout 20;
degr-wfc-timeout 30;
}
net {
cram-hmac-alg sha1;
shared-secret sync_disk;
}
syncer {
rate 10M;
al-extents 257;
on-no-data-accessible io-error;
}
on masternode {
device /dev/drbd0;
disk /dev/sda2;
address 192.168.1.100:7788;
flexible-meta-disk internal;
}
on slavenode {
device /dev/drbd0;
disk /dev/sda2;
address 192.168.1.101:7788;
meta-disk internal;
}
}
5. BOTH MACHINES: Install crontabs, ntpdate then create a cronjob that check the server time every 5 minutes.
yum install crontabs ntpdate -y
crontab -e # insert the command below.
5 * * * * /usr/sbin/ntpdate 2.asia.pool.ntp.org
6. BOTH MACHINES: To have a DNS resolution, you may add the IP address FQDN to /etc/hosts on both machines.
vi /etc/hosts
192.168.1.100 masternode
192.168.1.101 slavenode
7. BOTH MACHINES: Unmount /vz to sda2 device. # this would matter on what device /dev/sdXX was assign to your /vz during the installation.
umount /dev/sda2 /vz
8. BOTH MACHINES: Initialize DRBD meta data
drbdadm create-md clusterdb
9. BOTH MACHINES: If create-md in step 8 fails, you may execute the command below.
dd if=/dev/zero of=/dev/sda2 #This may take very long, hours or even 1 day so be patient.
10. Comment the /vz in /etc/fstab so that it will not automatically mount during boot up.
vi /etc/fstab
# UUID=a5cc99aa-76bc-44a5-b898-845bac0135fa /vz ext4 defaults 1 2
11. BOTH MACHINES: Start DRBD service
/etc/init.d/drbd start
12. Run the command below to the Primary node only (mine is masternode server).
drbdadm — –overwrite-data-of-peer primary clusterdb
#drbdadm — –overwrite-data-of-peer primary all
13. Check if the synchronization is finish.
cat /proc/drbd
————–
Sample output.
————–
cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by root@sighted, 2012-10-09 12:47:51
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—–
ns:203296636 nr:291892 dw:203588528 dr:63212661 al:131223 bm:28 lo:0 pe:46 ua:0 ap:45 ep:1 wo:b oos:0
14. Create desired filesystem on Distributed Replicated Block Device device. I use mkfs.ext4
/sbin/mkfs.ext4 /dev/drbd0
12. Mount /dev/drbd0 to /vz
mount -t ext4 /dev/drbd0 /vz
To check the role:
drbdadm role clusterdb
—————————–
To promote the second node manually:
1. In the primary node run.
drbdadm secondary clusterdb
2. In the secondary node run.
drbdadm primary clusterdb
—————————–
Copy necessary OpenVZ files to DRBD device
13. Move the original /vz directory to /vz.orig and recreate the /vz directory to have it as a mount point (do this on both nodes):
mv /vz /vz.orig
mkdir /vz
14. Afterwards move the necessary OpenVZ directories (/etc/vz, /etc/sysconfig/vz-scripts, /var/vzquota) and replace them with symbolic links (do this on both nodes):
mv /etc/vz /etc/vz.orig
mv /etc/sysconfig/vz-scripts /etc/sysconfig/vz-scripts.orig
mv /var/vzquota /var/vzquota.orig
ln -s /vz/cluster/etc/vz /etc/vz
ln -s /vz/cluster/etc/sysconfig/vz-scripts /etc/sysconfig/vz-scripts
ln -s /vz/cluster/var/vzquota /var/vzquota
15. Currently, masternode is still Primary of /dev/drbd0. You can now mount it and copy the necessary files to it (only on masternode!):
mount /dev/drbd0 /vz
cp -a /vz.orig/* /vz/
mkdir -p /vz/cluster/etc
mkdir -p /vz/cluster/etc/sysconfig
mkdir -p /vz/cluster/var
cp -a /etc/vz.orig /vz/cluster/etc/vz/
cp -a /etc/sysconfig/vz-scripts.orig /vz/cluster/etc/sysconfig/vz-scripts
cp -a /var/vzquota.orig /vz/cluster/var/vzquota
umount /dev/drbd0
Proceed to the Heartbeat installation, please follow the link below.
Centos High Availability Cluster with OpenVZ, DRBD and Heartbeat – Part 2