Redundanz und Ausfallsicherheit

Werbung
Architektur Moderner Internet
Applikationen
22.-24.4.2004 TU Wien/Ausseninstitut
Redundanz und Ausfallsicherheit
DI Christian Donner
[email protected]
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
0
Inhalt
Analyse des Risikos
Glossar
Etwas Mathematik muss sein
Server-Hardware
Plattenspeicher
Netzwerk
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
1
Web Sites sind vielen Risiken ausgesetzt
Hardwareausfall
CPU
Festplatte
Netzwerkinfrastruktur
Softwareausfall
Stromnetzausfall
Datenverlust (als Folgeerscheinung obiger Ursachen)
Zugriff und Manipulation durch Unbefugte (Hacker)
Performanceeinbruch durch Resourcen- und Bandbreite fressende
Anwendungen
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
2
Hochverfügbare Web Sites ...
... vermindern das Risiko eines Totalausfalls durch
Redundante und ausfallsichere Serverkonfiguration
Redundante und ausfallsicher Netzwerkkonfiguration
Ausfallsichere Plattenspeicher, Disk Arrays (RAID = Redundant
Array of Inexpensive Disks)
Einsatz einer Ununterbrechbaren Spannungsversorgung (UPS)
und verwenden von Load Balancern zur Verteilung der Last und
Verbessung der Skalierbarkeit
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
3
Glossar
Hochverfügbar: Die Fähigkeit eines Web Sites, Hardware und
Softwareausfällen auf einzelnen Servern zu widerstehen. Diese
Ausfälle können geplant oder ungeplant sein.
Cluster: eine Gruppe von Servern, die nach außen hin als ein
einzelner Server angesprochen werden. Cluster werden zur
Lastverteilung und Erhöhung der Ausfallssicherheit eingesetzt.
Failover: Wenn ein Server ausfällt, übernehmen die anderen Server
im Cluster seine Last.
Load Balancing: Die Fähigkeit eines Netzwerkes, Anfragen an ein
und die selbe Adresse an mehrere Server zu verteilen.
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
4
Die Theorie eines Ausfalls
Zu Beginn des Lebenszyklus von Hardwarekomponenten ist die
Ausfallsrate hoch (Burn-In)
Nach dem Burn-In sinkt die Ausfallsrate
bis zum Ende des Lebenszyklus, wenn durch Materialermüdung
und andere Faktoren die Ausfallsrate wieder ansteigt
Äußere Faktoren wie Blitzschlag, Erdbeben, Hochwasser ...
Menschliches Versagen
usw
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
5
Die Badewannenkurve
Statistische Ausfallsraten für mechanische und elektronische Komponenten
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
6
Die Theorie zu Redundanz
Zuverlässigkeit von A:
Zuverlässigkeit von B:
A||B
A
R A (t)
R B (t)
Die Zuverlässigkeit von paralleler
Redundanz ist höher:
R A||B (t) R A (t)  R B (t) - R A (t)R B (t)
B
Beispiel:
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
R A  R B  0.95
R A||B (t)  0.9975
7
Konfiguration eines Clusters mit Redundanz
Hardwarelösungen
z.B. Cisco Local Director
Softwarelösungen
z.B. Windows Load Balancing Service (WLBS)
Trennung von Sitefunktionen (Front und Backend, statische und
dynamische Inhalte)
Entsprechende Dimensionierung des Clusters
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
8
Typische Funktionen einer Website
Microsoft zeigt in Building High-Scalability Server Farms /2/, daß sich die
Aktivitäten der Benutzer von e-Commerce Websites folgendermaßen
kategorisieren lassen:
Browse
Search
User Registration
Add item
Buy
80%
9%
2%
5%
4%
Das heißt, 80% der Anfragen betreffen “statische” Inhalte (Blättern im Katalog,
Benutzerverwaltung, Suche), während 20% der Anfragen die Abwicklung der
Transaktion und die Verwaltung des Einkaufswagens betreffen. Daher können
80% der Zugriffe von Servern beantwortet werden, die als Webserver ausgelegt
sind. 20% der Zugriffe erfordern Server, die als Transaktionsserver ausgelegt
sind.
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
9
Typische Konfiguration eines Clusters
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
10
Eine Erweiterte Konfiguration mit Backend Cluster
Stage1
Windows NT Server
192.168.18.160
10.0.0.6
-IIS4, -SP4, PDC, DNS
FrontEnd1
NT Server Enterprise Edition
WLBS Site Server
192.168.18.158
10.0.0.1
-IIS4, -SP4
Internet User
INTERNET
Laptop
ComCluster1
NT Server Enterprise
10.0.0.4
11.0.0.1
SQL 7.0
Router
Switch
Firewall
FrontEnd2
NT Server Enterprise Edition
WLBS Site Server
192.168.18.159
10.0.0.2
-IIS4, -SP4
Hub
Switch
Disk array
Fiber Interconnect
RAID5
ComCluster2
NT Server Enterprise
10.0.0.5
11.0.0.2
SQL 7.0
Internet User
FrontEnd3
NT Server Enterprise Edition
WLBS Site Server
192.168.18.158
10.0.0.3
-IIS4, -SP4
cluster.domain.com
192.168.18.155
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
BackEnd
10.0.0.9
SQL1
10.0.0.7
SQL2
10.0.0.8
11
Failover
Alle Server in einem Clusterverbund müssen auf die selben Daten
zugreifen, damit einzelne Server dynamisch ein- und
ausgeschaltet werden können.
Dies kann folgendermaßen realisiert werden:
Shared disks
Mirrored disks
"Shared nothing"
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
12
Vergleich von Clusterstrategien
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
13
Wide Area Load Balancing
„Second Generation Load Balancers“
Viele fortgeschrittene Internet Sites sind bereits heute
geographisch verteilt. In Zukunft wird diese Entwicklung
verstärkt zu beobachten sein.
Wide Area Load Balancer beurteilen die Last auf jedem einzelnen
Server und, darauf basierend, verteilen die Zugriffe auf nahe
Server im Netz mit geringerer Last (Stichwort: Akamai).
Innerhalb eines einzelnen lokalen Sites arbeiten traditionelle
Load Balancer.
Wide Area Load Balancer sind auch fehlertolerant. Der Ausfall
eines einzelnen Servers benachteiligt Benutzer in der
Nachbarschaft, weil Zugriffe von weiter entfernt liegenden
Servern beantwortet werden.
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
14
Spannungsversorgung - UPS
Ausfallsichere Server haben redundante Netzteile
Schutz vor Spannungsspitzen (Blitzschlag) und Überspannung
(durch Fehler im Netz) ist relativ einfach und kostengünstig
erreichbar.
UPS oder Spannungsregler sorgen für eine konstante
Netzspannung und schützen vor Spannungsabfällen oder –
ausfällen.
UPS schützen vor längeren Ausfällen
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
15
RAID
Der häufigste Hardwaredefekt ist wahrscheinlich ein Plattenausfall
RAID Levels definieren eine Kombination aus „striping“, Plattenspiegelung und
verteilter Paritätskontrolle zur Verbesserung der Performance und der
Datensicherheit
RAID kann sowohl als Hardware- oder Softwaresystem implementiert werden.
Manche Betriebssysteme bringen von Haus aus dieses Fähigkeit, in anderen
Fällen müssen Produkte von Drittherstellern zugekauft werden
RAID 5 vereinigt „Striping“ mit verteilter Parität und ist die am häufigsten
anzutreffende RAID Implementierung
RAID 5 Platten können im Betrieb gewechselt werden (‚hot-swapped‘)
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
16
Maßnahmen zur Performanceverbesserung (MS IIS)
Ausschalten des IIS Session Management, keine Sessionvariablen verwenden
Trennung von statischen und dynamischen Inhalten (auf dedizierte Server)
Caching von statischen Inhalten (sehr wichtig!)
Caching von statischen Daten (evtl. in der Datenbank)
Verteilung und Konsolidierung von Geschäftsprozessen
Verwendung von Messaging/eMail
Stapelverarbeitung von Zugriffen
Optimierung von ASP Code
Optimierung der Commerce Pipeline
Optimierung der Datenbank
Optimierung des Katalogs und des Suchindexes
06.02.2003 21:33
Architektur Moderner Internet Applikationen – Sonderthema 4
Copyright ©2003 Christian Donner. Alle Rechte vorbehalten.
17
Herunterladen