Hochverfügbarkeit mit{ SQL Server 2008 }
Markus RaatzGeschäftsführerixto GmbH
Patch- und Service Pack-InstallationHardware und Software-UpgradeUmkonfiguration des SystemsDatenbankwartungAktualisierung der Applikation
Fehlerursache Nr. 1: der MenschKatastrophen am StandortHardware-VersagenKorrupte DatenSoftware-Absturz
Verfügbarkeit während geplanter Wartungsfenster
Schutz gegen ungeplante Ausfälle
Warum Hochverfügbarkeit?Standzeiten führen zum Umsatzverlusten und geringerer Mitarbeiter-Produktivität
Hochverfügbarkeit mit dem SQL Server 2008
Datenbankspiegelung
Transaktionsreplikation
Protokollversand
Sichern und Wiederherstellen
Windows Cluster
Datenbanksnapshot
DatenbankspiegelungÜberblick
Ein Hot Standby schützt bei Datenbank- oder ServerausfallFehlertoleranz auf Datenbankebene Benötigt keine spezielle HardwareSimple Einrichtung und AdministrationAutomatisches oder manuelles Failover
Beim SQL Server 2008 ist nach manuellem Failover kein Neustart der Datenbank erforderlich!
Automatisches und transparentes Umleiten der ClientsKeine gemeinsamen Komponenten, zwei Kopien der DatenDer SQL Server 2008 komprimiert den Strom der Protokoll-Daten vom Prinzipal zum Spiegelserver
Funktion der DB-Spiegelungsynchroner Modus
Commit
Schreibt ins lokale Log
Übertragung zum Spiegel
Schreibt ins Log des
Spiegels
Log
Bestätigung
Commit im Log
Permanentes redo auf dem Spiegelserver
Bestätigung
DBDB Log
1
2
2
3
4
5
6
7
DatenbankspiegelungModus für hohe Sicherheit mit automatischem Failover
Prinzipal Spiegel-server
Client
• Daten werden synchron gespiegelt, als Teil der Transaktion
• Automatisches Failover wenn der Prinzipal ausfällt
• Automatische Umleitung der Clients
Zeuge
DatenbankspiegelungSynchroner Modus für hohe Sicherheit
Prinzipal Spiegel-server
Client
• Daten werden synchron gespiegelt, als Teil der Transaktion
• Manuelles Failover, wenn der Prinzipal ausfällt
• Automatisches Umleiten der Clients
DatenbankspiegelungAsynchroner Modus für hohe Leistung
Prinzipal Spiegel-server
Client
• Die Daten werden asynchron gespiegelt, ohne Transaktion
• Manuelles Failover, wenn der Prinzipal ausfällt
• Automatsches Umleiten der Clients
DatenbankspiegelungReparatur fehlerverdächtiger Seiten
SQL Server 2008 überprüft das Schreiben von Speicher-Seiten mit einer Prüfsumme
Inkonsistente Seiten können automatisch vom Spiegelserver wiederhergestellt werden
Prinzipal Spiegel-server
Prinzipal
Zeuge
DatenLog
Mirror
Daten Log
DatenbankspiegelungAutomatische Seiten-Reparatur
1. Defekte Seite erkannt
X
2. Seite anfordern
3. Seite finden
4. Seite abrufen
5. Seite transferieren
6. Seiteschreiben
DatenbankspiegelungLog-Komprimierung
Datenbankspiegelung funktioniert durch Transferieren der Transaktionslog-Einträge vom Prinzipal zum SpiegelserverDie Performance wird durch niedrige Netzwerk-Bandbreite und hohes Log-Aufkommen beeinflusstWenn man die Protokolleinträge komprimiert, bevor man sie sendet, kann man mehr Daten über dieselbe Bandbreite schicken, ABER auf Kosten der CPU!
CPU-Last entsteht beim Komprimieren und Dekomprimieren
Bei hoher Bandbreite sind dadurch mehr Operationen möglich, die durch die vollständige Protokollierung sehr aufwändig waren (z.B. Index-Reorganisation)Kann mit Ablaufverfolgungsflag 1462 abgeschaltet werdenACHTUNG: Kompressionsgrad (und damit der Durchsatz) hängen von der Art der Daten in der Applikation ab
DatenbankspiegelungLog-Komprimierung
Die Performance-Verbesserung ist am größten bei niedriger Netzwerk-Bandbreite
Komprimierung der Log-Daten
DatenbankspiegelungKosten der Log-Komprimierung
Vergleich der CPU-Last bei verschiedenen Netzwerk-Bandbreiten mit und ohne Log-Komprimierung
Bei eingeschalteter Komprimierung steigt die CPU-Last aus zwei Gründen:
Komprimierung/DekomprimierungDer Server kann mehr Transaktionen pro Sekunde verarbeiten
Komprimierung der Log-Daten
{ Datenbankspiegelung }
Markus RaatzGeschäftsführerixto GmbH
Demo
Microsoft ClusteringRedundanz der Server-Hardware
Verwendet ein gemeinsames FestplattensystemDie gesamte Instanz ist virtualisiert und wechselt gleichzeitig den RechnerKann auch andere Ressourcen außer SQL enthaltenSQL Server 2008 braucht nicht mehr für jede Instanz einen Laufwerksbuchstaben
Clustering kann mit Datenbankspiegelung, Protokollversand oder Replikation kombiniert werden
Geografisch verteiltes Failover-Clustering (Geocluster) mit verschiedenen Knoten schützt auch bei Ausfall des Festplattensystems
Microsoft ClusteringSQL Server Editionen
Standard Edition
Enterprise Edition
Nur 2-Knoten-Cluster So viele Knoten wie das Betriebssystem unterstützt
Windows Server 2008 Cluster
Unterstützung für 16 Clusterknoten
Knoten können in verschiedenen Subnets stehen
Unterstützung für ODER-Abhängigkeiten•z.B.: die Ressource Netzwerkname ist erhältlich wenn eine oder die andere IP-Adresse erhältlich ist
Cluster Validierungs-Werkzeug•Verifiziert die korrekten Hardware-Ressourcen und –Einstellungen für das Clustering
ProtokollversandLog Shipping sorgt für Redundanz auf Datenbank-EbeneKostengünstig, weil keine spezielle Hardware benötigt wirdSimple Installation, einfache VerwaltungLesender Zugriff auf dem Zielserver ist möglich, z.B. für Berichte)
Aber: Nutzer werden getrennt, wenn das Log wiederhergestellt wird
Mehrere sekundäre Serverinstanzen möglichOptionaler Monitor-Server
Speichert die Historie und den Status der Sicherungs- und WiederherstellungsaufträgeKann eine Warnung senden, wenn diese Aufträge fehlschlagen
Erzeugen eine konsistente Kopie der Datenbank nur zum LesenDer Snapshot bleibt unverändert, wenn die Datenbank modifiziert wird
Schützt vor Benutzer-Fehlern und inkonsistenten Daten
Sehr schnell zu erstellenSparsam auf der Platte
“Copy-On-Write”-Verfahren
Für jede Datenbank möglich
Kostengünstig, weil keine spezielle Hardware benötigt wirdSimple Installation, einfache Verwaltung
Datenbank-Snapshots
Client
Welche Option wofür?
Datenbankspiegelung
Logische Wieder-herstellung
Protokollversand
Protokollversand mit spätem Restore
Produktions-Datenbank
Replikation
Clustering
Datenbankspiegelung Primäre Kopie der Datenbank für
den Notfall
Protokollversand Zusätzliche Kopie der Daten-
bank für Katastrophen Logische Wiederherstellung
Replikation Fürs Reporting pro Datenbank
Scale Out mit Redundanz
Clustering Redundanz lokaler Server
Always On Storage Partner-Lösungen Hochverfügbarkeit der Storage Hohe Ausfallsicherheit der
Hardware
WarmStandby
HotStandby
Datenbank-Scale OutFür Abfragen
Daten-sicherung
SQL Server HochverfügbarkeitLizensierung
Lizenzen nur füraktive Server
• Passive Server benötigen keine Lizenz• Nach dem Failover braucht man für 30 Tage keine Lizenz
Kostengünstigstes Lizensierungsmodell aller großen Datenbankhersteller
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after
the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.