49
Make Your Data Work for You DB2 High Availability für IBM Connections, Sametime und Traveler Nico Meisenzahl September 2016

DB2 High Availability für IBM Connections, Sametime oder Traveler

Embed Size (px)

Citation preview

Page 1: DB2 High Availability für IBM Connections, Sametime oder Traveler

Make Your Data Work for You

DB2 High Availability für IBM Connections, Sametime

und Traveler Nico MeisenzahlSeptember 2016

Page 2: DB2 High Availability für IBM Connections, Sametime oder Traveler

• 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 [email protected]

Page 3: DB2 High Availability für IBM Connections, Sametime oder Traveler

I. Cluster TechnologienII. High Availability and Disaster Recovery (HADR)III. Installation & Konfiguration (Demo/Hands-on)IV. Administration & Tipps

Agenda

Page 4: DB2 High Availability für IBM Connections, Sametime oder Traveler

Make Your Data Work for You

Cluster Technologien &High Availability and DisasterRecovery (HADR)

Page 5: DB2 High Availability für IBM Connections, Sametime oder Traveler

Ü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

Page 6: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 7: DB2 High Availability für IBM Connections, Sametime oder Traveler

Topology

7

Page 8: DB2 High Availability für IBM Connections, Sametime oder Traveler

Takeover (1)

8

Page 9: DB2 High Availability für IBM Connections, Sametime oder Traveler

Takeover (2)

9

Page 10: DB2 High Availability für IBM Connections, Sametime oder Traveler

Takeover (3)

10

Page 11: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 12: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 13: DB2 High Availability für IBM Connections, Sametime oder Traveler

Datenbanken im HADR

13

Page 14: DB2 High Availability für IBM Connections, Sametime oder Traveler

Log shipping

14

Page 15: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 16: DB2 High Availability für IBM Connections, Sametime oder Traveler

• 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

Page 17: DB2 High Availability für IBM Connections, Sametime oder Traveler

Make Your Data Work for You

Demo / Hands-on

Page 18: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 19: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 20: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 21: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 22: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 23: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 24: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: High Availability Instance Configuration Utility

• Befehl: db2haicu• Konfiguriert die Tivoli SA MP Scripts• Standby Node zuerst konfigurieren

24

Page 25: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db2 (1)

25

Page 26: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db2 (2)

26

Page 27: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db2 (3)

27

Page 28: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db2 (4)

28

Page 29: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db2 (5)

29

Page 30: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db2 (6)

30

Page 31: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db1 (1)

31

Page 32: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db1 (2)

32

Page 33: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: db2haicu auf db1 (3)

33

Page 34: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: lssam & db2pd -ha

34

Page 35: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: Takeover (switch role)

• TAKEOVER HADR ON DB TESTDB

35

Page 36: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: Takeover (failover)

36

Page 37: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: Takeover (failover)

37

Page 38: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: Takeover (failover)

38

Page 39: DB2 High Availability für IBM Connections, Sametime oder Traveler

Demo: Takeover (failover)

39

Page 40: DB2 High Availability für IBM Connections, Sametime oder Traveler

Make Your Data Work for You

Administration & Tipps

Page 41: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 42: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 43: DB2 High Availability für IBM Connections, Sametime oder Traveler

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

Page 44: DB2 High Availability für IBM Connections, Sametime oder Traveler

Monitoring

• db2pd -hadr -db testdb (-alldbs)• db2pd –ha• MON_GET_HADR Funktion• Verbesserungen mit v10.1

44

Page 45: DB2 High Availability für IBM Connections, Sametime oder Traveler

Monitoring Parameter

• HADR_ROLE• HADR_STATE• HADR_CONNECT_STATUS• TIME_SINCE_LAST_RECV

– HEARTBEAT_INTERVAL

• HADR_LOG_GAP

45

Page 46: DB2 High Availability für IBM Connections, Sametime oder Traveler

Logs

• db2diag– Filter Optionen

• db2diag.log– Logfile Rollover konfigurieren!

• samlog– Logs sind binär

• Syslog

46

Page 47: DB2 High Availability für IBM Connections, Sametime oder Traveler

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/DB2HADR/page/HADR%20simulator?section=Introduction

47

Page 48: DB2 High Availability für IBM Connections, Sametime oder Traveler

Fragen?

48

@nmeisenzahl linkedin.com/in/nicomeisenzahl meisenzahl.org nico.meisenzahl +49 170 [email protected]

Page 49: DB2 High Availability für IBM Connections, Sametime oder Traveler

Headquarters, Austria:panagenda GmbH (Ltd.)Schreyvogelgasse 3/10AT 1010 Vienna

Phone: +43 1 89 012 89Fax: +43 1 89 012 89-15E-Mail: [email protected]

Headquarters, Germany:panagenda GmbH (Ltd.)Lahnstraße 17DE 64646 Heppenheim

Phone: +49 6252 67 939-00Fax: +49 6252 67 939-16E-Mail: [email protected]

USA:panagenda Inc.60 State Street, Suite 700MA 02109 Boston

Phone: +1 617 855 5961Fax: +1 617 488 2292E-Mail: [email protected]

Germany:panagenda Consulting GmbH (Ltd.)Donnersbergstraße 1DE 64646 Heppenheim

Phone: +49 6252 67 939-86Fax: +49 6252 67 939-16E-Mail: [email protected]

The Netherlands:Trust Factory B.V. 11th Floor,Koningin Julianaplein 10NL 2595 AA The Hague

Phone: +31 70 80 801 96E-Mail: [email protected]

© 2007-2015 panagendaMake Your Data Work for You