SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Nagios hochverfügbar mit Heartbeat v2
Vortrag auf der Netways Nagios Konferenz 08
B1 Systems GmbH
http://www.b1-systems.de
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Das Linux HA Projekt
Das Linux High Availability Project, kurz Linux HA, hat sich das Ziel
gesteckt, eine hochverfügbare, redundante und servicefähige
Cluster-Software zu entwickeln, die auf jeder Linuxdistribution
eingesetzt werden kann.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Das Linux HA Projekt
Diese generische Software ist in der Lage,
sämtliche initskriptgesteuerten Vorgänge auf jedem Knoten des
Clusters zu kontrollieren
im Bedarfsfall Ressourcen auf andere Knoten auszulagern
(Fencing)
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
RAS steht für ...
Reliability
Availability – Verwaltung von Ressourcengruppen,
Serviceabhängigkeiten, Prioritätssteuerung und
Clustermitgliedschaften
Serviceability – Optimiert für den Einsatz von bis zu 16
Knoten innerhalb des HA Clusters
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Features von Heartbeat
Heartbeat V2 wird nach dem Open Cluster Framework
(OpenCF) entwickelt und integriert die Verfügbarkeit sowie die
Verwaltung von gemeinsamen Ressourcengruppen,
Serviceabhängigkeiten und Prioritätssteuerung.
Auch die Clustermitgliedschaft wird über Heartbeat V2
verwaltet.
Es sind bis zu 16 Knoten innerhalb eines Linux HA-Clusters
möglich.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Betriebsarten
Heartbeat kann auf zwei Arten oder einer Mischung aus beiden
betrieben werden:
Aktiv-Aktiv als Loadsharing-Cluster
Aktiv-Passiv als Hochverfügbarkeitscluster
Bei einer Loadsharing-Installation werden Ressourcen durch Gruppen
über mehrere Knoten hinweg zur Lastverteilung platziert.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Basiskonfiguration
Die Konfiguration geschieht an zwei Punkten:
Statische Konfiguration unterhalb von /etc/ha.d/
Dynamische Konfiguration: wird in der Cluster Information Base
(kurz CIB) abgelegt
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
CIB — Laufzeitreplikation
die CIB wird zur Laufzeit auf alle im Cluster befindlichen Knoten
repliziert
Änderungen an der Konfiguration via Heartbeat GUI werden
daher sehr schnell und ohne Neustart wirksam
die CIB wird in XML (Extensible Markup Language) verwaltet
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Basis Konfiguration
Die statische Konfiguration wird in den folgenden Dateien unterhalb
von /etc/ha.d/ definiert ...
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
/etc/ha.d/ha.cf
Festlegen der Kommunikationsschnittstelle (/dev/ttyX, ethX
etc.)
Einstellen der Übertragungsart bei Verwendung von Ethernet
(Bcast, Ucast, Mcast)
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
/etc/ha.d/ha.cf
Hier werden das Kommunikationsinterface und die
Kommunikationsart (Broadcast, Multicast oder Unicast) festgelegt,
die für die Übermittlung von Keep-Alive Nachrichten verwendet
werden sollen. Man bedenke dass stets redundante Netzwerkpfade zu
anderen Knoten genutzt werden um „single point of failure“-Szenarien
zu vermeiden.
Es ist sinnvoll, ein separates Interface nur für die
Heartbeat-Kommunikation zu verwenden. Dies gewährleistet dass die
Kommunikation nicht durch Netzwerklast unterbrochen und eine
Inkonsistenz des Clusters riskiert wird.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
/etc/ha.d/authkeys
Schlüssel und dessen Algorithmus festlegen (CRC, MD5,
SHA1)
Hier wird der Algorithmus für die interne Kommunikation sowie ein
Schlüsselwort festgelegt, mit dem sich die Clusterknoten verständigen.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
/etc/ha.d/authkeys
Dieser Datei ist besonders dann Aufmerksamkeit zu schenken, wenn
es um DoS-Attacken in produktiven Umgebungen geht.
Mögliche Algorithmen bei der Authentifizierung:
CRC – Einfaches Verfahren für Fehlererkennung
MD5 – Hashing Algorithmus mit Verschlüsselung (128 bit)
SHA1 – sinnvollster Algorithmus (160 bit)
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
/etc/logd.conf
Hier werden loglevel-spezifische Optionen wie zum Beispiel die zu
verwendende syslog facility und der Pfad zur Logdatei eingetragen.
Beispiel:
debugfile /var/log/ha-debug
logfacility local0
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Watchdog
Damit sichergestellt ist, dass die Prozesskommunikation auf dem
Knoten auch einwandfrei funktioniert, bedarf es einer zusätzlichen
Komponente:
Watchdog – bei einer zu hohen Systemlast wird das System
neu gestartet / heruntergefahren
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Watchdog – „softdog“
der am meisten genutzte Watchdog unter Linux ist „softdog“
eine auf Software basierende Implementation eines Watchdogs
im Linux-Kernel
diese Erweiterung ist in produktiven Umgebungen erforderlich,
um jeden Knoten vor eigenen Fehlern zu schützen, die eine zu
hohe Systemlast erzeugen
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Heartbeat-Tools
Die gängigsten Tools, die Heartbeat bereitstellt, im Überblick:
crm_resource: modifiziert Clusterressourcen
crm_standby: ändert den Status von Knoten
crm_uuid: empfängt und ändert eindeutige
Clusteridentifikationen
crm_verify: verifiziert Einträge der CIB
cl_status: zeigt Knoten-Verbindungsstatus
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Heartbeat Tools – hb_gui
hb_gui – die grafische Heartbeat Administrationskonsole
Das grafische Administrationsinterface kann von jedem Knoten des
Clusters aus aufgerufen werden. Um dieses Feature jedoch nutzen zu
können, muss auf jedem Knoten, von dem diese Konsole erreichbar
sein soll, das Passwort für den hacluster-Benutzer gesetzt sein! Um
bei mehren Clustern eine zentrale Verteilung der
Benutzerdaten/Kennwörter zu ermöglichen, bieten sich NIS oder
LDAP an.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Screenshot – hb_gui
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Ressourcen
Dienste werden nicht mehr durch Runlevel sondern durch
Heartbeat selbst organisiert
Innerhalb von Heartbeat werden Dienste als Ressourcen behandelt,
welche unter Konten hin- und hergeschoben werden können.
Für jede Ressource bedarf es eines passenden Initskripts unterhalb
/etc/ha.d/resource.d/, mit dem Heartbeat die gewünschten
Operationen auf den Knoten verwalten/ansprechen kann.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Arten von Ressourcen
LSB – Linux Standard Base Resource
LSB-Ressourcen sind normale Initialisierungsskripte wie zum Beispiel
die von Nagios und Apache2 unterhalb von /etc/init.d/. Sie
unterstützen keine Übergabe von zusätzlichen Attributen und sind
daher recht unflexibel.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Arten von Ressourcen
OCFR – Open Cluster Framework Ressource
Open Cluster Framework Ressourcen sind flexibler, jedoch können
diese nicht ohne Cluster Information Base (CIB) eingesetzt werden.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Vorteil – OCF Ressourcen
Falls vorhanden, immer OCF Ressourcen verwenden, da diese flexibler
konfigurierbar sind.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Live Konfiguration
Aufzeigen der Clusterkonfiguration
Erläuterung zu den Konfigurationsdateien / GUI
Simulation eines Ausfalls des ersten Knoten
Es wird ein simpler Aktiv-Passiv Cluster für die Hochverfügbarkeit
von DRBD, Nagios und Apache2 eingerichtet. Danach wird ein
Ausfall des ersten Knoten simuliert.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Knotenkonfiguration (Xen)
Beide Knoten werden identisch eingerichtet, angefangen bei der
Partitionierung bis hin zu den Netzwerkgeräten. Die Hostsysteme, auf
denen die Knoten abgebildet sind, werden mittels Xen 3.2.0 als
dessen Gäste virtualisiert.
Konfigurationsübersicht:
Partitionierung
Netzwerkgeräte & Netzwerksetup
Softwareversionen
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Partitionierung
Das Partitionierungsschema für die Umgebung ist recht simpel
gehalten:
Erstes Laufwerk mit 4GB für swap & root Partition
Zweites Laufwerk mit 1GB für den DRBD-Netzwerkspiegel
(/etc/nagios/)
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Netzwerkgeräte & Netzwerksetup
Es werden zwei (para-)virtualisierte Netzwerkadapter für jeden
Knoten bereitgestellt. Der erste Adapter eth0 wird für die öffentliche
Anbindung und den DRBD Datentransfer benutzt.
Der sekundäre Adapter eth1 wird lediglich für die Cluster
Kommunikation unter den Knoten verwendet. Die Hostnamen werden
in der aufgelisteten Reihenfolge in die /etc/hosts eingetragen
(knoten*-intern für Heartbeat-Kommunikation)
hostname knoten1: eth0 192.168.3.10/24
hostname knoten1-intern: eth1 192.168.4.10/24
hostname knoten2: eth0 192.168.3.20/24
hostname knoten2-intern: eth1 192.168.4.20/24
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Verwendete Software
Für die Knoten werden die in SLES10 SP2 mitgelieferten Software
Versionen verwendet.
heartbeat – 2.1.3-0.9
nagios – 2.6-13.16
nagios-www – 2.6-13.16
apache2 – 2.2.3-16.18
apache2-prefork – 2.2.3-16.18
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Live Demonstration
Live demo
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Bevor es losgehen kann . . .
müssen die Voraussetzungen für den Cluster geschaffen werden.
Zeitabgleich via NTP (entfällt bei Xen Gästen da
Synchronisation über Dom0)
Eindeutige Knoten Namen mit IP Zuordnung in der Datei
/etc/hosts für intern/extern
Im Produktivbetrieb die DNS Konfiguration sicherstellen um
externe Erreichbarkeit zu gewährleisten
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Live Demonstration
Nun wird folgendes demonstriert:
Backup des Ordners /etc/nagios/ nach
/etc/nagios_backup/
Eintragen des /dev/drbd0 Geräts in die /etc/fstab
(einhängen auf /etc/nagios/)
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Live Demonstration
Nun wird folgendes demonstriert:
Konfiguration von DRBD auf beiden Knoten
Heartbeat-Konfiguration
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Live Demonstration
Nun wird folgendes demonstriert:
Synchronisation der Konfigurationsdateien zwischen beiden
Nodes
Runlevel für heartbeat, nagios, apache2 und drbd anpassen
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Live Demonstration
Nun wird folgendes demonstriert:
Ressourcen Konfiguration mittels Heartbeat GUI
nach erfolgreicher Konfiguration Ausfall des ersten Knoten
simulieren
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Erläuterung zu den Konfigurationsdateien
Und nun einen ausführlichen Blick auf die Konfigurationsdateien:
/etc/hosts
/etc/fstab
/etc/drbd.conf
/etc/ha.d/ha.cf
/etc/ha.d/authkeys
Nagios und Apache2 behalten ihre Standardeinstellungen bei da es
hier lediglich darum geht, die Erreichbarkeit des Nagios Web Interface
zu demonstrieren.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Abschließende Hinweise zu Heartbeat
Beim Durchstarten des Clusters sollte immer der Knoten zuerst
gestartet werden der zuletzt als aktiver am Netz war und den
aktuellen Nutzdaten Bestand hat.
Bei einem Neustart des Systems wird von DRBD gefragt
welchen Status der nun gestartete Knoten haben soll. In aller
Regel wird diese Frage auf dem zuletzt primären Knoten mit
„Yes“ beantwortet.
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Abschließende Hinweise zu Heartbeat
„STONITH“ ist ein Akronym für „Shoot The Other Node In The
Head“
Hardware Varianten können Stromleisten (APC) mit Ethernet
Schnittstelle oder Netzwerk Switches mit verwaltbarer
Stromzufuhr sein
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
Abschließende Hinweise zu Heartbeat
STONITH Geräte können auch durch eine SSH Verbindung
nachgebildet werden welche den defekten Knoten im Ernstfall
herunterfährt (Nicht für produktive Umgebung geeignet!)
externe Hardware Variante ist sicherer da diese im Ernstfall dem
Knoten den „Saft“ abdreht und somit auch Nutzdaten schützt,
da der Knoten nicht mehr mit anderen Knoten kommunizieren
kann
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
The end...
Vielen Dank für Ihre Aufmerksamkeit ;-)
c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2

Weitere ähnliche Inhalte

Was ist angesagt?

SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSchlomo Schapiro
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Teambrandts
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Linux slides 2013_upload
Linux slides 2013_uploadLinux slides 2013_upload
Linux slides 2013_uploadRosa Freund
 
Presentation
PresentationPresentation
Presentationspinalt
 

Was ist angesagt? (7)

SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werden
 
Software Entwicklung im Team
Software Entwicklung im TeamSoftware Entwicklung im Team
Software Entwicklung im Team
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Openshift
OpenshiftOpenshift
Openshift
 
[14] Nu P 09 2
[14] Nu P 09 2[14] Nu P 09 2
[14] Nu P 09 2
 
Linux slides 2013_upload
Linux slides 2013_uploadLinux slides 2013_upload
Linux slides 2013_upload
 
Presentation
PresentationPresentation
Presentation
 

Ähnlich wie OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart

Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtB1 Systems GmbH
 
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...NETWAYS
 
Ausfallsichere Kultur mit Plone
Ausfallsichere Kultur mit PloneAusfallsichere Kultur mit Plone
Ausfallsichere Kultur mit PloneJens Klein
 
Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingB1 Systems GmbH
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceB1 Systems GmbH
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet B1 Systems GmbH
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen B1 Systems GmbH
 
Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?B1 Systems GmbH
 
Orchestrierung einer Private Cloud mit OpenStack Heat
Orchestrierung einer Private Cloud mit OpenStack Heat Orchestrierung einer Private Cloud mit OpenStack Heat
Orchestrierung einer Private Cloud mit OpenStack Heat B1 Systems GmbH
 
Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Andreas Schulte
 
OpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenOpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenB1 Systems GmbH
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesDigicomp Academy AG
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceB1 Systems GmbH
 
Ceph - Software Defined Storage für die Cloud
Ceph - Software Defined Storage für die CloudCeph - Software Defined Storage für die Cloud
Ceph - Software Defined Storage für die CloudB1 Systems GmbH
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschcynapspro GmbH
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschcynapspro GmbH
 
Dateisysteme und Datenbanken im Cloud Computing
Dateisysteme und Datenbanken im Cloud ComputingDateisysteme und Datenbanken im Cloud Computing
Dateisysteme und Datenbanken im Cloud ComputingLothar Wieske
 

Ähnlich wie OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart (20)

Docker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemachtDocker - Containervirtualisierung leichtgemacht
Docker - Containervirtualisierung leichtgemacht
 
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
 
Ausfallsichere Kultur mit Plone
Ausfallsichere Kultur mit PloneAusfallsichere Kultur mit Plone
Ausfallsichere Kultur mit Plone
 
systemd im Alltag
systemd im Alltagsystemd im Alltag
systemd im Alltag
 
Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-Packaging
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
 
System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet System- & Konfigurationsmanagement mit Foreman & Puppet
System- & Konfigurationsmanagement mit Foreman & Puppet
 
Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen Docker - Automatisches Deployment für Linux-Instanzen
Docker - Automatisches Deployment für Linux-Instanzen
 
Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?
 
Orchestrierung einer Private Cloud mit OpenStack Heat
Orchestrierung einer Private Cloud mit OpenStack Heat Orchestrierung einer Private Cloud mit OpenStack Heat
Orchestrierung einer Private Cloud mit OpenStack Heat
 
Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1Lotus Foundations Workshop Teil1
Lotus Foundations Workshop Teil1
 
OpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von InstanzenOpenStack – Automatisiertes Bereitstellen von Instanzen
OpenStack – Automatisiertes Bereitstellen von Instanzen
 
Roadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & FeaturesRoadshow Oracle Database 12c: News & Features
Roadshow Oracle Database 12c: News & Features
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
 
Ceph - Software Defined Storage für die Cloud
Ceph - Software Defined Storage für die CloudCeph - Software Defined Storage für die Cloud
Ceph - Software Defined Storage für die Cloud
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutsch
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutsch
 
Dateisysteme und Datenbanken im Cloud Computing
Dateisysteme und Datenbanken im Cloud ComputingDateisysteme und Datenbanken im Cloud Computing
Dateisysteme und Datenbanken im Cloud Computing
 
Cryption proflyer de
Cryption proflyer deCryption proflyer de
Cryption proflyer de
 

Kürzlich hochgeladen

Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...OPEN KNOWLEDGE GmbH
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Markus Unterauer
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationOPEN KNOWLEDGE GmbH
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 

Kürzlich hochgeladen (6)

Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (1) zu Teil 3 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 

OSMC 2008 | Nagios Hochverfügbar mit hearbeat V2 by Jan Dennis Bungart

  • 1. Nagios hochverfügbar mit Heartbeat v2 Vortrag auf der Netways Nagios Konferenz 08 B1 Systems GmbH http://www.b1-systems.de c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 2. Das Linux HA Projekt Das Linux High Availability Project, kurz Linux HA, hat sich das Ziel gesteckt, eine hochverfügbare, redundante und servicefähige Cluster-Software zu entwickeln, die auf jeder Linuxdistribution eingesetzt werden kann. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 3. Das Linux HA Projekt Diese generische Software ist in der Lage, sämtliche initskriptgesteuerten Vorgänge auf jedem Knoten des Clusters zu kontrollieren im Bedarfsfall Ressourcen auf andere Knoten auszulagern (Fencing) c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 4. RAS steht für ... Reliability Availability – Verwaltung von Ressourcengruppen, Serviceabhängigkeiten, Prioritätssteuerung und Clustermitgliedschaften Serviceability – Optimiert für den Einsatz von bis zu 16 Knoten innerhalb des HA Clusters c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 5. Features von Heartbeat Heartbeat V2 wird nach dem Open Cluster Framework (OpenCF) entwickelt und integriert die Verfügbarkeit sowie die Verwaltung von gemeinsamen Ressourcengruppen, Serviceabhängigkeiten und Prioritätssteuerung. Auch die Clustermitgliedschaft wird über Heartbeat V2 verwaltet. Es sind bis zu 16 Knoten innerhalb eines Linux HA-Clusters möglich. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 6. Betriebsarten Heartbeat kann auf zwei Arten oder einer Mischung aus beiden betrieben werden: Aktiv-Aktiv als Loadsharing-Cluster Aktiv-Passiv als Hochverfügbarkeitscluster Bei einer Loadsharing-Installation werden Ressourcen durch Gruppen über mehrere Knoten hinweg zur Lastverteilung platziert. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 7. Basiskonfiguration Die Konfiguration geschieht an zwei Punkten: Statische Konfiguration unterhalb von /etc/ha.d/ Dynamische Konfiguration: wird in der Cluster Information Base (kurz CIB) abgelegt c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 8. CIB — Laufzeitreplikation die CIB wird zur Laufzeit auf alle im Cluster befindlichen Knoten repliziert Änderungen an der Konfiguration via Heartbeat GUI werden daher sehr schnell und ohne Neustart wirksam die CIB wird in XML (Extensible Markup Language) verwaltet c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 9. Basis Konfiguration Die statische Konfiguration wird in den folgenden Dateien unterhalb von /etc/ha.d/ definiert ... c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 10. /etc/ha.d/ha.cf Festlegen der Kommunikationsschnittstelle (/dev/ttyX, ethX etc.) Einstellen der Übertragungsart bei Verwendung von Ethernet (Bcast, Ucast, Mcast) c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 11. /etc/ha.d/ha.cf Hier werden das Kommunikationsinterface und die Kommunikationsart (Broadcast, Multicast oder Unicast) festgelegt, die für die Übermittlung von Keep-Alive Nachrichten verwendet werden sollen. Man bedenke dass stets redundante Netzwerkpfade zu anderen Knoten genutzt werden um „single point of failure“-Szenarien zu vermeiden. Es ist sinnvoll, ein separates Interface nur für die Heartbeat-Kommunikation zu verwenden. Dies gewährleistet dass die Kommunikation nicht durch Netzwerklast unterbrochen und eine Inkonsistenz des Clusters riskiert wird. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 12. /etc/ha.d/authkeys Schlüssel und dessen Algorithmus festlegen (CRC, MD5, SHA1) Hier wird der Algorithmus für die interne Kommunikation sowie ein Schlüsselwort festgelegt, mit dem sich die Clusterknoten verständigen. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 13. /etc/ha.d/authkeys Dieser Datei ist besonders dann Aufmerksamkeit zu schenken, wenn es um DoS-Attacken in produktiven Umgebungen geht. Mögliche Algorithmen bei der Authentifizierung: CRC – Einfaches Verfahren für Fehlererkennung MD5 – Hashing Algorithmus mit Verschlüsselung (128 bit) SHA1 – sinnvollster Algorithmus (160 bit) c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 14. /etc/logd.conf Hier werden loglevel-spezifische Optionen wie zum Beispiel die zu verwendende syslog facility und der Pfad zur Logdatei eingetragen. Beispiel: debugfile /var/log/ha-debug logfacility local0 c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 15. Watchdog Damit sichergestellt ist, dass die Prozesskommunikation auf dem Knoten auch einwandfrei funktioniert, bedarf es einer zusätzlichen Komponente: Watchdog – bei einer zu hohen Systemlast wird das System neu gestartet / heruntergefahren c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 16. Watchdog – „softdog“ der am meisten genutzte Watchdog unter Linux ist „softdog“ eine auf Software basierende Implementation eines Watchdogs im Linux-Kernel diese Erweiterung ist in produktiven Umgebungen erforderlich, um jeden Knoten vor eigenen Fehlern zu schützen, die eine zu hohe Systemlast erzeugen c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 17. Heartbeat-Tools Die gängigsten Tools, die Heartbeat bereitstellt, im Überblick: crm_resource: modifiziert Clusterressourcen crm_standby: ändert den Status von Knoten crm_uuid: empfängt und ändert eindeutige Clusteridentifikationen crm_verify: verifiziert Einträge der CIB cl_status: zeigt Knoten-Verbindungsstatus c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 18. Heartbeat Tools – hb_gui hb_gui – die grafische Heartbeat Administrationskonsole Das grafische Administrationsinterface kann von jedem Knoten des Clusters aus aufgerufen werden. Um dieses Feature jedoch nutzen zu können, muss auf jedem Knoten, von dem diese Konsole erreichbar sein soll, das Passwort für den hacluster-Benutzer gesetzt sein! Um bei mehren Clustern eine zentrale Verteilung der Benutzerdaten/Kennwörter zu ermöglichen, bieten sich NIS oder LDAP an. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 19. Screenshot – hb_gui c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 20. Ressourcen Dienste werden nicht mehr durch Runlevel sondern durch Heartbeat selbst organisiert Innerhalb von Heartbeat werden Dienste als Ressourcen behandelt, welche unter Konten hin- und hergeschoben werden können. Für jede Ressource bedarf es eines passenden Initskripts unterhalb /etc/ha.d/resource.d/, mit dem Heartbeat die gewünschten Operationen auf den Knoten verwalten/ansprechen kann. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 21. Arten von Ressourcen LSB – Linux Standard Base Resource LSB-Ressourcen sind normale Initialisierungsskripte wie zum Beispiel die von Nagios und Apache2 unterhalb von /etc/init.d/. Sie unterstützen keine Übergabe von zusätzlichen Attributen und sind daher recht unflexibel. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 22. Arten von Ressourcen OCFR – Open Cluster Framework Ressource Open Cluster Framework Ressourcen sind flexibler, jedoch können diese nicht ohne Cluster Information Base (CIB) eingesetzt werden. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 23. Vorteil – OCF Ressourcen Falls vorhanden, immer OCF Ressourcen verwenden, da diese flexibler konfigurierbar sind. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 24. Live Konfiguration Aufzeigen der Clusterkonfiguration Erläuterung zu den Konfigurationsdateien / GUI Simulation eines Ausfalls des ersten Knoten Es wird ein simpler Aktiv-Passiv Cluster für die Hochverfügbarkeit von DRBD, Nagios und Apache2 eingerichtet. Danach wird ein Ausfall des ersten Knoten simuliert. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 25. Knotenkonfiguration (Xen) Beide Knoten werden identisch eingerichtet, angefangen bei der Partitionierung bis hin zu den Netzwerkgeräten. Die Hostsysteme, auf denen die Knoten abgebildet sind, werden mittels Xen 3.2.0 als dessen Gäste virtualisiert. Konfigurationsübersicht: Partitionierung Netzwerkgeräte & Netzwerksetup Softwareversionen c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 26. Partitionierung Das Partitionierungsschema für die Umgebung ist recht simpel gehalten: Erstes Laufwerk mit 4GB für swap & root Partition Zweites Laufwerk mit 1GB für den DRBD-Netzwerkspiegel (/etc/nagios/) c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 27. Netzwerkgeräte & Netzwerksetup Es werden zwei (para-)virtualisierte Netzwerkadapter für jeden Knoten bereitgestellt. Der erste Adapter eth0 wird für die öffentliche Anbindung und den DRBD Datentransfer benutzt. Der sekundäre Adapter eth1 wird lediglich für die Cluster Kommunikation unter den Knoten verwendet. Die Hostnamen werden in der aufgelisteten Reihenfolge in die /etc/hosts eingetragen (knoten*-intern für Heartbeat-Kommunikation) hostname knoten1: eth0 192.168.3.10/24 hostname knoten1-intern: eth1 192.168.4.10/24 hostname knoten2: eth0 192.168.3.20/24 hostname knoten2-intern: eth1 192.168.4.20/24 c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 28. Verwendete Software Für die Knoten werden die in SLES10 SP2 mitgelieferten Software Versionen verwendet. heartbeat – 2.1.3-0.9 nagios – 2.6-13.16 nagios-www – 2.6-13.16 apache2 – 2.2.3-16.18 apache2-prefork – 2.2.3-16.18 c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 29. Live Demonstration Live demo c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 30. Bevor es losgehen kann . . . müssen die Voraussetzungen für den Cluster geschaffen werden. Zeitabgleich via NTP (entfällt bei Xen Gästen da Synchronisation über Dom0) Eindeutige Knoten Namen mit IP Zuordnung in der Datei /etc/hosts für intern/extern Im Produktivbetrieb die DNS Konfiguration sicherstellen um externe Erreichbarkeit zu gewährleisten c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 31. Live Demonstration Nun wird folgendes demonstriert: Backup des Ordners /etc/nagios/ nach /etc/nagios_backup/ Eintragen des /dev/drbd0 Geräts in die /etc/fstab (einhängen auf /etc/nagios/) c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 32. Live Demonstration Nun wird folgendes demonstriert: Konfiguration von DRBD auf beiden Knoten Heartbeat-Konfiguration c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 33. Live Demonstration Nun wird folgendes demonstriert: Synchronisation der Konfigurationsdateien zwischen beiden Nodes Runlevel für heartbeat, nagios, apache2 und drbd anpassen c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 34. Live Demonstration Nun wird folgendes demonstriert: Ressourcen Konfiguration mittels Heartbeat GUI nach erfolgreicher Konfiguration Ausfall des ersten Knoten simulieren c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 35. Erläuterung zu den Konfigurationsdateien Und nun einen ausführlichen Blick auf die Konfigurationsdateien: /etc/hosts /etc/fstab /etc/drbd.conf /etc/ha.d/ha.cf /etc/ha.d/authkeys Nagios und Apache2 behalten ihre Standardeinstellungen bei da es hier lediglich darum geht, die Erreichbarkeit des Nagios Web Interface zu demonstrieren. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 36. Abschließende Hinweise zu Heartbeat Beim Durchstarten des Clusters sollte immer der Knoten zuerst gestartet werden der zuletzt als aktiver am Netz war und den aktuellen Nutzdaten Bestand hat. Bei einem Neustart des Systems wird von DRBD gefragt welchen Status der nun gestartete Knoten haben soll. In aller Regel wird diese Frage auf dem zuletzt primären Knoten mit „Yes“ beantwortet. c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 37. Abschließende Hinweise zu Heartbeat „STONITH“ ist ein Akronym für „Shoot The Other Node In The Head“ Hardware Varianten können Stromleisten (APC) mit Ethernet Schnittstelle oder Netzwerk Switches mit verwaltbarer Stromzufuhr sein c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 38. Abschließende Hinweise zu Heartbeat STONITH Geräte können auch durch eine SSH Verbindung nachgebildet werden welche den defekten Knoten im Ernstfall herunterfährt (Nicht für produktive Umgebung geeignet!) externe Hardware Variante ist sicherer da diese im Ernstfall dem Knoten den „Saft“ abdreht und somit auch Nutzdaten schützt, da der Knoten nicht mehr mit anderen Knoten kommunizieren kann c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2
  • 39. The end... Vielen Dank für Ihre Aufmerksamkeit ;-) c B1 Systems GmbH 2008. Heartbeat 2.1.3 aus SLES10 SP2