====== HA - basics ======
Note: Fibre channel - cheap stuff!!!
**Requirements**
* Two disks (preferably same size and my lovely LVM)
* Networking between machines (node1 & node2), Tip: VMPlayer LAN Segments
* Working DNS resolution (/etc/hosts file)
* Selinux disabled
* Iptables ports (7788) allowed
* and lot of patience
Install ELRepo repository on your both system:
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
Update both repo:
yum update -y
Install DRBD:
[root@node1 ~]# yum -y install drbd84-utils kmod-drbd84
[root@node2 ~]# yum -y install drbd84-utils kmod-drbd84
Insert drbd module manually on both machines or reboot:
/sbin/modprobe drbd
====Partition DRBD on both machines (the ugly way):====
If your linux box doesn't detect new disk automaticly, you can try rescanning the scsi bus
echo "- - -" >/sys/class/scsi_host/host0/scan
[root@node1 ~]# fdisk -cu /dev/sdb
[root@node2 ~]# fdisk -cu /dev/sdb
and the right way:
[root@node1 ~]# lvcreate -L 4GB -n mail_disk vg_jahoda
[root@node2 ~]# lvcreate -L 4GB -n mail_disk vg_boruvka
==== Setup the network ====
DEVICE="eth1"
BOOTPROTO="none"
HWADDR="00:0C:29:DA:26:E9"
IPADDR="10.1.1.1"
NETMASK="255.255.255.252"
IPV6INIT="yes"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
==== DRBD config ====
resource mail_disk {
protocol C;
startup {
wfc-timeout 30;
outdated-wfc-timeout 20;
degr-wfc-timeout 30;
}
net {
cram-hmac-alg sha1;
shared-secret sync_disk;
}
syncer {
rate 100M;
al-extents 257;
on-no-data-accessible io-error;
}
on node1 {
device /dev/drbd0;
disk /dev/jahoda/mail;
address 10.1.1.1:7788;
flexible-meta-disk internal;
}
on node2 {
device /dev/drbd0;
disk /dev/boruvka/mail;
address 10.1.1.2:7788;
meta-disk internal;
}
}
Initialize devices (very similar to pvcreate or mkfs.ext4):
[root@node1 ~]# drbdadm create-dm mail_disk
[root@node2 ~]# drbdadm create-dm mail_disk
It is time to start the services. And be careful Jimm, you have 30 seconds to start both.
[root@node1 ~]# service drbd restart
[root@node2 ~]# /etc/init.d/drbd restart
Check ''cat /proc/drbd'', we should be both Secondary/Secondary and data Inconsistent/Inconsistent. The rest is garbage for geeks.
version: 8.4.5 (api:1/proto:86-101)
GIT-hash: 1d360bde0e095d495786eaeb2a1ac76888e4db96 build by phil@Build64R6, 2014-10-28 10:32:53
0: cs:Connected ro:Secondary/Secondary ds:Diskless/Inconsistent C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
Careful reader could have notices we are having Diskless/Inconsistent. Initialize (create-dm) the disk again or zero it (dd if=/dev/zero) and initialize again and thing should be fine.
[root@node1 ~]# drbdadm -- --overwrite-data-of-peer primary mail_disk
====== UCARP (VRRP) ======
Open the page and install epel
http://mirror.hosting90.cz/epel/6/x86_64/repoview/epel-release.html
Or try using this direct link, but might be unavailable later
yum install http://mirror.hosting90.cz/epel/6/x86_64/epel-release-6-8.noarch.rpm
Install ucarp
yum install ucarp
config
VIP_ADDRESS="192.168.5.123"
PASSWORD="love"
BIND_INTERFACE="eth0"
SOURCE_ADDRESS="192.168.5.39"
# If you have extra options to add, see "ucarp --help" output
OPTIONS="--shutdown --preempt"