SIMPLY CLEVER ŠkodaAuto Deutschland GmbH Hochverfügbarkeit mit MS SQL-Server Replikation vs. Clusterkonzept Dipl.-Wirtschaftsinformatiker (FH) Ralph Bittner SIMPLY CLEVER ŠkodaAuto Deutschland GmbH Hochverfügbarkeit mit MS SQL-Server 1. Das Unternehmen 2. Anforderungen an Hochverfügbarkeit 3. Überblick zu Technologien 4. Festplatten-Spiegelung 5. Clusterdienst 6. Replikation 2 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 1. Das Unternehmen • 100%-Tocher der ŠkodaAuto a.s. in Tschechien • Rund 250 Mitarbeiter und 1.350 Partnerbetriebe • Absatz im Jahr 2000: 65.000 Fahrzeuge; 2007: 112.500 Fahrzeuge • Alle Partner über ŠkodaVPN angebunden, nutzen das ŠkodaPortal (Extranet) • Anwendungen fast ausschließlich webbasiert (J2EE, php) WebSphere (Portal & Applikationen) ŠkodaPartner MS SQL ŠkodaVPN i5 3 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH Hochverfügbarkeit mit MS SQL-Server 1. Das Unternehmen 2. Anforderungen an Hochverfügbarkeit 3. Überblick zu Technologien 4. Festplatten-Spiegelung 6. Clusterdienst 7. Replikation 4 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 2. Anforderungen an Hochverfügbarkeit Verfügbarkeit: Wahrscheinlichkeit, dass ein System innerhalb eines spezifizierten Zeitraums funktionstüchtig ist Uptime Uptime Downtime Downtime ++ Uptime Uptime Hochverfügbarkeit: Ein System gilt als hochverfügbar, wenn eine Anwendung auch im Fehlerfall weiterhin verfügbar ist und ohne unmittelbaren menschlichen Eingriff weiter genutzt werden kann. Hochverfügbarkeit (abgekürzt auch HA, abgeleitet von engl. High Availibilty) bezeichnet also die Fähigkeit eines Systems, bei Ausfall einer seiner Komponenten einen uneingeschränkten Betrieb zu gewährleisten. [1] Verfügbarkeitsklassen: 3 - 99,9% 4 - 99,99% 5 - 99,999% 43,80 min/Monat oder 8,76 h/Jahr 4,38 min/Monat oder 52,6 min/Jahr 0,44 min/Monat oder 5,26 min/Jahr [1] Held, Andrea: Oracle 10g Hochverfügbarkeit, Addison-Wesley 2004 5 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 2. Anforderungen an Hochverfügbarkeit Weitere Anforderungen und Parameter: • maximale Dauer eines einzelnen Ausfalls • Robustheit gegen Fehlbedienung, Sabotage oder höhere Gewalt • Sicherstellung von System- und Datenintegrität • Reaktionszeit des Systems • Möglichkeiten zur Wartung 6 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 2. Anforderungen an Hochverfügbarkeit Notwendigkeit: • Geschäftliche Anforderungen - Stabile Geschäftsprozesse, vor allem mit Partnern und Kunden - Sichere Informationsgrundlage für zeitkritische Entscheidungen - Vermeidung von Umsatzausfällen - Vermeidung von Imageschäden etc. • Gesetzliche Anforderungen - Datenschutz- und Datensicherheit - Abgeleitet aus Vorgaben wie Basel II und Sarbanes-Oxley Act BSI: „Dreitägiger Ausfall der IT gilt bei 25% aller Unternehmen als existenzbedrohend!“ 7 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 2. Anforderungen an Hochverfügbarkeit Kosten: Kosten Kosten ≤≤ Schaden Schaden ** Eintrittswahrscheinlichkeit Eintrittswahrscheinlichkeit • Hochverfügbarkeit verursacht bei steigenden Anforderungen überproportionale Kosten! • Risikoanalyse und Schadensbewertung sind Voraussetzung - Risikoszenario - Eintrittswahrscheinlichkeit - Schadensklasse • Schadenskosten: - Verlust durch Systemausfall - Aufwand für Schadensbehebung • Kosten für Verfügbarkeit: - Hardware - Software (Lizenzen) - erhöhter Aufwand für Wartung und Monitoring 8 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH Hochverfügbarkeit mit MS SQL-Server 1. Das Unternehmen 2. Anforderungen an Hochverfügbarkeit 3. Überblick zu Technologien 4. Festplatten-Spiegelung 5. Clusterdienst 6. Replikation 9 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 3. Überblick zu Technologien Kriterien zur Unterscheidung der HA-Technologien Î Problem: Single Points of Failure (SPOF) und andere Störgrößen Hardware Software • Festplattenspeicher • Controller • Netzwerk-Komponenten • Netzteile • Stromversorgung • Betriebssystem Bugs • Fehler im DBMS und Konnektivität • Applikationsfehler • Schadsoftware (Viren u.ä.) 10 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 3. Überblick zu Technologien Kriterien zur Unterscheidung der HA-Technologien Î Lösung: SPOF-Vermeidung durch Redundanz Hard- oder Softwarebasiert RAID-Systeme, SAN Software zur Dateispiegelung Speicherredundanz Shared Storage Shared Nothing Transaktionssicherheit Datenverlust möglich Volle Transaktionssicherheit Latenz einer Kopie Synchron (keine Latenz) Asynchron Performance Kein oder geringer Einfluss Einfluss ist zu berücksichtigen Weitere Kriterien • Kosten für Hardware und Lizenzen • Aufwand für Wartung und Monitoring 11 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 3. Überblick zu Technologien Bei Škoda eingesetzte Produkte Double-Take, XLink (3rd Party) • Spiegelung ausgewählter Ordner und Dateien • Überwachung des DBMS-Dienst Status • automatischer Failover, zum Teil auch Fallback Microsoft SQL 2000 & Microsoft Clusterdienst • Gemeinsames Plattenlaufwerk • Überwachung des DBMS-Dienst Status • automatischer Failover und Fallback Microsoft SQL 2005 • Replikation von Datenbanken • synchron oder asynchron • mit oder ohne Überwachung und Failover 12 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH Hochverfügbarkeit mit MS SQL-Server 1. Das Unternehmen 2. Anforderungen an Hochverfügbarkeit 3. Überblick zu Technologien 4. Festplatten-Spiegelung 5. Clusterdienst 6. Replikation 13 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 4. Festplatten-Spiegelung Funktionsweise: • ausgewählte Ordner und Dateien werden über Netzwerk auf zweiten Rechner gespiegelt • Übertragung von komprimierten Dateifragmenten möglich • dedizierte LAN-Verbindung oder WAN kann genutzt werden • Status definierter Dienste wird überwacht (z.B. sqlservr.exe) • bei Failover werden Ressourcen wie virtuelle IP-Adresse, Netzwerkname u.a. auf anderen Knoten übertragen Eigenschaften: • keine Transaktions- oder Integritätskontrolle • bestehende Verbindungen wird unterbrochen und müssen neu aufgebaut werden • meist keine identische Hard- und Software erforderlich • beliebige Dateitypen können repliziert werden (z.B. auch Multimedia-Dateien) • geringer Performance-Einfluss • Failover ca. 20-60 sec., abhängig von DB-Größe • Lizenzkosten typischerweise ca. 1000 - 4000 € Grafik: Double-Take Software 14 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 4. Festplatten-Spiegelung Geeignete Einsatzgebiete: • Non-Mission-Critical Datenbanken • Hybride Multimedia-Datenbanken Anwendung bei Škoda: • Datenbanken für Internetauftritt - Gebrauchtwagenbörse - CarConfigurator 15 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH Hochverfügbarkeit mit MS SQL-Server 1. Das Unternehmen 2. Anforderungen an Hochverfügbarkeit 3. Überblick zu Technologien 4. Festplatten-Spiegelung 5. Clusterdienst 6. Replikation 16 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 5. Clusterdienst Funktionsweise: • Ordner und Dateien werden auf gemeinsamen HA-Plattenlaufwerk (z.B. SAN) gespeichert • Clusterkonfiguration wird in „Quorum“ gespeichert (aktiver Knoten, Cluster-Protokolle) • Status definierter Dienste wird überwacht (z.B. sqlservr.exe) • bei Failover werden Ressourcen wie virtuelle IP-Adresse, Netzwerkname u.a. auf anderen Knoten übertragen 172.16.100.121 Virtuelle IP: 172.16.100.120 Virtueller Name: SADVAPSQL SADVAPSQL01 192.168.100.10 192.168.100.20 172.16.100.122 SADVAPSQL02 17 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 5. Clusterdienst Eigenschaften: • committete Transaktionen bleiben erhalten • Connections müssen neu aufgebaut werden • Schutz vor Ausfall eines Servers, aber nicht vor Ausfall des Plattenstapels • kein Schutz vor Integritätsfehlern • nur zertifizierte Hardware wird supported • automatischer Failover ca. 10-60 sec, abhängig von DB-Größe • kein Performance Impact, da keine Replikation • hoher Aufwand bei Konfiguration • Clusterdienst als Bestandteil von - MS Server 2000 Enterprise oder - MS Server 2003 Standard 18 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 5. Clusterdienst Anwendung bei Škoda: • Einsatz für den webbasierten Verkäuferarbeitsplatz der ŠkodaBank - Fahrzeug konfigurieren - Finanzierungen berechnen - Angebots- und Vertragsverwaltung • fehlende Redundanz der DB-Speicherung erwies sich als kritisch • trotz HA-Storage mehrere Ausfälle durch - defekte Hardware - korrupte Datenbank 19 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH Hochverfügbarkeit mit MS SQL-Server 1. Das Unternehmen 2. Anforderungen an Hochverfügbarkeit 3. Überblick zu Technologien 4. Festplatten-Spiegelung 5. Clusterdienst 6. Replikation 20 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 6. Replikation Funktionsweise: • Kopie der Datenbank auf zweiter Instanz eines SQL Servers 2005 • Spiegeldatenbank erhält Änderungen über dedizierte LAN-Verbindung • Automatischer Failover benötigt zusätzlichen Zeugenserver (Witness) • Redirect auf Client-Seite • Drei verschiedene Konfigurationen Konfiguration Transaktionssicherheit Latenz Quorum nötig Witness nötig Failover Hoher Schutz voll synchron Ja Nein manuell Hohe Verfügbarkeit voll synchron Ja Ja automatisch Hohe Performance keine asynchron Nein Nein „Forced Service“ 21 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 6. Replikation Synchrone Spiegelung: Principal DB 7. Bestätigung 3. Committed im Logfile Log 1. Commit 2. Übertragen auf Spiegel 2. Schreiben in Logfile 6. Bestätigung DB 8. Dauerndes Redo in die Spiegel-DB 5. Bestätigung Log Secondary 4. Schreiben in Spiegel-Logfile 22 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 5. Clusterdienst Connection Redirect: ADO ADO .net .net "Data Source=A; Failover Partner=B; Initial Catalog=AdventureWorks; Integrated Security=True;" 23 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 6. Replikation Eigenschaften Synchrone Spiegelung: • Volle Transaktionssicherheit • Schutz vor Server- und Plattenausfall • Schutz der DB-Integrität • relativ hoher Einfluss auf die Performance • Secondary DB-Server läuft ständig, daher schneller Failover, typisch ca. 3 sec. • für Client-side Redirect müssen die DB-Clients neu konfiguriert werden • relativ einfache Konfiguration Weitere Verbesserungen in SQL Server 2005 • Dateigruppe ist kleinste Ebene der Verfügbarkeit (SQL 2000: Gesamte Datenbank) • Zugriff auf nicht beschädigte Dateigruppen während Redo einer Datenbank möglich • Schnellere Initialisierung der Dateigruppen senkt Downtime • Partielles Restore ist möglich, DB bleibt dabei online („Online Piecemeal Restore“) • Neuerstellung von Indizes kommt nun meist ohne Exklusiv-Sperre der Tabelle aus 24 SIMPLY CLEVER ŠkodaAuto Deutschland GmbH 6. Replikation Überblick Features Feature Enterprise Edition Developer Edition Standard Workgroup SQL Edition Edition Express Partner √ √ √ Witness √ √ √ Safety = FULL √ √ √ Safety = OFF √ √ Available during UNDO after failover √ √ Parallel redo √ √ Database Snapshots √ √ √ √ √ 25 SIMPLY CLEVER Vielen Dank für Ihr Interesse! 26