Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Eng bedeitend Unzuel vun Enterprise Uwendungen a Virtualiséierungssystemer hunn hir eege Mechanismen fir Feeler-tolerant Léisungen ze bauen. Besonnesch Oracle RAC (Oracle Real Application Cluster) ass e Stärekoup vun zwee oder méi Oracle Datebankserver, déi zesumme schaffen fir d'Laascht ze balanséieren an d'Feeltoleranz um Server / Applikatiounsniveau ze bidden. Fir an dësem Modus ze schaffen, braucht Dir gemeinsame Späicheren, wat normalerweis e Späichersystem ass.

Wéi mir schonn an engem vun eisen diskutéiert hunn Artikelen, de Späichersystem selwer, trotz der Präsenz vun duplizéierten Komponenten (inklusive Controller), huet nach ëmmer Punkte vu Feeler - haaptsächlech an der Form vun engem eenzegen Satz vun Daten. Dofir, fir eng Oracle Léisung mat verstäerkten Zouverlässegkeet Ufuerderunge ze bauen, muss de Schema "N Server - One Storage System" komplizéiert sinn.

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Als éischt musse mir natierlech entscheeden, géint wéi eng Risiken mir probéieren ze versécheren. An dësem Artikel wäerte mir de Schutz géint Bedrohungen net berücksichtegen wéi "e Meteorit ass ukomm." Also bauen eng geographesch verspreet Katastrophen Erhuelung Léisung wäert en Thema fir ee vun de folgenden Artikelen bleiwen. Hei wäerte mir déi sougenannte Cross-Rack Katastrophen Erhuelung Léisung kucken, wann de Schutz um Niveau vun de Serverkabinetten gebaut gëtt. D'Schränke selwer kënnen am selwechte Raum oder a verschiddene sinn, awer normalerweis am selwechte Gebai.

Dës Schränke mussen de ganzen néidege Set vun Ausrüstung a Software enthalen, déi d'Operatioun vun Oracle-Datebanken erlaben onofhängeg vum Zoustand vum "Nopesch". An anere Wierder, mat der Cross-Rack Disaster Recovery Léisung eliminéiere mir d'Risike vum Echec:

  • Oracle Applikatioun Serveren
  • Storagesystemer
  • Wiesselsystemer
  • Komplett Ausfall vun all Ausrüstung am Cabinet:
    • Power Refus
    • Ausfall vum Kühlsystem
    • Extern Faktoren (Mënsch, Natur, asw.)

Duplikatioun vun Oracle Server implizéiert de ganz Betribsprinzip vun Oracle RAC a gëtt duerch eng Applikatioun implementéiert. Duplikatioun vu Wiesselanlagen ass och kee Problem. Awer mat Duplikatioun vum Späichersystem ass alles net sou einfach.

Déi einfachst Optioun ass Datereplikatioun vum Haaptspeichersystem op de Backup. Synchron oder asynchron, ofhängeg vun de Fäegkeeten vum Späichersystem. Mat asynchroner Replikatioun stellt sech direkt d'Fro op d'Datekonsistenz a Relatioun mat Oracle ze garantéieren. Awer och wann et Software Integratioun mat der Applikatioun ass, op jidde Fall, am Fall vun engem Feeler am Haaptspeichersystem, manuell Interventioun vun Administrateuren erfuerderlech fir de Cluster op d'Backuplagerung ze wiesselen.

Eng méi komplex Optioun ass Software an / oder Hardware-Späichere "Virtualisatoren", déi Konsistenzproblemer a manuell Interventioun eliminéieren. Awer d'Komplexitéit vum Détachement a spéider Administratioun, wéi och déi ganz onschëlleg Käschte vun esou Léisungen, erschrecken vill.

D'AccelStor NeoSapphire ™ All Flash Array Léisung ass perfekt fir Szenarie wéi Cross-Rack Katastrophen Erhuelung H710 benotzt Shared-Nothing Architektur. Dëse Modell ass en Zwee-Node Späichersystem deen propriétaire FlexiRemap® Technologie benotzt fir mat Flash Drive ze schaffen. Merci un FlexiRemap® NeoSapphire ™ H710 ass fäeg Leeschtung bis zu 600K IOPS@4K zoufälleg Schreiwen an 1M+ IOPS@4K zoufälleg Liesen ze liwweren, wat onerreechbar ass wann Dir klassesch RAID-baséiert Späichersystemer benotzt.

Awer d'Haaptfunktioun vum NeoSapphire ™ H710 ass d'Ausféierung vun zwee Wirbelen a Form vun getrennte Fäll, déi jidderee seng eege Kopie vun den Donnéeën huet. D'Synchroniséierung vun de Wirbelen gëtt duerch den externen InfiniBand Interface duerchgefouert. Dank dëser Architektur ass et méiglech Noden op verschidde Plazen op enger Distanz vu bis zu 100m ze verdeelen, doduerch eng Cross-Rack Disaster Recovery Léisung ze bidden. Béid Node funktionnéieren komplett synchron. Vun der Host Säit gesäit den H710 aus wéi e gewéinleche Dual-Controller-Späichersystem. Dofir ass et net néideg fir zousätzlech Software oder Hardwareoptiounen oder besonnesch komplex Astellungen auszeféieren.

Wa mir all d'Cross-Rack Katastrophen Erhuelung Léisungen uewe beschriwwe vergläichen, da steet d'Optioun vum AccelStor bemierkenswäert aus dem Rescht eraus:

AccelStor NeoSapphire™ Shared Nothing Architecture
Software oder Hardware "Virtualizer" Stockage System
Replikatioun baséiert Léisung

Disponibilitéit

Server Echec
Keng Auszäit
Keng Auszäit
Keng Auszäit

Schaltfehler
Keng Auszäit
Keng Auszäit
Keng Auszäit

Stockage System Feeler
Keng Auszäit
Keng Auszäit
Downtime

Ganze Cabinet Echec
Keng Auszäit
Keng Auszäit
Downtime

Käschten a Komplexitéit

Léisung Käschten
Niddereg*
Héich
Héich

Deployment Komplexitéit
Низкая
Héich
Héich

* AccelStor NeoSapphire ™ ass nach ëmmer en All Flash Array, deen per Definitioun net "3 kopecks" kascht, besonnesch well et eng duebel Kapazitéitsreserve huet. Wéi och ëmmer, wann Dir d'Finale Käschte vun enger Léisung baséiert op et mat ähnlechen vun anere Verkeefer vergläicht, kënnen d'Käschte als niddereg ugesi ginn.

D'Topologie fir d'Verbindung vun Applikatiounsserveren an All Flash Array Noden wäert esou ausgesinn:

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Wann Dir d'Topologie plangt, ass et och héich recommandéiert Gestiounschalter ze duplizéieren an Serveren ze verbannen.

Hei a weider wäerte mir iwwer d'Verbindung iwwer Fiber Channel schwätzen. Wann Dir iSCSI benotzt, wäert alles d'selwecht sinn, ugepasst fir d'Zorte vu Schalter benotzt a liicht verschidden Array-Astellungen.

Virbereedungsaarbecht op der Array

Ausrüstung a Software benotzt

Server a Switch Spezifikatioune

Komponenten
Beschreiwung

Oracle Datebank 11g Serveren
Zwee

Server Betribssystem
oracle linux

Oracle Datebank Versioun
11g (RAC)

Prozessoren pro Server
Zwee 16 Kär Intel® Xeon® CPU E5-2667 v2 @ 3.30GHz

Kierperlech Erënnerung pro Server
128GB

FC Netz
16Gb/s FC mat Multipathing

FC HBA
Emulex Lpe-16002B

Engagéierten ëffentlechen 1GbE Häfen fir Cluster Management
Intel Ethernet Adapter RJ45

16Gb/s FC Schalter
Brocade 6505

Engagéierten privaten 10GbE Ports fir Datensynchroniséierung
Intel X520

AccelStor NeoSapphire ™ All Flash Array Spezifizéierung

Komponenten
Beschreiwung

Späichersystem
NeoSapphire™ Héich Disponibilitéit Modell: H710

Bild Versioun
4.0.1

Total Zuel vun fiert
48

Fuert Gréisst
1.92TB

Fuert Typ
natierlech nach

FC Zil Häfen
16x 16Gb Ports (8 pro Node)

Gestioun Häfen
Den 1GbE Ethernet Kabel verbënnt mat Hosten iwwer en Ethernet Schalter

Häerzschlag port
Den 1GbE Ethernet Kabel verbënnt tëscht zwee Späicherknäppchen

Daten Synchroniséierung port
56Gb/s InfiniBand Kabel

Ier Dir en Array benotze kënnt, musst Dir se initialiséieren. Par défaut ass d'Kontrolladress vu béide Wirbelen d'selwecht (192.168.1.1). Dir musst mat hinnen een nom aneren konnektéieren an nei (schon aner) Gestiounsadressen astellen an Zäitsynchroniséierung astellen, duerno kënnen d'Management Ports mat engem eenzegen Netz verbonne sinn. Duerno ginn d'Knäppercher an en HA-Paar kombinéiert andeems se Subnets fir Interlink-Verbindunge ginn.

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Nodeems d'Initialiséierung fäerdeg ass, kënnt Dir d'Array vun all Node verwalten.

Als nächst erstelle mir déi néideg Bänn a publizéieren se op Applikatiounsserver.

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Et ass héich recommandéiert fir verschidde Bänn fir Oracle ASM ze kreéieren well dëst d'Zuel vun den Ziler fir d'Server erhéijen, wat schlussendlech d'Gesamtleistung verbessert (méi iwwer Schlaangen an engem aneren Artikel).

Test Configuratioun

Stockage Volume Numm
Volume Gréisst

Daten01
200GB

Daten02
200GB

Daten03
200GB

Daten04
200GB

Daten05
200GB

Daten06
200GB

Daten07
200GB

Daten08
200GB

Daten09
200GB

Daten10
200GB

Grid01
1GB

Grid02
1GB

Grid03
1GB

Grid04
1GB

Grid05
1GB

Grid06
1GB

Wieder 01
100GB

Wieder 02
100GB

Wieder 03
100GB

Wieder 04
100GB

Wieder 05
100GB

Wieder 06
100GB

Wieder 07
100GB

Wieder 08
100GB

Wieder 09
100GB

Wieder 10
100GB

E puer Erklärungen iwwer d'Operatiounsmodi vun der Array an d'Prozesser déi an Noutsituatiounen optrieden

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Den Dateset vun all Node huet e "Versiounsnummer" Parameter. No der éischter Initialiséierung ass et d'selwecht a gläich 1. Wann aus iergendengem Grond d'Versiounsnummer anescht ass, da ginn d'Donnéeën ëmmer vun der eelerer Versioun op déi jéngst synchroniséiert, duerno gëtt d'Zuel vun der méi jonker Versioun ausgeriicht, d.h. dat heescht, datt d'Kopie identesch sinn. Grënn firwat Versiounen anescht kënne sinn:

  • Geplangte Restart vun engem vun den Noden
  • En Accident op engem vun de Wirbelen wéinst engem plötzlechen Ausschalten (Energieversuergung, Iwwerhëtzung, asw.).
  • Verluer InfiniBand Verbindung mat Onméiglechkeet ze synchroniséieren
  • E Crash op engem vun den Noden wéinst Datekorruptioun. Hei musst Dir eng nei HA Grupp erstellen an d'Synchroniséierung vum Dateset komplett maachen.

Op jidde Fall erhéicht den Node deen online bleift seng Versiounsnummer ëm ee fir seng Dateset ze synchroniséieren nodeems d'Verbindung mam Pair restauréiert ass.

Wann d'Verbindung iwwer den Ethernet Link verluer ass, wiesselt Heartbeat temporär op InfiniBand a gëtt bannent 10 Sekonnen zréck wann et restauréiert ass.

Hosten opsetzen

Fir Feeler Toleranz ze garantéieren an d'Performance ze verbesseren, musst Dir MPIO Support fir d'Array aktivéieren. Fir dëst ze maachen, musst Dir Linnen an d'Datei /etc/multipath.conf addéieren, an dann de Multipath-Service nei starten

Verstoppt TextGeräter {
Apparat {
Verkeefer "AStor"
path_grouping_policy "group_by_prio"
path_selector "Schlaanglängt 0"
path_checker "tur"
Fonctiounen "0"
hardware_handler "0"
prio "const"
failback direkt
fast_io_fail_tmo 5
dev_loss_tmo 60
user_friendly_names jo
detect_prio jo
rr_min_io_rq 1
no_path_neuprobéieren 0
}
}

Als nächst, fir datt ASM mat MPIO iwwer ASMLib funktionnéiert, musst Dir d' /etc/sysconfig/oracleasm Datei änneren an dann /etc/init.d/oracleasm scandisks lafen

Verstoppt Text

# ORACLEASM_SCANORDER: Passende Mustere fir Disk Scannen ze bestellen
ORACLEASM_SCANORDER="dm"

# ORACLEASM_SCANEXCLUDE: Passende Mustere fir Disken aus dem Scan auszeschléissen
ORACLEASM_SCANEXCLUDE="sd"

Remarque

Wann Dir ASMLib net wëllt benotzen, kënnt Dir d'UDEV Regelen benotzen, déi d'Basis fir ASMLib sinn.

Vun der Versioun 12.1.0.2 vun der Oracle Datebank un, ass d'Optioun fir d'Installatioun als Deel vun der ASMFD Software verfügbar.

Et ass néideg fir sécherzestellen datt d'Disks erstallt fir Oracle ASM mat der Blockgréisst ausgeriicht sinn, mat där d'Array kierperlech funktionnéiert (4K). Soss kann Leeschtung Problemer geschéien. Dofir ass et néideg Bänn mat de passenden Parameteren ze kreéieren:

getrennt /dev/mapper/device-name mklabel gpt mkpart primär 2048s 100% align-check optimal 1

Verdeelung vun Datenbanken iwwer erstallt Bänn fir eis Testkonfiguratioun

Stockage Volume Numm
Volume Gréisst
Volume LUNs Mapping
ASM Volume Device Detail
Allocatioun Eenheet Gréisst

Daten01
200GB
Kaart all Stockage Bänn ze Stockage System all Daten Häfen
Redundanz: Normal
Numm: DGDATA
Zweck: Datendateien

4MB

Daten02
200GB

Daten03
200GB

Daten04
200GB

Daten05
200GB

Daten06
200GB

Daten07
200GB

Daten08
200GB

Daten09
200GB

Daten10
200GB

Grid01
1GB
Redundanz: Normal
Numm: DGGRID1
Zweck: Gitter: CRS a Voting

4MB

Grid02
1GB

Grid03
1GB

Grid04
1GB
Redundanz: Normal
Numm: DGGRID2
Zweck: Gitter: CRS a Voting

4MB

Grid05
1GB

Grid06
1GB

Wieder 01
100GB
Redundanz: Normal
Numm: DGREDO1
Zweck: Logbuch vum Fuedem 1 nei maachen

4MB

Wieder 02
100GB

Wieder 03
100GB

Wieder 04
100GB

Wieder 05
100GB

Wieder 06
100GB
Redundanz: Normal
Numm: DGREDO2
Zweck: Logbuch vum Fuedem 2 nei maachen

4MB

Wieder 07
100GB

Wieder 08
100GB

Wieder 09
100GB

Wieder 10
100GB

Datebank Astellunge

  • Block Gréisst = 8K
  • Swap Plaz = 16GB
  • AMM auszeschalten (Automatic Memory Management)
  • Transparent Huge Säiten auszeschalten

Aner Astellungen

# vi /etc/sysctl.conf
✓ fs.aio-max-nr = 1048576
✓ fs.file-max = 6815744
✓ kernel.shmmax 103079215104
✓ kernel.shmal 31457280
✓ kernel.shmmn 4096
✓ kernel.sem = 250 32000 100 128
✓ net.ipv4.ip_local_port_range = 9000 65500
✓ net.core.rmem_default = 262144
✓ net.core.rmem_max = 4194304
✓ net.core.wmem_default = 262144
✓ net.core.wmem_max = 1048586
✓vm.swappiness=10
✓ vm.min_free_kbytes=524288 # setzt dëst net fest wann Dir Linux x86 benotzt
✓ vm.vfs_cache_pressure=200
✓ vm.nr_hugepages = 57000

# vi /etc/security/limits.conf
✓ Gitter Soft nproc 2047
✓ Gitter schwéier nproc 16384
✓ Gitter Soft Nofile 1024
✓ Gitter Hard Nofile 65536
✓ Gitter Soft Stack 10240
✓ Gitter Hard Stack 32768
✓ oracle soft nproc 2047
✓ Oracle Hard Nproc 16384
✓ Oracle Soft Nofile 1024
✓ Oracle Hard Nofile 65536
✓ Oracle Soft Stack 10240
✓ Oracle Hard Stack 32768
✓ Soft Memlock 120795954
✓ Hard Memlock 120795954

sqlplus "/as sysdba"
änneren System Set Prozesser = 2000 Ëmfang = spfile;
änneren System set open_cursors = 2000 Ëmfang = spfile;
änneren System Set session_cached_cursors = 300 Ëmfang = spfile;
änneren System Set db_files = 8192 Ëmfang = spfile;

Echec Test

Fir Demonstratiounszwecker gouf HammerDB benotzt fir eng OLTP-Laascht ze emuléieren. HammerDB Konfiguratioun:

Zuel vun Warehouses
256

Total Transaktiounen pro Benotzer
1000000000000

Virtuell Benotzer
256

D'Resultat war en 2.1M TPM, wat wäit vun der Leeschtungslimit vun der Array ass H710, awer ass e "Plafong" fir déi aktuell Hardwarekonfiguratioun vu Serveren (haaptsächlech wéinst Prozessoren) an hir Zuel. Den Zweck vun dësem Test ass ëmmer nach d'Feeltoleranz vun der Léisung als Ganzt ze weisen, an net maximal Leeschtung z'erreechen. Dofir wäerte mir einfach op dëser Figur bauen.

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Test fir Echec vun engem vun de Wirbelen

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

D'Host hunn en Deel vun de Weeër fir d'Späichere verluer, weider duerch déi verbleiwen mat dem zweeten Node ze schaffen. D'Performance ass fir e puer Sekonnen erofgaang wéinst de Weeër déi nei opgebaut goufen, an dann zréck op normal. Et gouf keng Ënnerbriechung am Service.

Cabinet Echec Test mat all Ausrüstung

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

Bauen eng Feeler-tolerant Léisung baséiert op Oracle RAC an AccelStor Shared-Nothing Architektur

An dësem Fall ass d'Performance och fir e puer Sekonnen erofgaang wéinst der Ëmstrukturéierung vun de Weeër, an dann zréck op d'Halschent vum urspréngleche Wäert. D'Resultat gouf vun der éischter halbéiert wéinst der Ausgrenzung vun engem Applikatiounsserver aus der Operatioun. Et gouf och keng Ënnerbriechung am Service.

Wann et e Besoin ass fir eng Feeler-tolerant Cross-Rack Katastrophen Erhuelung Léisung fir Oracle zu vernünfteg Käschten a mat wéineg Deployment / Administratioun Effort ëmzesetzen, da schaffen Oracle RAC an Architektur zesummen AccelStor Shared-Näischt wäert ee vun de beschten Optiounen ginn. Amplaz vun Oracle RAC kann et all aner Software ginn, déi Clustering ubitt, déiselwecht DBMS oder Virtualiséierungssystemer, zum Beispill. De Prinzip vun der Konstruktioun vun der Léisung bleift d'selwecht. An déi ënnescht Linn ass null fir RTO an RPO.

Source: will.com

Setzt e Commentaire