Teil 2 – Konfiguration der Pakete

In Teil 1 dieses Tutorials haben Sie die beiden Clusternodes mit Ubuntu 10.04 installiert, die Netzwerkkarten eingerichtet und die Pakete installiert, die im weiteren Verlauf nun konfiguriert werden.

DRBD-MC

Auch wenn Sie den Cluster hauptsächlich auf der Kommandozeile konfigurieren werden, wollen wir dem Cluster mit der DRBD-MC (Management Console) auf die Finger schauen. Die DRBD-MC wird, wie auch DRBD selbst, von Linbit HA Solutions (Wien) entwickelt. Ursprünglich als reine DRBD-GUI gedacht, hat sich die Java-basierte Applikation zu einem echten Multitalent gemausert und beherrscht die Einrichtung und Verwaltung von LVM, DRBD und Cluster-Ressourcen. DRBD-MC verbindet sich dabei per ssh auf die Cluster-Nodes und ist dank Java plattformunabhängig. Laden Sie sich auf Ihrem Host die neueste jar-Datei herunter starten Sie diese per

~$ java -jar [Pfad zur jar.Datei]DMC-0.9.2.jar

Corosync Konfiguration

Öffnen Sie nun auf beiden Nodes die Konfigurationsdatei von Corosync und passen sie die Zeilen so an, wie nachfolgend aufgeführte corosync.conf zeigt.

Totem ist ein zentraler Bestandteil von Corosync – die Nodes tauschen sich über sog. “Rings” über ihren Status aus. Ändern Sie die Konfiguration auf zwei Interfaces ab. Damit diese einen redundanten Ring bilden, setzen Sie rrp_mode auf “active”. Die Bindnet-Addresse endet auf Null, da sie ein Netzwerk bezeichnet!

Ändern Sie auf beiden Nodes die default-Startrichtlinie für Corosync auf “yes”:

vim /etc/default/corosync [enter]
# start corosync at boot [yes|no]
START=yes

(Tipp: sollten Sie im späteren Verlauf feststellen, dass Corosync ungewöhnlich viel CPU-Load verursacht, checken Sie nochmal die Interface-Konfiguration der Rings; Fehler hier führen nachgewiesenermaßen zu solch unerwarteten Fehlern) Die Logging-Optionen sind reine Empfehlungen.

vim /etc/corosync/corosync.conf [enter]
totem {
  version: 2
  token: 3000
  token_retransmits_before_loss_const: 10
  join: 60
  consensus: 5000
  vsftype: none
  max_messages: 20
  clear_node_high_bit: yes
  secauth: off
  threads: 0
  rrp_mode: active

  interface {
    ringnumber: 0
    bindnetaddr: 10.1.1.0
    mcastaddr: 226.94.1.1
    mcastport: 5410
  }
  interface {
    ringnumber: 1
    bindnetaddr: 10.1.2.0
    mcastaddr: 226.94.1.1
    mcastport: 5415
  }
}

amf {
  mode: disabled
}

service {
  # Load the Pacemaker Cluster Resource Manager
  ver: 0
  name: pacemaker
}

aisexec {
  user: root
  group: root
}

logging {
  fileline: off
  to_stderr: yes
  to_logfile: yes
  logfile: /var/log/corosync.log
  to_syslog: yes
  syslog_facility: daemon
  debug: on
  timestamp: on
  logger_subsys {
    subsys: AMF
    debug: off
    tags: enter|leave|trace1|trace2|trace3|trace4|trace6
  }
}

Starten Sie nun die DRBD-MC und klicken Sie auf den “Host Wizard”.

Hostwizard Geben Sie den Namen des ersten Nodes (“nagios1″) an; DRBD-MC wird Sie nach dem root-Passwort fragen und sich auf den Node verbinden. Nachdem Systeminformationen abgefragt sind, sollten Sie dank vorheriger Installation aller Pakete den folgenden Hinweis sehen:

DRBD-MC-allinstalled Nachdem Sie diesen Schritt mittels “Add Another Host” für den Node “nagios2″ wiederholt haben, sind wir bereit, den Cluster zu bilden: DRBD-MC configure
cluster Im anschließend gestarteten “Cluster Wizard” benennen Sie die eben erzeugten Hosts zu Clustermembern:

Im Dialog “Corosync/OpenAIS Config File” klicken wir getrost auf “Next/Keep Old Config” – wir haben bereits alles notwendige in der corosync.conf manuell konfiguriert. Im abschließenden Dialog “Cluster Initialization” lässt sich nun Corosync starten, sodass der Asistent am Ende folgendes spricht:

Beenden Sie den Assistenten. Nun können Sie überprüfen, ob die beiden Rings, über sich die Nodes überwachen, funktionieren. Die Ring-id muss der IP-Adresse des Interfaces entsprechen:

root@nagios1:\~# corosync-cfgtool -s
  Printing ring status.
  Local node ID 167837962
  RING ID 0
  id = 10.1.1.10
  status = ring 0 active with no faults
  RING ID 1
  id = 10.1.2.10
  status = ring 1 active with no faults

Der Gesamtstatus des Clusters kann ebenfalls noch geprüft werden (achten Sie auf die letzte Zeile – stehen dort beide Nodes auf “online”?):

root@nagios1:\~# crm_mon [enter]
  ============
  Last updated: Thu May 5 18:13:03 2011
  Stack: openais
  Current DC: nagios1 - partition with quorum
  Version: 1.0.8-042548a451fce8400660f6031f4da6f0223dd5dd
  2 Nodes configured, 2 expected votes
  0 Resources configured.
  ============

  Online: [ nagios1 nagios2 ]

Der Vollständigkeit halber werfen wir noch einen Blick in die DRBD-MC – sie sollte nun die beiden noch jungfräulichen Nodes im Status “online” anzeigen:

In Teil 3 werden wir nun das DRBD-Device einrichten, sowie mit der Definition von Cluster-Ressourcen beginnen.

Nagios/OMD-Cluster mit Pacemaker/DRBD – Teil 1 (Installation der Nodes)

Nagios/OMD-Cluster mit Pacemaker/DRBD – Teil 2 (Konfiguration der Pakete)

Nagios/OMD-Cluster mit Pacemaker/DRBD – Teil 3 (Einrichtung der Clusterressourcen)

Nagios/OMD-Cluster mit Pacemaker/DRBD – Teil 4 (OMD-Sites als Clusterressource)

Nagios/OMD-Cluster mit Pacemaker/DRBD – Teil 5 (Constraints)

Nagios/OMD-Cluster mit Pacemaker/DRBD – Teil 6 (Besonderheiten)