ProHoster > Blog > Bestjoer > Bouwe in fout-tolerante oplossing basearre op Oracle RAC en AccelStor Shared-Nothing-arsjitektuer
Bouwe in fout-tolerante oplossing basearre op Oracle RAC en AccelStor Shared-Nothing-arsjitektuer
In grut oantal Enterprise-applikaasjes en virtualisaasjesystemen hawwe har eigen meganismen foar it bouwen fan fouttolerante oplossingen. Spesifyk is Oracle RAC (Oracle Real Application Cluster) in kluster fan twa of mear Oracle-databaseservers dy't gearwurkje om de lading te balansearjen en fouttolerânsje te leverjen op it server-/applikaasjenivo. Om yn dizze modus te wurkjen hawwe jo in dielde opslach nedich, dy't normaal in opslachsysteem is.
As wy hawwe al besprutsen yn ien fan ús artikels, it opslachsysteem sels, nettsjinsteande de oanwêzigens fan dûbele komponinten (ynklusyf controllers), hat noch punten fan mislearring - benammen yn 'e foarm fan in inkele set fan gegevens. Dêrom, om in Oracle-oplossing te bouwen mei ferhege easken foar betrouberens, moat it skema "N servers - ien opslachsysteem" yngewikkeld wêze.
Earst moatte wy fansels beslute tsjin hokker risiko's wy besykje te fersekerjen. Yn dit artikel sille wy beskerming net beskôgje tsjin bedrigingen lykas "in meteoryt is oankommen." Dat it bouwen fan in geografysk ferspraat oplossing foar rampherstel sil in ûnderwerp bliuwe foar ien fan 'e folgjende artikels. Hjir sille wy sjen nei de saneamde Cross-Rack disaster recovery oplossing, doe't beskerming wurdt boud op it nivo fan tsjinner kasten. De kasten sels kinne lizze yn deselde keamer of yn ferskate, mar meastal binnen itselde gebou.
Dizze kasten moatte de folsleine nedige set fan apparatuer en software befetsje dy't de wurking fan Oracle-databases tastean sil, nettsjinsteande de steat fan 'e "buorman". Mei oare wurden, mei help fan de Cross-Rack disaster recovery oplossing eliminearje wy de risiko's fan mislearring:
Oracle Application Servers
Storagesystemen
Switching systemen
Folsleine mislearring fan alle apparatuer yn it kabinet:
Power wegering
Koelsysteem falen
Eksterne faktoaren (minsklike, natuer, ensfh.)
Duplikaasje fan Oracle-tsjinners ymplisearret it heulende prinsipe fan Oracle RAC en wurdt ymplementearre fia in applikaasje. Duplikaasje fan skeakelfoarsjenningen is ek gjin probleem. Mar mei duplikaasje fan it opslachsysteem is alles net sa ienfâldich.
De ienfâldichste opsje is gegevensreplikaasje fan it haad opslachsysteem nei de reservekopy ien. Syngroane of asynchrone, ôfhinklik fan de mooglikheden fan it opslachsysteem. Mei asynchrone replikaasje ûntstiet fuortendaliks de fraach om gegevenskonsistinsje te garandearjen yn relaasje ta Oracle. Mar sels as d'r software-yntegraasje is mei de applikaasje, yn elts gefal, yn it gefal fan in mislearring op it haadopslachsysteem, sil hânmjittich yntervinsje fan behearders nedich wêze om it kluster te wikseljen nei reservekopy opslach.
In mear komplekse opsje is software en / of hardware opslach "virtualizers" dat sil elimineren konsistinsje problemen en hânmjittich yntervinsje. Mar de kompleksiteit fan ynset en folgjende administraasje, lykas de heul ûnfatsoenlike kosten fan sokke oplossingen, skrikt in protte ôf.
De AccelStor NeoSapphire™ All Flash-array-oplossing is perfekt foar senario's lykas Cross-Rack-rampherstel H710 mei help fan Shared-Nothing-arsjitektuer. Dit model is in opslachsysteem mei twa knooppunten dat proprietêre FlexiRemap®-technology brûkt om te wurkjen mei flash-driven. Mei tank oan FlexiRemap® NeoSapphire ™ H710 is yn steat om prestaasjes te leverjen oant 600K IOPS@4K willekeurich skriuwen en 1M+ IOPS@4K willekeurich lêzen, wat net te berikken is by it brûken fan klassike RAID-basearre opslachsystemen.
Mar it wichtichste skaaimerk fan NeoSapphire ™ H710 is de útfiering fan twa knopen yn 'e foarm fan aparte gefallen, elk fan dy hat in eigen kopy fan' e gegevens. Syngronisaasje fan knopen wurdt útfierd fia de eksterne InfiniBand ynterface. Mei tank oan dizze arsjitektuer is it mooglik om knooppunten te fersprieden nei ferskate lokaasjes op in ôfstân fan maksimaal 100m, en dêrmei in Cross-Rack disaster recovery oplossing te leverjen. Beide knopen wurkje folslein syngroan. Fan 'e hostkant liket de H710 as in gewoane opslachsysteem mei dûbele kontrôler. Dêrom is d'r gjin ferlet om ekstra software of hardware-opsjes út te fieren of benammen komplekse ynstellings.
As wy alle hjirboppe beskreaune oplossingen foar rampherstel fan Cross-Rack fergelykje, dan falt de opsje fan AccelStor merkber út fan 'e rest:
Tsjinner mislearring Gjin downtime Gjin downtime Gjin downtime
Skeakelje mislearring Gjin downtime Gjin downtime Gjin downtime
Storage systeem flater Gjin downtime Gjin downtime Downtime
Hiele kabinet falen Gjin downtime Gjin downtime Downtime
Kosten en kompleksiteit
Oplossingskosten
Leech*
Высокая
Высокая
Ynset kompleksiteit
Leech
Высокая
Высокая
* AccelStor NeoSapphire ™ is noch altyd in All Flash-array, dy't per definysje net "3 kopeken" kostet, foaral om't it in dûbele kapasiteitsreserve hat. As jo lykwols de definitive kosten fan in oplossing op basis dêrfan fergelykje mei ferlykbere fan oare leveransiers, kinne de kosten as leech wurde beskôge.
De topology foar it ferbinen fan applikaasjeservers en All Flash-arrayknooppunten sil der sa útsjen:
By it plannen fan de topology wurdt it ek tige oanrikkemandearre om behearswitches te duplikearjen en tsjinners te ferbinen.
Hjir en fierder sille wy prate oer ferbining fia Fibre Channel. As jo iSCSI brûke, sil alles itselde wêze, oanpast foar de brûkte soarten skeakels en wat ferskillende array-ynstellingen.
Tariedend wurk op 'e array
Apparatuer en software brûkt
Tsjinner en Switch Spesifikaasjes
Komponinten
beskriuwing
Oracle Database 11g tsjinners
Twa
Server bestjoeringssysteem
oracle linux
Oracle databank ferzje
11g (RAC)
Prozessoren per tsjinner
Twa 16-kearnen Intel® Xeon® CPU E5-2667 v2 @ 3.30GHz
Dedicated privee 10GbE havens foar gegevens synchonization
Intel X520
AccelStor NeoSapphire™ All Flash Array-spesifikaasje
Komponinten
beskriuwing
Opslachsysteem
NeoSapphire™ model mei hege beskikberens: H710
Ofbylding ferzje
4.0.1
Totaal oantal driuwfearren
48
Drive grutte
1.92TB
Drive type
SSD
FC doelhavens
16x 16Gb havens (8 per knooppunt)
Behear havens
De 1GbE ethernetkabel dy't ferbine mei hosts fia in ethernet-switch
Heartbeat haven
De 1GbE ethernetkabel dy't ferbine tusken twa opslachknooppunten
Data syngronisaasje haven
56Gb/s InfiniBand kabel
Foardat jo in array kinne brûke, moatte jo it inisjalisearje. Standert is it kontrôleadres fan beide knopen itselde (192.168.1.1). Jo moatte har ien foar ien ferbine en nije (al oare) behearadressen ynstelle en tiidsyngronisaasje ynstelle, wêrnei't de Managementports kinne wurde ferbûn mei ien netwurk. Neitiid wurde de knooppunten kombineare yn in HA-pear troch subnetten ta te jaan foar Interlink-ferbiningen.
Nei inisjalisaasje is foltôge, kinne jo de array beheare fanút elke knooppunt.
Dêrnei meitsje wy de nedige folumes en publisearje se nei applikaasje-tsjinners.
It wurdt tige oanrikkemandearre om meardere folumes foar Oracle ASM te meitsjen, om't dit it oantal doelen foar de servers sil ferheegje, wat úteinlik de algemiene prestaasjes ferbetterje (mear oer wachtrijen yn in oar artikel).
Test konfiguraasje
Opslach Volume Namme
Folume grutte
Gegevens 01
200GB
Gegevens 02
200GB
Gegevens 03
200GB
Gegevens 04
200GB
Gegevens 05
200GB
Gegevens 06
200GB
Gegevens 07
200GB
Gegevens 08
200GB
Gegevens 09
200GB
Gegevens 10
200GB
Grid01
1GB
Grid02
1GB
Grid03
1GB
Grid04
1GB
Grid05
1GB
Grid06
1GB
Weromsette 01
100GB
Weromsette 02
100GB
Weromsette 03
100GB
Weromsette 04
100GB
Weromsette 05
100GB
Weromsette 06
100GB
Weromsette 07
100GB
Weromsette 08
100GB
Weromsette 09
100GB
Weromsette 10
100GB
Guon ferklearrings oer de wurkwizen fan 'e array en de prosessen dy't foarkomme yn needsituaasjes
De gegevensset fan elke knooppunt hat in parameter "ferzjenûmer". Nei inisjele inisjalisaasje is it itselde en gelyk oan 1. As om ien of oare reden it ferzjenûmer oars is, dan wurde gegevens altyd syngronisearre fan 'e âldere ferzje nei de jongere, wêrnei't it nûmer fan 'e jongere ferzje ôfstimd wurdt, d.w.s. dit betsjut dat de kopyen identyk binne. Redenen wêrom't ferzjes oars kinne wêze:
Planne werstart fan ien fan 'e knopen
In ûngelok op ien fan 'e knooppunten troch in hommelse shutdown (stromforsyning, oververhitting, ensfh.).
Ferlern InfiniBand ferbining mei ûnfermogen om te syngronisearje
In crash op ien fan 'e knopen fanwege datakorrupsje. Hjir moatte jo in nije HA-groep oanmeitsje en folsleine syngronisaasje fan 'e dataset.
Yn alle gefallen fergruttet de knooppunt dy't online bliuwt syn ferzjenûmer mei ien om syn gegevensset te syngronisearjen neidat de ferbining mei it pear is hersteld.
As de ferbining oer de Ethernet keppeling is ferlern, Heartbeat tydlik oerstapt nei InfiniBand en werom binnen 10 sekonden as it wurdt restaurearre.
It opsetten fan hosts
Om fouttolerânsje te garandearjen en prestaasjes te ferbetterjen, moatte jo MPIO-stipe foar de array ynskeakelje. Om dit te dwaan, moatte jo rigels tafoegje oan it /etc/multipath.conf-bestân, en dan de multipath-tsjinst opnij starte
Folgjende, om ASM te wurkjen mei MPIO fia ASMLib, moatte jo it /etc/sysconfig/oracleasm-bestân wizigje en dan /etc/init.d/oracleasm scandisks útfiere
Ferburgen tekst
# ORACLEASM_SCANORDER: oerienkommende patroanen om skiif skennen te bestellen
ORACLEASM_SCANORDER="dm"
# ORACLEASM_SCANEXCLUDE: oerienkommende patroanen om skiven út te sluten fan scan
ORACLEASM_SCANEXCLUDE="sd"
remark
As jo ASMLib net wolle brûke, kinne jo de UDEV-regels brûke, dy't de basis binne foar ASMLib.
Begjinnend mei ferzje 12.1.0.2 fan Oracle Database, is de opsje beskikber foar ynstallaasje as ûnderdiel fan 'e ASMFD-software.
It is ymperatyf om te soargjen dat de skiven makke foar Oracle ASM binne ôfstimd mei de blokgrutte wêrmei't de array fysyk wurket (4K). Oars kinne prestaasjesproblemen foarkomme. Dêrom is it nedich om folumes te meitsjen mei de passende parameters:
sqlplus "/ as sysdba"
feroarje systeem set prosessen = 2000 scope = spfile;
feroarje systeem set open_cursors = 2000 scope = spfile;
feroarje systeem set session_cached_cursors=300 scope=spfile;
feroarje systeem set db_files = 8192 scope = spfile;
Failure test
Foar demonstraasjedoelen waard HammerDB brûkt om in OLTP-lading te emulearjen. HammerDB konfiguraasje:
Oantal Warehouses
256
Totaal transaksjes per brûker
1000000000000
Firtuele brûkers
256
It resultaat wie in 2.1M TPM, wat fier fan de prestaasjelimyt fan 'e array is H710, mar is in "plafond" foar de hjoeddeiske hardware konfiguraasje fan tsjinners (foaral fanwege processors) en harren oantal. It doel fan dizze test is noch altyd om de fouttolerânsje fan 'e oplossing as gehiel te demonstrearjen, en net om maksimale prestaasjes te berikken. Dêrom sille wy gewoan op dizze figuer bouwe.
Test foar mislearjen fan ien fan 'e knopen
De hosts ferlearen in part fan 'e paden nei de opslach, trochgean te wurkjen troch de oerbleaune mei it twadde knooppunt. Prestaasje sakke foar in pear sekonden fanwege de paden wurde ferboud, en doe werom nei normaal. Der wie gjin ûnderbrekking yn tsjinst.
Kabinet falen test mei alle apparatuer
Yn dit gefal sakke prestaasjes ek foar in pear sekonden troch de werstrukturearring fan 'e paden, en dan werom nei de helte fan' e oarspronklike wearde. It resultaat waard mei de helte fermindere fan 'e earste troch it útsluten fan ien applikaasjeserver fan wurking. Der wie ek gjin ûnderbrekking yn tsjinst.
As d'r ferlet is om in flater-tolerante Cross-Rack-ramphersteloplossing foar Oracle te ymplementearjen tsjin in ridlike kosten en mei in bytsje ynset-/administraasje-ynspanning, dan wurkje Oracle RAC en arsjitektuer gear AccelStor Shared-Neat sil ien fan de bêste opsjes. Yn stee fan Oracle RAC kin d'r elke oare software wêze dy't klustering leveret, bygelyks deselde DBMS as virtualisaasjesystemen. It prinsipe fan it bouwen fan de oplossing sil itselde bliuwe. En de ûnderste rigel is nul foar RTO en RPO.