Difference between revisions of "Set up a heartbeat cluster"

From Linuxintro
imported>ThorstenStaerk
imported>ThorstenStaerk
Line 1: Line 1:
OK, I am trying to set up a heartbeat cluster with SUSE Linux here. I have 3 machines:
+
This article describes an example installation of a heartbeat cluster on SUSE Linux.
* 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.
+
= Architecture =
 +
{| class="wikitable sortable" border=1
 +
! 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.1.1  || virtual
 +
|-
 +
|}
  
 +
 +
= Process =
 +
 +
* On heartbeat-*, install SLES 10 as per default, but I disable ZMD and the firewall.
 +
* On tweedleburg, [[install an iscsi storage]].
 
* establish [[passwordless login]] between heartbeat-1 and -2.
 
* establish [[passwordless login]] between heartbeat-1 and -2.
 
* adapt /etc/hosts on both nodes so that it contains
 
* adapt /etc/hosts on both nodes so that it contains

Revision as of 11:35, 8 May 2009

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.1.1 virtual


Process

  • On heartbeat-*, install SLES 10 as per default, but I disable ZMD and the firewall.
  • On tweedleburg, install an iscsi storage.
  • 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.