DB2 High Availability für IBM Connections, Sametime und Traveler Nico Meisenzahl September 2016 Make Your Data Work for You Nico Meisenzahl • • • • 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: @nmeisenzahl linkedin.com/in/nicomeisenzahl meisenzahl.org nico.meisenzahl +49 170 7355081 [email protected] 2 – IBM Connections Consulting – ICS Deployment & Optimierung Agenda I. Cluster Technologien II. High Availability and Disaster Recovery (HADR) III. Installation & Konfiguration (Demo/Hands-on) IV. Administration & Tipps Cluster Technologien & High Availability and Disaster Recovery (HADR) Make Your Data Work for You Ü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 • • • • 5 IBM Tivoli System Automation (SA MP) Microsoft Cluster Server für Windows IBM PowerHA SystemMirror für AIX Sun Cluster für Solaris 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 Topology 7 Takeover (1) 8 Takeover (2) 9 Takeover (3) 10 Takeover & Tivoli SA MP • 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 11 Automatic Client Reroute • JDBC – enableClientAffinitiesList=1 – clientRerouteAlternateServerName=<serverlist> – clientRerouteAlternatePortNumber=<portlist> • DB2 Connect – clientRerouteAlternateServerName =<serverlist> – clientRerouteAlternatePortNumber=<portlist> • • 12 Support in weiteren Produkten z.B. WAS Hinterlegen der VIP oder des Standby Nodes Datenbanken im HADR 13 Log shipping 14 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 HADR Lizenzierung • 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! 16 Demo / Hands-on Make Your Data Work for You Demo: HADR aktiv/passiv • Zwei Nodes – DB2 ESE 10.5.7 vorinstalliert – Instanz db2inst1 • Topologie – Node db1 • Public: db1.pana.local, 192.168.9.206, eth0 • Private: db1-hadr.pana.local, 192.168.203.206, eth1 – Node db2 • Public: db2.pana.local, 192.168.9.207, eth0 • Private: db2-hadr.pana.local, 192.168.203.207, eth1 – VIP • Public: db-access.pana.local, 192.168.9.208, eth0:0 18 Demo: HADR aktiv/passiv • DB2 Installation – Pre-request Check • <setupdir>/db2precheck • <setupdir>/db2/linuxamd64/tsamp/prereqSAM – „Typical“ installiert Tivoli SA MP – Deaktivieren von DB2 Fault Monitoring (db2fm) – Lizenz einspielen! • To Dos: – – – – – Vorbereiten der Instanzen Konfiguration der Datenbank HADR starten High Availability Instance Configuration Utility (db2haicu) Takeover testen Info: Lizenzen für Warm Cluster notwendig 19 Demo: Vorbereitung DB2 • Anpassung /etc/services – DB2_HADR_testdb 50501/tcp – Instanz neustarten • Nodes vorbereiten – preprpnode db1 db2 • Datenbank „TESTDB“ anlegen (db1) – CREATE DB TESTDB 20 Demo: Konfiguration testdb primary (db1) • • 21 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/; Demo: Konfiguration testdb standby (db2) • • 22 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; 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 Demo: High Availability Instance Configuration Utility • Befehl: db2haicu • Konfiguriert die Tivoli SA MP Scripts • Standby Node zuerst konfigurieren 24 Demo: db2haicu auf db2 (1) 25 Demo: db2haicu auf db2 (2) 26 Demo: db2haicu auf db2 (3) 27 Demo: db2haicu auf db2 (4) 28 Demo: db2haicu auf db2 (5) 29 Demo: db2haicu auf db2 (6) 30 Demo: db2haicu auf db1 (1) 31 Demo: db2haicu auf db1 (2) 32 Demo: db2haicu auf db1 (3) 33 Demo: lssam & db2pd -ha 34 Demo: Takeover (switch role) • TAKEOVER HADR ON DB TESTDB 35 Demo: Takeover (failover) 36 Demo: Takeover (failover) 37 Demo: Takeover (failover) 38 Demo: Takeover (failover) 39 Administration & Tipps Make Your Data Work for You 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 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 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 Monitoring • • • • 44 db2pd -hadr -db testdb (-alldbs) db2pd –ha MON_GET_HADR Funktion Verbesserungen mit v10.1 Monitoring Parameter • • • • HADR_ROLE HADR_STATE HADR_CONNECT_STATUS TIME_SINCE_LAST_RECV – HEARTBEAT_INTERVAL • HADR_LOG_GAP 45 Logs • db2diag – Filter Optionen • db2diag.log – Logfile Rollover konfigurieren! • samlog – Logs sind binär • Syslog 46 Links • DB2 HADR Wiki – https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/DB 2HADR • DB2 HADR Redbook – http://www.redbooks.ibm.com/redbooks/pdfs/sg247363.pdf • Tivoli SA MP Cheatsheat – http://www-01.ibm.com/support/docview.wss?uid=swg21653981 • MON_GET_HADR Tabellen Funktion – http://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw. sql.rtn.doc/doc/r0059275.html • HADR Simulator – https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/DB 2HADR/page/HADR%20simulator?section=Introduction 47 Fragen? @nmeisenzahl linkedin.com/in/nicomeisenzahl meisenzahl.org nico.meisenzahl +49 170 7355081 [email protected] 48 Headquarters, Austria: panagenda GmbH (Ltd.) Schreyvogelgasse 3/10 AT 1010 Vienna Headquarters, Germany: panagenda GmbH (Ltd.) Lahnstraße 17 DE 64646 Heppenheim Phone: +43 1 89 012 89 Fax: +43 1 89 012 89-15 E-Mail: [email protected] Phone: +49 6252 67 939-00 Fax: +49 6252 67 939-16 E-Mail: [email protected] USA: panagenda Inc. 60 State Street, Suite 700 MA 02109 Boston Germany: panagenda Consulting GmbH (Ltd.) Donnersbergstraße 1 DE 64646 Heppenheim Phone: +1 617 855 5961 Fax: +1 617 488 2292 E-Mail: [email protected] Phone: +49 6252 67 939-86 Fax: +49 6252 67 939-16 E-Mail: [email protected] The Netherlands: Trust Factory B.V. 11th Floor, Koningin Julianaplein 10 NL 2595 AA The Hague Phone: +31 70 80 801 96 E-Mail: [email protected] Make Your Data Work for You © 2007-2015 panagenda