db2 high availability für ibm connections, sametime oder traveler

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

Upload: nico-meisenzahl

Post on 14-Apr-2017

118 views

Category:

Business


0 download

TRANSCRIPT

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