Hochverfügbarkeit

Die Verfügbarkeit eines Systems gibt an, wie lange ein System in einem vorgegeben Zeitraum statistisch zur Verfügung steht. Moderne IT-Systeme zeichnen sich meist durch eine hohe Verfügbarkeit aus. Dabei ist allerdings zu bedenken, dass selbst eine Verfügbarkeit von 99,9 % noch immer bedeutet, dass ein System innerhalb von drei Jahren insgesamt einen Tag lang ausfällt. Für die Mehrzahl der Systeme ist das akzeptabel, aber längst nicht für alle. Beispielsweise wären Kunden einer Bank kaum bereit zu akzeptieren, einen Tag lang nicht über ihr Geld verfügen zu können. Noch gänzlich andere Probleme stellen Systeme, von denen direkt oder indirekt Menschenleben abhängen.

Redundanz als effektivstes Mittel

Als redundant werden Systeme bezeichnet, die mehrfach vorhanden sind. Fällt das System aus, übernimmt sofort das Reservesystem den Betrieb. Die Idee der Redundanz basiert auf einfacher Wahrscheinlichkeitsrechnung. Angenommen, ein Server fällt statistisch an einem von tausend Tagen aus. Ist dieser Server doppelt vorhanden, so ist die Wahrscheinlichkeit eines gleichzeitigen Ausfalls beider Systeme gleich dem Produkt der beiden einzelnen Ausfallwahrscheinlichkeiten, also 1/1000 * 1/1000= 1/1000000. Die Ausfallwahrscheinlichkeit kann also bei ungefähr verdoppelten Kosten um das Tausendfache verringert werden. Keine andere Maßnahme zur Steigerung der Verfügbarkeit weist ein so gutes Preis-Leistungsverhältnis auf!

Hochverfügbare Server

Der erste Schritt zur Steigerung der Verfügbarkeit eines Servers besteht darin, die störanfälligste Komponente redundant auszulegen. Neuralgische Punkte eines Servers sind die Festplatten, die als einzige mechanische Komponente einem natürlichen Verschleiß unterliegen. Es stehen verschiedene Methoden zur Verfügung, um Festplatten redundant auszulegen. Diese werden als RAID-Level bezeichnet. Die Abkürzung RAID steht für Redundant Array of inexpensive Disks. Bei Bedarf kann auch die Stromversorgung doppelt ausgelegt werden. Die konkrete Ausführung hängt vom Anspruch an die Verfügbarkeit ab. Oft wird lediglich ein zweites Netzteil verwendet, bei höheren Sicherheitsanforderungen wird für dieses zweite Netzteil auch eine unabhängige Stromversorgung verwendet. Auch weitere Komponenten eines Servers können doppelt ausgelegt werden, beispielsweise die Netzwerkkarte. Die höchste Stufe der Redundanz besteht darin, den gesamten Server doppelt auszulegen. Idealerweise befinden sich beide Server dabei in unterschiedlichen Gebäuden. Auf diese Weise wird sichergestellt, dass z.B. auch ein Feuer im Gebäude nicht beide Systeme gleichzeitig betreffen kann. Jedes denkbare Schadensereignis, das zum gleichzeitigen Ausfall beider Systeme führen würde, gefährdet sie Ausfallsicherheit. Solche “Single Points of failure” zu identifizieren ist eine wichtige Aufgabe im Rahmen der Planung redundanter Systeme. Dabei ist selbstverständlich immer darauf zu achten, dass beide Rechner ständig synchronisiert werden. Der Ersatzserver kann im Ernstfall nur dann einspringen, wenn er stets über den aktuellen Datenbestand verfügt.

Moderne Lösungen

Der Nachteil redundanter Server besteht darin, dass einer der beiden Server im Normalbetrieb ungenutzt ist. Moderne Systeme zielen darauf ab, diesen Overhead von 50 % deutlich zu reduzieren. Der zweite Server soll also im Normalbetrieb ebenfalls Aufgaben übernehmen und nur bei einem Ausfall des ersten als Ersatzsystem fungieren. Solche Systeme werden als Cluster bezeichnet. Mehrere Server werden dabei in einer Weise zusammengeschaltet, dass bei einem Ausfall eines Servers die übrigen dessen Aufgaben zusätzlich übernehmen.

Weitere Informationen

Datenbank

Unser Leben basiert auf Datenbanken. Dies wird uns allerdings in den seltensten Fällen bewusst, denn Datenbanken existieren im Hintergrund unserer digital vernetzten Welt. Eine Datenbank speichert, wie der Name schon suggeriert, beliebige Daten, die von berechtigten Nutzern abgefragt werden können. Oft ist der Nutzer hierbei eine Webanwendung, der Text den…

Weiterlesen
Virtualisierung (xen/kvm)

Die kommerzielle Nutzung des Internets schreitet immer weiter voran, auch der Bedarf an Rechnerleistung wird durch das zunehmende Cloud-Computing – durch einen Dienstleister angebotene IT-Infrastruktur – immer größer. Um dem Nutzer die geforderte Rechnerleistung zur Verfügung zu stellen, kommt Virtualisierung zum Einsatz. Durch Virtualisierung wird ein Rechner oder ein Betriebssystem…

Weiterlesen
Symfony Framework

Symfony ist ein populäres Framework für Webanwendungen oder andere Projekte auf Basis der Programmiersprache PHP. Das Symfony Framework ist kostenlos erhältlich und Open Source. Wie jedes Framework in der Softwareentwicklung zielt auch Symfony Framework darauf ab, die Erstellung und Pflege von Web-Anwendungen zu beschleunigen und zu vereinfachen. Für alle häufig…

Weiterlesen