Warum Schattendatenbanken alleine nicht für eine HA-Lösung reichen Hans-Joachim Krüger [email protected] Libelle Informatik GmbH, Stuttgart 9.9.2005, SIG Berlin Inhalt Stand der Technik Anforderungen vom Markt Die Libelle Lösungen Thesen für den HA-Einsatz © Libelle Informatik GmbH 2 Inhalt Stand der Technik Anforderungen vom Markt Die Libelle Lösungen Thesen für den HA-Einsatz © Libelle Informatik GmbH 3 Hochverfügbarkeit – Stand der Technik Verfügbarkeit durch RAID-Systeme. Verfügbarkeit durch Cluster-Systeme. Datenbanken als Standby-Systeme. Schattendatenbanken mit Time-Delay. Echtes Rollback der Datenbank. © Libelle Informatik GmbH 4 Inhalt Stand der Technik Anforderungen vom Markt Die Libelle Lösungen Thesen für den HA-Einsatz © Libelle Informatik GmbH 5 Anforderungen vom Markt Hardware-Verfügbarkeit: DB-Verfügbarkeit: Verfügbarkeit von mehreren Datenbanken Verfügbarkeit über große Entfernungen Verfügbarkeit von heterogenen Umgebungen Verfügbarkeit der Applikation Verfügbarkeit von mehreren Applikationen © Libelle Informatik GmbH 6 Inhalt Stand der Technik Anforderungen vom Markt Die Libelle Lösungen Thesen für den HA-Einsatz © Libelle Informatik GmbH 7 Die Lösung BusinessShadow DBShadow FSShadow SwitchApplication © Libelle Informatik GmbH 8 DBShadow © Libelle Informatik GmbH 9 DBShadow: Phasen Phase: Initial-Copy Phase: Normalbetrieb Phase: Umschaltung Phase: Notbetrieb Phase: Zurückschalten in Normalbetrieb © Libelle Informatik GmbH 10 DBShadow: Initial-Copy Sequentiell oder parallel. Copy: uncompressed, compressed, high-compression. Copy im laufendem Betrieb. Durchsatz: 440 GB/h Kopierleistung Technologie: Very-large-packages. © Libelle Informatik GmbH 11 DBShadow: Archiver Switch-Logfile erzwingen, wenn die DB nicht switched. Logfile-Shipping in den Trichter des Spiegels. DB-Überwachung. Technologie: Parallel-Archive-Shipping. © Libelle Informatik GmbH 12 DBShadow: Recover Normalbetrieb: Nach Time-Delay : Recover Logfile vom Trichter in die Datenbank. Umschaltung: Trichter leer recovern. Go Real-DB. © Libelle Informatik GmbH 13 DBShadow: Structure DB-Struktur überwachen. Erkannte Änderungen zum Spiegel übertragen. © Libelle Informatik GmbH 14 DBShadow: Oracle Interner Produktname: trd. Benötigt kein Enterprise Edition von Oracle. Unterstützt Oracle 6 bis Oracle 10. © Libelle Informatik GmbH 15 DBShadow: Prozess-Organisation Prozess main listen copy archiver recover structure … Aufgabe Existenz Echt/Spiegel Hauptprozess Kommunikation Initial-Copy Archiver Recover Struktur-Prüfung permanent permanent zeitweise zeitweise zeitweise zeitweise Echt,Spiegel Echt,Spiegel Echt Echt Spiegel Echt Windows: Threads Unix: Prozesse © Libelle Informatik GmbH 16 DBShadow: Prozesskommunikation Über Shared-Memory und Semaphoren. Standard-Kopf Allgemein Prozess-Tabelle ~ 150 KB Parameter Aktionen Konfiguration 1 Konfiguration Cron-Tabellen ~ 200 KB Statistiken Messages Mappings Flat-File-Entries Alarmierung Konfiguration 2 Konfiguration Cron-Tabellen ~ 200 KB Statistiken Messages Mappings Flat-File-Entries Alarmierung ... © Libelle Informatik GmbH 17 DBShadow: Rechner-Rechner-Kommunikation Über eigene TCP/IP Sockets. Mit eigenem Port. Kein ftp, rsh, ssh, scp. Alles über eigene Kommunikation. Die Kommunikation ist verschlüsselt. © Libelle Informatik GmbH 18 DBShadow: Rechner-Rechner-Kommunikation 2 Die Kommunikation wird komprimiert. Es können mehrere Interfaces parallel genutzt werden. Für die Ausfallsicherheit und Load-Balancing. Unterscheidung zwischen Server-Netz und User-Netz. © Libelle Informatik GmbH 19 DBShadow: Umschaltungen Point-in-Time. End-of-Logs. Lossless Switch. Defined-Switch. © Libelle Informatik GmbH 20 DBShadow: Möglichkeiten Directory-Mappings. Time-Delay-Cron-Tabelle. Copy-From-Copy (A-B, A-C Spiegelungen). Check-mirror (dbverify) über Cron-Tabelle. Raw-Devices. Als Standby- oder Create-Controlfile. No-Logging-Transaktionen. RAC-Umgebungen. Open Read-Only des Spiegels. © Libelle Informatik GmbH 21 DBShadow: Programme trd Server-Prozess. trd.sh Shell-Interface. trgui Grafische Oberfläche. © Libelle Informatik GmbH 22 DBShadow: Verwendete Programmier-Sprachen Server-Programme: C, C++ Grafische Oberflächen: Java. © Libelle Informatik GmbH 23 DBShadow: Unterstützte Datenbanken Datenbank Oracle DB-Version (ab 6) DBShadowProduktname trd IBM DB2 (ab 6.2) trdb2 Microsoft SQL/Server (ab 7) trsql MaxDB/SAPDB (ab 7.4) trsap © Libelle Informatik GmbH 24 DBShadow: Unterstützte Betriebssysteme AIX HP-UX Linux Sinix Solaris Tru64 Windows (ab 4.1) (ab 9.04) (ab Kernel 2.2.16) (ab 5.45) (ab 6) (ab 5) (ab NT4) © Libelle Informatik GmbH 25 DBShadow: Shell-Interface trd.sh Steuerung der Spiegelung. Komplett. Auch Remote. © Libelle Informatik GmbH 26 DBShadow: User-Interfaces Standard-User-Interfaces. Remote-User-Interfaces. Online-User-Interfaces. Z.B. trd.dbswitch © Libelle Informatik GmbH 27 DBShadow: Alarmierungen Ok-, Warning-, Error-Levels. Als Mail, SMS, Windows-Event oder SNMP-Trap. © Libelle Informatik GmbH 28 DBShadow: Einsatzgebiete Demo-DB, Test-DB aufbauen. Ist mein Archive-File ok? Backup vom Spiegel. Als Sicherung für Software-/DB-Upgrades. Auswertungs-System. © Libelle Informatik GmbH 29 DBShadow: Editionen und Optionen Commercial Edition. Business Edition. Long-Distance-Option. Raw-Device-Option. TB-Option. Copy-Lizenz. © Libelle Informatik GmbH 30 FSShadow: Was DBShadow für die DB, ist FSShadow für Files. Flat-Files werden gespiegelt. Libelle-Technologie: wie DBShadow. © Libelle Informatik GmbH 31 SwitchApplication: Aufgabe: Umschaltung der Applikation. Technologie: IP-Adressen und Aliases auf Rechner setzen bzw. zurücksetzen. Mounts durchführen. Client-Rechner antriggern. Libelle-Technologie: wie DBShadow. © Libelle Informatik GmbH 32 BusinessShadow: DBShadow, FSShadow, SwitchApplication alle standalone einsetzbar. DBShadow FSShadow © Libelle Informatik GmbH Switch Application 33 BusinessShadow: DBShadow, FSShadow, SwitchApplication aber genauso vollständig integriert ineinander. DBShadow FSShadow Switch Application © Libelle Informatik GmbH 34 BusinessShadow: Einsatzgebiete Long-Distance-Spiegelungen. Intercontinental-Spiegelungen. In allen gängigen Cluster-Umgebungen. © Libelle Informatik GmbH 35 BusinessShadow: © Libelle Informatik GmbH 36 Inhalt Stand der Technik Anforderungen vom Markt Die Libelle Lösungen Thesen für den HA-Einsatz © Libelle Informatik GmbH 37 These 1: Neu ist besser Ein neues Haus ist besser Ein neues Auto ist besser Ein neuer Rechner ist besser Ein neues Betriebssystem ist besser Eine neue Datenbank ist besser – als ein altes. – als ein altes. – als ein altes. – als ein altes. – als eine alte. Wer hat sich also ausgedacht – Never touch a running system. Warum werden z.B. nicht aktuelle Oracle-Versionen eingesetzt ? © Libelle Informatik GmbH 38 These 2: Heterogenität ist Pflicht Monotonie ist langweilig. Bunt ist schön. So ist nun mal auch die EDV. Daher werden EDV-Systeme von alleine heterogen. © Libelle Informatik GmbH 39 These 3: Programm ist besser als Script Script Einmal geschrieben. Umständlich fehlertolerant zu machen. Programm – Ca. 10 mal soviel Aufwand wie Script. Aber auch 10 mal soviel getestet. © Libelle Informatik GmbH 40 These 4: Einmal ist keinmal Einen Fehler bekomme ich in den Griff. Ab zwei Fehler wird es problematisch. Ein Schutz ist kein Schutz. Ich habe im Auto auch nicht nur Sicherheitsgurte. © Libelle Informatik GmbH 41 These 5: Es gibt keine grünen Wiesen Nicht bei uns. Nicht in Ost-Europa. Nicht in Asien. Ich komme immer in bestehende Umgebungen, und muss darauf Rücksicht nehmen. Ich muss immer Integrationen betreiben. © Libelle Informatik GmbH 42 These 6: Die Welt ist böse und schlecht Pessimismus ist für HA angebracht. Traue keinem. © Libelle Informatik GmbH 43 These 7: Das Schiff ist ständig in Bewegung Die Umgebung ändert sich beständig. Darum ist auch “Never touch a running system“ falsch. Nur durch regelmäßige Feuerwehr-Übungen weiß ich, daß meine HA-Umgebung funktioniert. © Libelle Informatik GmbH 44