Set up a heartbeat cluster

From Linuxintro
Revision as of 11:57, 7 May 2009 by imported>ThorstenStaerk (→‎Shared storage)

OK, I am trying to set up a heartbeat cluster with SUSE Linux here. I have 3 machines:

  • heartbeat-1, 192.168.0.21 (virtual)
  • heartbeat-2, 192.168.0.22 (virtual)
  • tweedleburg, 192.168.0.5 (physical)

On heartbeat-*, I install SLES 10 as per default, but I disable ZMD and the firewall. On tweedleburg, I install an iscsi storage. I want to install a highly available web server to gain some experience with clustering. We use heartbeat as cluster manager.

  • 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-1:~ # 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

Shared 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.

Configure cluster resources

In the hb_gui program, you add a new resource group named resource_group. You add the first resource, the sfex device. You add the start, stop and monitor operations to this.