Klonen von Exadata-Datenbanken mit der Oracle ZFS Appliance - Ein Erfahrungsbericht
1. Klonen von Exadata Datenbanken
mit der Oracle ZFS Appliance
Ein Erfahrungsbericht
DOAG
Konferenz
2014
1
2. database
intelligence
|
opera1ons
excellence
|
lizenzberatung
• Oracle-Projekte seit 2003
• Data Warehouse und
Business Intelligence Projekte
• Wartungsverträge
DOAG
Konferenz
2014
2
„we
go
the
extra
mile“
Jan Schreiber, Senior Consultant
Loopback.ORG GmbH
3. KUNDE UND ANWENDUNG
Deutschlandweiter Kommunikationsdienstleister
DWH/BI Landschaft mit mehreren ExaData-Systemen
Datenbeladungen von 2 TB pro Tag
Tägliche Bereitstellung von Key-Performance-Indikatoren
DOAG
Konferenz
2014
3
4. Ausgangssituation (physisch)
RMAN
10 Gbit/sec.
DOAG
Konferenz
2014
4
RMAN
1 Gbit/sec.
SAN Storage
Produktionsumgebung
Testumgebung
FC
7. Nachteile
• Platzverbrauch (ein n-faches der Originalvolumens)
• Lange Laufzeiten
• Hoher Netzwerk-Traffic durch Datenbewegung
• Lange Anpassungszeiten für Post-Tasks
• Insgesamt lange Bereitstellungszeiten
• Test / Entwicklungsumgebungen wurden zu selten aktualisiert
DOAG
Konferenz
2014
7
8. Oracle ZFS Appliance
• Direkt an Exadata-Infiniband angeschlossen
• Hohe Durchsatzraten bei der Datensicherung
• ZFS bietet Snapshots und Klone
• Schnelle Bereitstellung, geringer Platzverbrauch
• HCC Kompression kann beibehalten werden
• Native dNFS
DOAG
Konferenz
2014
8
12. Configuring a Single Oracle ZFS Storage Appliance into an
InfiniBand Fabric with Multiple Oracle Exadata Machines
„Two Exadata racks can be cabled together to share the same IB
fabric mesh. The merged Exadata racks can then be connected to a
single clustered Oracle ZFS Storage Appliance. Successful setup
requires adherence to some critical prerequisites and instructions,
including physical cabling procedures. Be sure to reference the
Oracle Exadata Database Machine Owner's Guide,
Part IV: Extension Configuring a Single Oracle ZFS Storage
Appliance into an InfiniBand Fabric with Multiple Oracle Exadata
Machines of the Oracle Database Machine and Oracle Exadata
Storage Expansion Rack“
http://www.oracle.com/technetwork/server-storage/sun-unified-storage/
documentation/multiple-exadata-zfssa-121013-2080035.pdf
DOAG
Konferenz
2014
12
13. IB-Konfiguration
• Enable LACP Link Aggregation
• Active/Active-Konfiguration für IPMP nicht empfohlen*
• Linux ifcfg-ibx: MTU=65520
• Connected Mode
DOAG
Konferenz
2014
13
*siehe
MOS
Note:
283107.1
14. Durchsatz
• Infiniband Bus Transferrate 2.0Gb/sec
• 40Gb/s mit QDR auf Eda-Seite
• Erwarteter Durchsatz 4GB/s
DOAG
Konferenz
2014
14
15. Klon-Erzeugung
Filesystem-Klon:
• offline
• online mit recovery
– Zugriff auf Archive
Logs notwendig
– Quell- und Klon-DB
liegen in einem
Filesystem oder
sind per zfs send
repliziert
RMAN-Klon:
• Sicherung der Quell-DB
mit RMAN AS COPY auf
ein (d)NFS-Share der
ZS
• RMAN Recovery auf der
ZS
• zfs clone
• Start auf DB-Host per
(d)NFS Mount
DOAG
Konferenz
2014
15
Data-Guard-Klon:
• DataGuard statt RMAN
• Point In Time Klon
möglich
• Verbindung mit
Desaster Recovery
21. Zusammenspiel RMAN und ZA
• RMAN AS COPY
– 1,75x längere Laufzeit als AS BACKUPSET
• Incrementally updated backup
• ENABLE BLOCK TRACKING
• BACKUP AS COPY SKIP INACCESSIBLE (ARCHIVELOG ALL)
DOAG
Konferenz
2014
21
22. RMAN Konfiguration
• RMAN Channel SBT_TAPE ohne Komprimierung, wenn
Backup Software bereits komprimiert
• RMAN Compression ist sehr CPU intensiv
• Höhere Datenraten mit mehreren RMAN-Channels
• Mount der Backup Shares mit Automounter oder init.d-
Skript
DOAG
Konferenz
2014
22
23. Datenbank-Kloning und ZA
• Alle zusammengehörigen Dateien müssen konsistent
geklont werden
• Schreiboperationen müssen auf Redo ausgelagert werden
• Archive Logs müssen berücksichtigt werden
DOAG
Konferenz
2014
23
24. DB-Kloning mit SMU
• Management der Kloning
• iSCSI und dNFS
• WebGUI und CLI
• Oracle 10,11, RAC, Linux, Solaris
DOAG
Konferenz
2014
24
26. SMU: Ablauf
1. Klon des Backup Share
2. Mount Klon auf Target Host
3. Start Temp-Instanz aus Backup, mount Controlfile,
read parameters (maxSCN, FRA-Size)
4. Start Klon-DB mit neuem PFile
5. Recover Control File
6. Database Recovery
7. OPEN RESETLOGS
8. Recompile aller Schema-Objekte
DOAG
Konferenz
2014
26
27. Host-Anbindung ZS
• L2: FC, IB oder (10G) Ethernet
• TCP/IP über Ethernet und IB
• ZA Protokolle: ftp, smb, nfs, iSCSI
• iSCSI: ZFS datasets (Volumes) als raw devices für ASM
– Nur eine ASM-Instanz pro Host
– iSCSI Volumes werden im Stück geklont
DOAG
Konferenz
2014
27
28. Oracles dNFS
• NFS-Implementation im Oracle-Prozess
– Für Datenbank-Zugriffe optimiertes Verhalten
– Für Datafiles, RMAN, Temp, Redo, Controlfiles…
– Keine serverseitige Komponenten
– Weniger CPU-Overhead
• Von Oracle empfohlen für Datenbankfiles auf ZA Storage
• 300% der kNFS-Performance in Linux
– 100% in Solaris ;)
DOAG
Konferenz
2014
28
29. k NFS
I/O Client
Oracle
Process
kernel
NFS-Client
NFS-Service
I/O Client
Oracle
Process
I/O Client
Oracle
Process
File A File B File B
DOAG
Konferenz
2014
29
d NFS
I/O Client
Oracle
Process
NFS-Client NFS-Client
NFS-Service
I/O Client
Oracle
Process
NFS-Client
I/O Client
Oracle
Process
File A File B File B
USER KERNEL MODE
USER KERNEL MODE
Loopback.ORG
30. SMU
• Konfiguriert Snapshots und Klone von Oracle-Datenbanken auf
ZFS-Storage
• Oracle Datenbank 10,11 auf ZA
• Solaris, Linux, Windows Clients, RAC
• NAS & SAN
• Snapshot, Clone, Rollback
• Online, Offline, Standby Snapshots
DOAG
Konferenz
2014
30
31. ZFS-Snapshots
• ZFS: Allocate on Write
• Änderungen werden stets auf neue Blöcke geschrieben
• Nach einem Snapshot werden keine obsoleten Blöcke mehr
gelöscht
• Ein Klon ist ein beschreibbarer Snapshot
• Schreiben auf einen Klon ist nicht langsamer
DOAG
Konferenz
2014
31
32. ZFS-Konfiguration: ARC & ZIL
• ARC Adaptive Read Cache in RAM oder auf
SSD (Readzilla/L2ARC)
– „Buffer Cache“ des Filesystems
• ZIL ZFS Intent Log (Writezilla)
– „Redo Log“ des Filesystems
– Synchrones Schreiben
– Asynchrones Schreiben geht ins RAM
DOAG
Konferenz
2014
32
33. Schreiben in ZFS
Get into a
transaction group
Update our
in-memory buffer
no
yes
DOAG
Konferenz
2014
33
Create in-memory
log record
Sync? Commit transaction
Commit ZIL record to disk
Return
34. ZFS logbias
• Latency: mit ZIL
• Throughput: ohne ZIL
• Auf SSD schreibt es sich schneller
• Aber viele Disks haben mehr Bandbreite als wenige SSDs
DOAG
Konferenz
2014
34
35. ZIL Konfiguration
• Gestripte SSDs für ZIL
– Maximale Performance
– Doppelfehler führt zu Datenverlust
• Gespiegelte SSDs für ZIL
– Maximale Schreibrate im Latency-Mode = Bandbreite eines SSD-Anschlusses
DOAG
Konferenz
2014
35
36. ZFS Share Konfiguration für
Datenbanken
Share Logbias Recordsize Primarycache Compression
DATAFILES latency db_blocksize all LZJB
Share Logbias Recordsize Primarycache Compression
DATAFILES latency db_blocksize all LZJB
INDIZES latency db_blocksize all off
CONTROLFILES latency 128k all LZJB
DOAG
Konferenz
2014
36
37. Pool-Konfiguration
• Oracle empfiehlt verschiedene Pools für Datafiles und Redo
• Mirrored Pool für Klon-Shares?
• RAID-Z für RMAN, Archive Log?
• HDDs können nur einem Pool zugewiesen werden
• HDDs können nie mehr aus Pool entfernt werden
• … Ein Pool pro Head
• Oracle empfielt 4 Schreib-SSDs für Klone und inkrementelle Backups
DOAG
Konferenz
2014
37
38. ZA „Cluster“
• 2 Heads, n Storage Bays
• Storage Bays sind untereinander querverbunden
• HDDs des anderen Heads können importiert werden
• Heads müssen einzeln konfiguriert werden
• Readzilla pro Head, verliert nach Schwenk Status
– Aufwärmphase nach dem Neustart
DOAG
Konferenz
2014
38
39. Projekt-Konfiguration
• ZFS datasets heissen in der ZA Shares
• Ein ZA Projekt ist ein Template für Shares
• iSCSI Block Devices werden immer synchron geschrieben, daher kein Latency
Mode
• Auf keinen Fall Deduplikation verwenden, da umfangreiche
Speicherstrukturen aufgebaut werden müssen (im RAM sollte der Cache sein)
• Shares müssen in beiden Köpfen angelegt werden
• User und Group ID in den Share Voreinstellungen anpassen (1001)
• Eindeutiges Namens-Schema für Shares und Snapshots einhalten!
DOAG
Konferenz
2014
39
40. SMU-Konfiguration
• Archive Logs müssen in von Datafiles getrenntes Share
• Ab SMU 1.2 können Datenbank-Shares auf beiden Cluster-
Köpfen liegen
• Bei einem RMAN Backup AS COPY auf ein Share darf sonst
nichts auf dem Share liegen
DOAG
Konferenz
2014
40
41. Manuelle Klon-Konfiguration
• Löschen der obsoleten Snapshots automatisieren
• Klon Refresh erfordert einen neuen Snapshot
• Löschen des Snapshots löscht alle Klone mit
DOAG
Konferenz
2014
41
42. Client-Konfiguration
• Linux Mount Options
– rw, bg, hard, nointr, rsize=1048576, wsize=1048576, tcp,
vers=3,timeo=600
– NFS Version 3 vorausgesetzt
• Solaris
– rw ,bg, hard, nointr, rsize=1048576, wsize=1048576, proto=tcp, vers=3,
forcedirectio
DOAG
Konferenz
2014
42
43. Linux Native NFS abschalten
# chkconfig portmap on
# service portmap start
# chkconfig nfs on
# service nfs start
# chkconfig nfslock on
# service nfslock start
DOAG
Konferenz
2014
43
45. Linux RDMA
• NFS over RDMA brachte die besten Ergebnisse
• Offiziell von Oracle nicht unterstützt
DOAG
Konferenz
2014
45
46. Klonen des Oracle Homes
1. ORACLE_HOME Master auf der ZA erstellen
2. Klonen auf der ZA
3. Mount des geklonten Shares
4. Konfigurieren des ORACLE_HOME Shares mit dem „clone“
Perl Skript*
DOAG
Konferenz
2014
46
*MOS
Dokument
ID300062.1
47. ZA Performance
Konfiguration / Test Durchsatz lesend Durchsatz schreibend
Initiale Konfig, RMAN/OS 260 MB/s
CTAS, INSERT APPEND 100 MB/s
Kernel-NFS 400 MB/s
dNFS 1,9 GB/s
Adaptive Direct IO, NOLOG,
throughput bias, rs=128k, IPoIB 1,6 GB/s
NFS over RDMA 3,5 GB/s 400 MB/s pro Pool
Bündel-Test, Latency Mode 5,5 GB/s mit beiden Köpfen 1 GB/s
ORION Test 600 MB/s (ein Kopf)
_adaptive_direct_read=TRUE 55 MB/s (DOP=10)
Mit Patch BUG 19339320 115 MB/s
_direct_io_wslots=32,
parallel_execution_message_size=6
5536
DOAG
Konferenz
2014
47
315 MB/s
Schreiben mit vielen parallelen
Sessions 1,2 GB/s
Mit allen SSDs 1,7 GB/s
NFS/IPoIB Durchsatz X4-2 / ZA 1,25GB/s pro Interface
Ziel mit 2x 4G Wirespeed 7 GB/s 4 GB/s (sustained IO)
Oracle-Angabe 27TB/h, 17,3GB/s on ZA
48. ZA Performance II
• 3 Oracle SRs
• 1 Oracle Bug…
• Development is still working…
DOAG
Konferenz
2014
48
49. Vielen Dank für Ihre
Aufmerksamkeit
Jan Schreiber, Hamburg
DOAG
Konferenz
2014
49