DB2 High Availability für IBM Connections, Sametime oder Traveler
1. Make Your Data Work for You
DB2 High Availability für
IBM Connections, Sametime
und Traveler
Nico Meisenzahl
September 2016
2. • Consultant bei panagenda
• IBM Notes / Domino seit 2008
• IBM Connections seit Version 3.0 / 2010
• Jahrelange Erfahrung in:
– Consulting
– Migrationen & Administration
• “panagendian” seit 2016 mit Fokus auf:
– IBM Connections Consulting
– ICS Deployment & Optimierung
Nico Meisenzahl
2
@nmeisenzahl
linkedin.com/in/nicomeisenzahl
meisenzahl.org
nico.meisenzahl
+49 170 7355081
nico.meisenzahl@panagenda.com
3. I. Cluster Technologien
II. High Availability and Disaster Recovery (HADR)
III. Installation & Konfiguration (Demo/Hands-on)
IV. Administration & Tipps
Agenda
4. Make Your Data Work for You
Cluster Technologien &
High Availability and Disaster
Recovery (HADR)
5. Übersicht Technologien
• pureScale
– “Going to extremes on scale and availability for DB2”
– mehrere aktive Nodes
– shared Storage
– Workload Management
• SQL Replication / Q-Replication
• High Availability mit
– Disk mirroring oder Log shipping
– Cluster-Manager Software
• IBM Tivoli System Automation (SA MP)
• Microsoft Cluster Server für Windows
• IBM PowerHA SystemMirror für AIX
• Sun Cluster für Solaris
5
6. High Availability and Disaster Recovery
• Cluster-Manager Software
– IBM Tivoli System Automation (SA MP)
– Microsoft Cluster Service for Windows
– IBM PowerHA SystemMirror for AIX
– LifeKeeper for Linux/Windows
– pureScale (seit v10.5)
• Datenreplikation mithilfe vom Log Shipping
• Automatic Client Reroute (ACR)
• DB2 High Availability Instance Configuration Utility (db2haicu)
6
11. Takeover & Tivoli SA MP
11
• Bietet Scripts zum
– Monitoring/Locking von Ressourcen
– Starten und Stoppen von Ressourcen
– Takeover von Ressourcen
– Takeover der Virtuellen IP (VIP)
• Monitoring
• Auslösen von Takeover &
Ressourcen-Locking
12. Automatic Client Reroute
12
• JDBC
– enableClientAffinitiesList=1
– clientRerouteAlternateServerName=<serverlist>
– clientRerouteAlternatePortNumber=<portlist>
• DB2 Connect
– clientRerouteAlternateServerName =<serverlist>
– clientRerouteAlternatePortNumber=<portlist>
• Support in weiteren Produkten z.B. WAS
• Hinterlegen der VIP oder des Standby Nodes
15. High Availability Topology
• Aktiv/aktiv
– Mehrere aktive Nodes (seit. v10.1)
– Ressourcen aller Nodes werden genutzt
– Auf Datenbank-Ebene weiterhin primary/standby
• Aktiv/passiv
– Ein aktiver Node
– Bis zu drei passive Nodes möglich
– Primary DB auf aktivem Node, Standby DB auf passivem Node
• Aktiv/passiv (reads on standby, ROS, seit v9.7.x)
– Gleich aktiv/passiv
– Lesender Zugriff auf Standby Datenbanken möglich
15
16. • HOT Node
– Lizenzierung gleich Primary Node
• WARM Node
– 100 PVU oder 25 Authorized User
Single Installs (je nach Lizenzierung)
• COLD Node
– Keine Lizenz nötig
• pureScale unterliegt einer
eigenen Lizenzierung
Info: Nutzung mit Connections,
Sametime und Traveler abklären!
HADR Lizenzierung
16
21. Demo: Konfiguration testdb primary (db1)
• UPDATE DB CFG FOR TESTDB USING LOGARCHMETH1 LOGRETAIN;
BACKUP DB TESTDB TO /home/db2inst1/;
• UPDATE DB CFG FOR TESTDB USING HADR_LOCAL_HOST 192.168.203.206;
UPDATE DB CFG FOR TESTDB USING HADR_LOCAL_SVC 50501;
UPDATE DB CFG FOR TESTDB USING HADR_REMOTE_HOST 192.168.203.207;
UPDATE DB CFG FOR TESTDB USING HADR_REMOTE_SVC 50501;
UPDATE DB CFG FOR TESTDB USING HADR_REMOTE_INST db2inst1;
UPDATE DB CFG FOR TESTDB USING HADR_TIMEOUT 120;
UPDATE DB CFG FOR TESTDB USING HADR_TARGET_LIST 192.168.203.207:50501;
UPDATE DB CFG FOR TESTDB USING HADR_SYNCMODE NEARSYNC;
UPDATE DB CFG FOR TESTDB USING HADR_PEER_WINDOW 120;
UPDATE DB CFG FOR TESTDB USING HADR_SPOOL_LIMIT 0;
UPDATE DB CFG FOR TESTDB USING HADR_REPLAY_DELAY 0;
UPDATE DB CFG FOR TESTDB USING BLOCKNONLOGGED YES;
UPDATE DB CFG FOR TESTDB USING LOGINDEXBUILD ON;
UPDATE DB CFG FOR TESTDB USING INDEXREC RESTART;
UPDATE ALTERNATE SERVER FOR DATABASE TESTDB USING HOSTNAME 192.168.9.208 PORT 50501;
BACKUP DB TESTDB TO /home/db2inst1/;
21
22. Demo: Konfiguration testdb standby (db2)
• RESTORE DB TESTDB FROM /home/db2inst1/;
• UPDATE DB CFG FOR TESTDB USING HADR_LOCAL_HOST 192.168.203.207;
UPDATE DB CFG FOR TESTDB USING HADR_REMOTE_HOST 192.168.203.206;
UPDATE DB CFG FOR TESTDB USING HADR_TARGET_LIST 192.168.203.206:50501;
22
23. Demo: testdb HADR starten
• db2.pana.local
– START HADR ON DB TESTDB AS STANDBY
• db1.pana.local
– START HADR ON DB TESTDB AS PRIMARY
23
24. Demo: High Availability Instance Configuration Utility
• Befehl: db2haicu
• Konfiguriert die Tivoli SA MP Scripts
• Standby Node zuerst konfigurieren
24
41. Administrative Befehle
• Starten/Stoppen
– START HADR ON DB TESTDB AS STANDBY
– START HADR ON DB TESTDB AS PRIMARY (BY FORCE)
– STOP HADR ON DB TESTDB
• HADR Status
– lssam
– db2pd -hadr -db testdb (-alldbs)
– db2pd –ha
• Takeover
– TAKEOVER HADR ON DB TESTDB (BY FORCE)
• Unlock Ressouces
– rgreq -o unlock xxx
Info: Vorsichtiger Umgang mit by force
41
42. Takeover - prevent split brain
• Primary Datenbank startet nur wenn Standby verfügbar
– Hadr_timeout
• Takeover: alte Primary DB kontaktiert neue Primary DB und startet als
Standby
• Split Brain ist möglich!
– Komplexer Ausfall inkl. Netzwerkausfall und Reboots
– Administrativer Fehler (by force)
– Auflösen über
• Backup/Restore
• START HADR ON DB TESTDB AS STANDBY
• Auf VIP achten!
42
43. Deactivate/Activate Tivoli SAMP & Ressourcen locking
• Deaktivieren Tivoli SA MP
– samctrl -M T
• Aktivieren Tivoli SA MP
– samctrl -M F
• Ressourcen locken (db2haicu deaktivieren)
– db2haicu -disable
• db2haicu aktiveren
– db2haicu
43