ProHoster > Blog > Administratioun > 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
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.
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:
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
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.
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.
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
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
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:
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.
Test fir Echec vun engem vun de Wirbelen
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
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.