[en]   [de]
 Seitenindex: Programm :: Vortragsprogramm


 

Das rsplib-Projekt - Hochverfügbarkeit mit Reliable Server Pooling

von Thomas Dreibholz (Universität Essen, Institut für Experimentelle Mathematik)

Freitag, 24.06.2005, UG1: Thoma, 10:00-11:00 Uhr

Für eine ständig steigende Anzahl von IP-basierten Anwendungen wird Hochverfügbarkeit immer wichtiger. Proprietäre Lösungen gibt es viele, aber freie Alternativen sind selten.

Reliable Server Pooling, abgekürzt RSerPool, ist ein Rahmenwerk zur Bereitstellung hochverfügbarer Anwendungen durch redundante Server; es befindet sich zur Zeit in der Standardisierung durch die IETF RSerPool-Arbeitsgruppe (http://www.ietf.org/html.charters/rserpool-charter.html). Im RSerPool-Konzept werden Server, welche den gleichen Dienst anbieten, zu einem Pool zusammengefaßt. Jeder Pool ist dabei durch einen eindeutigen Pool Handle (PH) gekennzeichnet; Server in einem Pool werden als Pool Elemente (PE) bezeichnet. Fällt eines der PEs aus, so können seine Clients – Pool User (PU) genannt - einfach ein anderes PE des Pools auswählen und eine applikationsspezifische Failover-Prozedur durchführen. Der Failover, d.h. die Wiederherstellung der unterbrochenen Sitzung, wird dabei durch die RSerPool-Protokolle auf Session-Layer-Ebene des OSI-Modells unterstützt.

PEs registrieren sich zu einem Pool mittels eines Registrars (PR), welcher die Erreichbarkeit der bei ihm registrierten PEs ständig überwacht. Alle PRs eines Operational Scope bieten PUs ein redundantes System zur Auflösung eines PH in eine ausgewählte Liste von PE-Transportadressen. Die Auswahl geschieht dabei anhand einer für den Pool festgelegten Policy (z.B. Least Used, Zufall oder Round Robin). Die Verwaltung dynamischer Pools sowie flexible Policys zur PE-Auswahl machen RSerPool insbesondere auch für Load-Balancing-Anwendungen interessant, was zur Zeit aktiv von der IETF RSerPool-Gruppe diskutiert wird.

RSerPool benutzt das Stream Control Transmission Protocol (SCTP, RFC 2960) um Fehlertoleranz gegenüber Netzwerkausfällen durch Multi-Homing und Path Monitoring sicherzustellen.

Im Rahmen eines Forschungsprojektes mit der Siemens AG haben wir - die Arbeitsgruppe "Technik der Rechnernetze" am Institut für Experimentelle Mathematik der Universität Essen (http://tdrwww.exp-math.uni-essen.de/) - im Jahre 2002 damit begonnen, einen plattformunabhängigen RSerPool-Prototypen als Open Source unter GPL-Lizenz zu entwickeln (http://tdrwww.exp-math.uni-essen.de/dreibholz/rserpool/). Unser System läuft zur Zeit unter Linux, FreeBSD und Darwin (MacOS X), wobei die Unterstützung für weitere Plattformen geplant ist. Erste Ergebnisse unseres Projektes konnten 2003 auf der Linux Conference Australia (LCA 2003) präsentiert werden (http://www.linux.org.au/conf/2003/). Als einzige vollständige Implementation des zukünftigen RSerPool-Standards sind wir Referenzimplementation der IETF RSerPool-Gruppe und wirken mit Tests und Forschungsarbeiten aktiv in der Standardisierung mit.

In unserem Paper möchten wir Design und Implementation von hochverfügbaren Anwendungen mit RSerPool basierend auf unserer Implementation rsplib vorstellen. Zuerst geben wir dazu eine Einführung in Ideen und Konzept sowie in die Protokolle von RSerPool. Insbesondere zeigen wir dabei, welche Möglichkeiten RSerPool zur vollautomatischen Konfiguration dynamischer Server-Pools sowie Lastverteilung innerhalb von Pools bietet. Außerdem werden wir noch kurz auf die RSerPool-Standardisierungsaktivitäten in der IETF eingehen.

Im Anschluß daran beschreiben wir nach einer Einführung in den Aufbau unserer Implementation das RSerPool API, wobei wir insbesondere verdeutlichen werden, wie eigene Anwendungen mittels RSerPool hochverfügbar gemacht werden können. Dabei gehen wir nicht nur auf neu geschriebene Software ein, sondern stellen auch Migrationsmöglichkeiten für bereits existierende Programme vor. Sämtliche Beschreibungen werden wir dabei mit ausführlichen Code-Beispielen zum besseren Verständnis verdeutlichen. Zum Abschluß stellen wir noch unsere Beispielanwendung vor: ein System zum verteilten Berechnen von Fraktalgrafiken. Mit diesem System lassen sich die grundlegenden Eigenschaften von RSerPool sehr anschaulich demonstrieren: Verwaltung dynamischer Pools, Lastverteilung und Failover bei PE-Ausfall. Dieses Beispielsystem - ebenfalls ein Teil unserer Open Source Implementation - werden wir beim Vortrag selbstverständlich auch praktisch demonstrieren.

 

Über den Autor Thomas Dreibholz:

Thomas Dreibholz studierte von 1996 bis 2001 Informatik an der Universität Bonn und ist seit 2001 Wissenschaftlicher Mitarbeiter und Doktorand am Institut für Experimentelle Mathematik der Universität Essen. Er ist seit 2002 Cisco Certified Network Associate (CCNA) und Cisco Certified Academy Instructor (CCAI). Er hat unter anderem an MusicBox, einem CD-Abspielprogramm für AmigaOS und RTP Audio System, einem Audio-Streaming-Applikation basierend auf dem RTP-Protokoll mitgearbeitet. Er hat die Socket-API für das sctplib-Projekt und die SCTP-Userland-Implementation sctplib sowie eine Open Source-Implementation von Reliable Server Pooling (RSerPool) entwickelt.

 

 

Vortragsprogramm

Foren

Kontakte

Freies Vortragsprogramm
Nils Magnus
vp@linuxtag.org

Practical Linux Forum
Nils Magnus
papers@linuxtag.org

Speaker können ihre Beiträge in unserem  virtuellen Conference Center verwalten.

Es werden noch  Moderatoren für die Panels im Freien Vortragsprogramm gesucht.

Ergänzend zum Freien Vortragsprogramm richtet sich der Business- und Behördenkongress an Entscheider aus Unternehmen und Behörden.

Suchen nach: