Projektbezeichnung (Aufgabe / Teilaufgabe)
Clustern einer vorhandenen PostgreSQL-Datenbank inklusive Backup-System mittels Open-Source-Software.
Projektbeschreibung
Ist-Zustand:
Die alphyra GmbH ist Dienstleister im Bereich elektronischer Zahlungsmittel und Verkauf von Prepaid-Codes.
Das Rechenzentrum der alphyra GmbH enthält 158 Server. Einer dieser Server basiert auf Suse Linux 8.1 und beinhaltet eine PostgreSQL-Datenbank (Postgresql 7.2.2-16). Auf dieser Datenbank werden Prepaid-Codes gespeichert, die nicht von unseren Hauptlieferanten stammen. Dieser Datenbank-Server ist nicht durch ein Cluster-Verfahren auf hohe Verfügbarkeit abgesichert. Eine Filesystem Backup-Lösung sichert den Server in regelmäßigen Abständen. Das Wiederherstellen der ausgefallenen Datenbank würde im Idealfall ca. 1 Stunde dauern, jedoch kann die Konsistenz der Daten nicht gewährleistet werden.
Soll-Zustand:
Die Ausfall-Sicherheit der PostgreSQL-Datenbank soll durch eine evaluierte Open-Source Cluster-Lösung erhöht werden. Durch das Cluster-System soll eine Hochverfügbarkeit mit einer maximalen Ausfall-Zeit von 20 Sekunden erreicht werden. Eine ausgewählte Replikations-Software soll das Filesystem des produktiven Servers über das Netzwerk auf den sekundären Server synchronisieren.
Aus Sicherheitsgründen soll der Server von Suse Linux 8.1 und PostgreSQL 7.2.2-16 auf die aktuelle OpenSuse- und PostgreSQL–Version aktualisiert und migriert werden (OpenSuse 10.1 / PostgreSQL 8.1.3-12). Zusätzlich soll die Datenbank regelmäßig durch ein Datenbank-Dump auf einen Backup-Server gesichert werden.
Projektkern:
Projektkern ist
die Installation eines Ausfall-Systems mit Open Suse Linux 10.1
das Aktualisieren des Datenbank-Systems von PostgreSQL 7.2.2-16 auf PostgreSQL 8.1.3-12
die Integration der Cluster-Software-Lösung Heartbeat
die Evaluierung einer geeigneten Replikations-Software (drbd, openMosix, CodaFS)
die Integration der Replakations-Software in Heartbeat
die Evaluierung eines zusätzlichen Backup-Verfahrens für die PostgreSQL-Datenbank
Meine Aufgaben sind:
Aufsetzen von zwei identischen Test-Servern
Evaluierung und Installation der Synchronisations-Software
Erstellung des Clusters mittels Heartbeat
Anbindung des Systems an einen Backup-Server
Test des Systems und Integration in das Rechenzentrum
Gewährleistung der Funktionsfähigkeit und Sicherheit des Systems
Projektumfeld
Schnittstellen:
Martin Fandel (Rechenzentrum)
Jens Hoffmann, Jan Hirschler (Automaten-Entwicklung, Pin-Verwaltung)
Allgemeine Administration (Kunden-Dokumentation für Linux-Administratoren)
Test-Umgebung des Rechenzentrums
Produktiv-Umgebung des Rechenzentrums