Set up a heartbeat cluster
From Linuxintro
Revision as of 14:23, 8 May 2009 by imported>ThorstenStaerk (→Process)
This article describes an example installation of a heartbeat cluster on SUSE Linux.
Architecture
sense | name | IP | virtual/physical |
---|---|---|---|
first cluster node | heartbeat-1 | 192.168.0.21 | virtual |
second cluster node | heartbeat-2 | 192.168.0.22 | virtual |
iscsi storage | tweedleburg | 192.168.0.5 | physical |
virtual IP address | gothere | 192.168.0.20 | virtual |
Process
- On heartbeat-*, install SLES 10 as per default, but I disable ZMD and the firewall.
- establish passwordless login between heartbeat-1 and -2.
- adapt /etc/hosts on both nodes so that it contains
192.168.0.21 heartbeat-1.site heartbeat-1 192.168.0.22 heartbeat-2.site heartbeat-2
- configure the cluster on node 1
heartbeat-1:~ # yast2 heartbeat
Choose MD5 as auth method and myauth as password.
- install heartbeat on node 2
heartbeat-2:~ # yast -i heartbeat
- propagate the heartbeat configuration
heartbeat-1:~ # scp /etc/ha.d/ha.cf root@heartbeat-2:/etc/ha.d heartbeat-1:~ # scp /etc/ha.d/authkeys root@heartbeat-2:/etc/ha.d
- start the cluster
heartbeat-1:~ # /etc/init.d/heartbeat start heartbeat-2:~ # /etc/init.d/heartbeat start
- set a password for the hacluster admin
heartbeat-1:~ # passwd hacluster
- configure the cluster
heartbeat-1:~ # hb_gui
Log in as hacluster user to heartbeat-1
Configure cluster resources
In the hb_gui program, you add a new resource group named resource_group. You add the first resource, a virtual IP. You add the start, stop and monitor operations to this. Then you start it. You will be able to ping it.
- on tweedleburg, install an iscsi storage
- build sfex from http://www.linux-ha.org/sfex on both nodes
- set up an iscsi initiator on both nodes, we assume it makes the device /dev/sdb.
- test sfex by locking /dev/sdb
heartbeat-1:~ # /usr/lib64/heartbeat/sfex_init /dev/sdb heartbeat-1:~ # /usr/lib64/heartbeat/sfex_lock /dev/sdb acquired lock successfully. heartbeat-1:~ # /usr/lib64/heartbeat/sfex_stat /dev/sdb control data: magic: 0x01, 0x1f, 0x71, 0x7f version: 1 revision: 3 blocksize: 512 numlocks: 1 lock data #1: status: lock count: 2 nodename: heartbeat-1 status is LOCKED.
- test the other cluster node realizes the lock:
heartbeat-2:~/sfex-1.3 # /usr/lib64/heartbeat/sfex_stat /dev/sdb control data: magic: 0x01, 0x1f, 0x71, 0x7f version: 1 revision: 3 blocksize: 512 numlocks: 1 lock data #1: status: lock count: 2 nodename: heartbeat-1 status is UNLOCKED.