This diploma thesis deals with high availibility specially on open source software. A short brief explained why using open source software. Availibilty and other operating figures will be defined. Measureplans to solve this problem were made by German Bundesamt fuer Sicherheit in der Informationstechnik and the IT infrastructure library. DRBD and iSCSI were used to realize a small prized storage attached network. Different kind of database clusters using MySQL. Heartbeat and Linux Virtual Server are needed for high availibility and loadbalancing. Some examples shows how to reach high availibility on low costs with open source software.
Inhaltsverzeichnis
1 Einleitung
1.1 Motivation zu dieser Arbeit
1.2 Warum Open Source Software?
1.3 Allgemeine Voraussetzungen zur Arbeit
1.4 Konventionsvereinbarung
2 Grundlagen
2.1 Verfügbarkeit
2.1.1 Definition und Kennzahlen
2.1.2 Gründe der Nichtverfügbarkeit
2.1.3 Messverfahren
2.2 RAID
2.2.1 RAID Level
2.2.2 Datenverlust im RAID
2.2.3 Hardware-RAID
2.2.4 Software-RAID
2.3 DRBD
2.3.1 Funktionsweise
2.3.2 Installation
2.4 iSCSI
2.4.1 Funktionsweise
2.4.2 iSCSI-Target
2.4.3 iSCSI-Initiator
2.5 Cluster
2.5.1 Active-Passive Cluster
2.5.2 Active-Active Cluster
2.5.3 Load-Balanced Cluster
2.5.4 High Performance Cluster
2.6 Heartbeat
2.6.1 Funktionsweise
2.6.2 Installation
2.6.3 Konfiguration
2.6.4 Fehlerszenarien
2.7 Storage
2.7.1 SAN versus NAS
2.7.2 Storage-Based Mirroring
2.7.3 Host-Based Mirroring
2.7.4 Dateisysteme
2.8 Literaturkritik
3 Hochverfügbarkeitsszenarien
3.1 Hochverfügbare Speicherlösung
3.1.1 Funktionsweise Shared Storage
3.1.2 Konfiguration
3.2 Datenbank-Cluster mit MySQL
3.2.1 Failover mit Shared Storage
3.2.2 Redundanz durch Replikation
3.2.3 Network Database Cluster
3.3 Sichere Webanwendungen
3.3.1 Linux Virtual Server
3.3.2 Apache Webserver
3.4 Zusammenfassung
4 Fazit und Ausblick
A Konfigurationsdateien
A.1 DRBD drbd.conf
A.2 iSCSI initiatorname.iscsi
A.3 iSCSI ietd.conf
A.4 Heartbeat ha.cf
A.5 Heartbeat haresources
A.6 Heartbeat authkey
A.7 Heartbeat cib.xml
A.8 Apache lb.conf
A.9 Apache Module
Zielsetzung & Themen
Diese Arbeit zielt darauf ab, Möglichkeiten zur Realisierung hochverfügbarer IT-Systeme unter Verwendung von Open-Source-Software aufzuzeigen. Dabei liegt der Fokus auf der Evaluierung kosteneffizienter Lösungen für das Speichermanagement, die Datenbankverwaltung und die Lastverteilung in einem Cluster-Umfeld.
- Einsatz von DRBD für die synchrone Datenreplikation.
- Integration von iSCSI zur Realisierung eines kostengünstigen Storage Area Network (SAN).
- Implementierung von Heartbeat-Clustern für das Failover-Management.
- Nutzung des Linux Virtual Server (LVS) und Apache zur Lastverteilung.
- Redundanzkonzepte für MySQL-Datenbanken mittels Replikation oder NDB-Cluster.
Auszug aus dem Buch
2.3.1 Funktionsweise
DRBD erstellt aus den Blockgeräten unter Linux ein neues virtuelles Gerät im /dev/-Verzeichnis. Dieses Gerät ist für höhere Schichten vollkommen transparent und verhält sich wie ein Blockgerät. Der aktive Knoten des virtuellen Gerätes wird als Primary und der passive Knoten als Secondary bezeichnet. Die Thematik der aktiven und passiven Knoten wird in Kapitel 2.5 ausführlicher erläutert.
Leseoperationen finden auf den lokalen Backend-Geräten, den eingebundenen Blockgeräten, statt. Schreiboperationen sind bis zur Version 8 nur auf dem aktiven Knoten möglich. Ab Version 8 wurde die Lastverteilung eingeführt mit der Möglichkeit konkurrierender Lese- und Schreibzugriffe.
Um die Konsistenz der Daten jederzeit zu erhalten, wird mit der Schreiboperation des Datenblocks eine Kopie an den passiven Knoten gesendet. Der aktive Knoten erstellt weiterhin ein Metadatum zu dem geschriebenen Datenblock zur Kennzeichnung der Inkonsistenz. Diese Kennzeichnung wird erst auf konsistent abgeändert, sobald der passive Knoten ebenfalls die Schreiboperation durchgeführt und bestätigt hat. Der Anwendung, welche die Schreiboperation veranlasst hat, wird nun bestätigt, dass der Schreibzugriff erfolgreich durchgeführt wurde. Hierdurch ist eine permanente Konsistenz der Daten sichergestellt.
Bei Ausfall eines Knotens handhabt DRBD die Resynchronisation ressourcenschonend. Es werden lediglich die Datenblöcke übertragen, die sich seit dem Austritt des Knotens bis zur Wiederverbindung geändert haben. Die geänderten Datenblöcke speichert DRBD innerhalb einer Synchronitäts-Bitmap. Jedes Bit innerhalb des Synchronitäts-Bitmap repräsentiert dabei einen ganzen Datenblock. Nach der Synchronisierung des Datenblocks wird das entsprechende Bit innerhalb der Synchronitäts-Bitmap wieder zurückgesetzt. Elegant hierbei ist, dass die Daten nicht in der ursprünglichen Reihenfolge der Schreiboperation geschrieben werden, wie es bei einem Journal der Fall wäre, sondern blockorientiert. Dies hat den Vorteil, dass die Kopfbewegungen der Festplatten reduziert werden.
Zusammenfassung der Kapitel
1 Einleitung: Dieses Kapitel erläutert die Motivation für das Thema Hochverfügbarkeit, die Bedeutung von Open Source Software und die allgemeinen Voraussetzungen zur Arbeit.
2 Grundlagen: Hier werden theoretische Basisbegriffe wie Verfügbarkeit, RAID, DRBD, iSCSI, Cluster-Technologien, Heartbeat und Speicherlösungen (SAN/NAS) definiert und analysiert.
3 Hochverfügbarkeitsszenarien: Dieser Abschnitt verknüpft die vorgestellten Softwarekomponenten zu konkreten Szenarien wie hochverfügbaren Speicherlösungen, MySQL-Datenbank-Clustern und sicheren Webanwendungen.
4 Fazit und Ausblick: Diese Zusammenfassung reflektiert die Ergebnisse der Arbeit und betont die Notwendigkeit von Redundanz und sorgfältiger Planung bei der Implementierung hochverfügbarer Systeme.
Schlüsselwörter
Hochverfügbarkeit, Open Source Software, DRBD, iSCSI, RAID, Cluster, Heartbeat, MySQL, Load-Balancing, Linux Virtual Server, Storage, Redundanz, Failover, Datensicherheit, IT-Infrastruktur
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Diplomarbeit befasst sich mit Strategien zur Erhöhung der Verfügbarkeit von IT-Systemen unter ausschließlicher Verwendung von Open-Source-Software-Komponenten.
Was sind die zentralen Themenfelder?
Die zentralen Themen umfassen die Konzepte von RAID, Datenreplikation via DRBD, Speicherbereitstellung über iSCSI, Clustering mit Heartbeat sowie Lastverteilung mittels Apache und Linux Virtual Server.
Was ist das primäre Ziel der Arbeit?
Ziel ist es, praxistaugliche und kostengünstige Szenarien zu entwerfen, mit denen IT-Systeme gegen Hardware- und Softwareausfälle abgesichert werden können.
Welche wissenschaftliche Methode wurde verwendet?
Die Arbeit basiert auf einer Literaturanalyse zu theoretischen Grundlagen sowie einer praxisorientierten Implementierung und Konfiguration von Beispielszenarien zur Demonstration der Hochverfügbarkeit.
Was wird im Hauptteil behandelt?
Im Hauptteil werden zunächst die theoretischen Grundlagen (RAID, DRBD, iSCSI, Cluster) erarbeitet und anschließend in Kapitel 3 in spezifische Szenarien für Storage, Datenbanken und Webanwendungen überführt.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie Hochverfügbarkeit, Redundanz, Cluster, DRBD, iSCSI und Load-Balancing charakterisiert.
Warum wird im Speichermanagement die DRBD-Technologie eingesetzt?
DRBD wird eingesetzt, um Blockgeräte über IP-Netzwerke hinweg synchron zu spiegeln, was eine redundante Datenhaltung und damit Storage-Based Mirroring ermöglicht.
Wie verhindert man die "Split Brain"-Situation in einem Heartbeat-Cluster?
Um das "Split Brain"-Szenario zu verhindern, werden Maßnahmen wie redundante Kommunikationspfade, STONITH ("Shoot the other node in the head") für das Fencing oder ein Quorum-System zur Entscheidungsfindung eingesetzt.
- Quote paper
- Diplom-Wirtschaftsinformatiker (FH) Michael Gläß (Author), 2009, Hochverfügbarkeitsstrategien auf Open-Source-Basis, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/167307