ProHoster > Blogs > AdministrÄcija > Kļūmju izturÄ«ga risinÄjuma izveide, pamatojoties uz Oracle RAC un AccelStor Shared-Nothing arhitektÅ«ru
Kļūmju izturÄ«ga risinÄjuma izveide, pamatojoties uz Oracle RAC un AccelStor Shared-Nothing arhitektÅ«ru
IevÄrojamam skaitam uzÅÄmuma lietojumprogrammu un virtualizÄcijas sistÄmu ir savi mehÄnismi defektu izturÄ«gu risinÄjumu izveidei. KonkrÄti, Oracle RAC (Oracle Real Application Cluster) ir divu vai vairÄku Oracle datu bÄzes serveru kopa, kas darbojas kopÄ, lai lÄ«dzsvarotu slodzi un nodroÅ”inÄtu kļūdu toleranci servera/lietojumprogrammas lÄ«menÄ«. Lai strÄdÄtu Å”ajÄ režīmÄ, ir nepiecieÅ”ama koplietojama krÄtuve, kas parasti ir uzglabÄÅ”anas sistÄma.
KÄ mÄs jau esam apsprieduÅ”i vienÄ no mÅ«su raksti, paÅ”ai uzglabÄÅ”anas sistÄmai, neskatoties uz dublÄtiem komponentiem (tostarp kontrolieriem), joprojÄm ir atteices punkti - galvenokÄrt vienas datu kopas veidÄ. TÄpÄc, lai izveidotu Oracle risinÄjumu ar paaugstinÄtÄm uzticamÄ«bas prasÄ«bÄm, shÄmai āN serveri ā viena uzglabÄÅ”anas sistÄmaā ir jÄbÅ«t sarežģītai.
PirmkÄrt, mums, protams, ir jÄizlemj, pret kÄdiem riskiem mÄs cenÅ”amies apdroÅ”inÄt. Å ajÄ rakstÄ mÄs neapsvÄrsim aizsardzÄ«bu pret tÄdiem draudiem kÄ āIr ieradies meteorÄ«tsā. TÄtad Ä£eogrÄfiski izkliedÄta avÄrijas seku novÄrÅ”anas risinÄjuma izveide joprojÄm bÅ«s viena no turpmÄkajiem rakstiem. Å eit apskatÄ«sim tÄ saukto Cross-Rack katastrofu atkopÅ”anas risinÄjumu, kad aizsardzÄ«ba tiek veidota serveru skapju lÄ«menÄ«. PaÅ”i skapji var atrasties vienÄ telpÄ vai dažÄdÄs, bet parasti vienas Äkas ietvaros.
Å ajos skapjos ir jÄbÅ«t visam nepiecieÅ”amajam aprÄ«kojuma un programmatÅ«ras komplektam, kas ļaus darboties Oracle datubÄzÄm neatkarÄ«gi no ākaimiÅaā stÄvokļa. Citiem vÄrdiem sakot, izmantojot Cross-Rack avÄrijas atkopÅ”anas risinÄjumu, mÄs novÄrÅ”am atteices riskus:
Oracle lietojumprogrammu serveri
UzglabÄÅ”anas sistÄmas
KomutÄcijas sistÄmas
PilnÄ«ga visa skapÄ« esoÅ”Ä aprÄ«kojuma kļūme:
Varas atteikums
DzesÄÅ”anas sistÄmas kļūme
ÄrÄjie faktori (cilvÄks, daba utt.)
Oracle serveru dublÄÅ”ana ietver paÅ”u Oracle RAC darbÄ«bas principu un tiek Ä«stenota, izmantojot lietojumprogrammu. ArÄ« komutÄcijas iespÄju dublÄÅ”anÄs nav problÄma. Bet ar uzglabÄÅ”anas sistÄmas dublÄÅ”anos viss nav tik vienkÄrÅ”i.
VienkÄrÅ”ÄkÄ iespÄja ir datu replikÄcija no galvenÄs krÄtuves sistÄmas uz rezerves sistÄmu. SinhronÄ vai asinhronÄ, atkarÄ«bÄ no uzglabÄÅ”anas sistÄmas iespÄjÄm. Izmantojot asinhrono replikÄciju, nekavÄjoties rodas jautÄjums par datu konsekvences nodroÅ”inÄÅ”anu attiecÄ«bÄ uz Oracle. Bet pat tad, ja ir programmatÅ«ras integrÄcija ar lietojumprogrammu, jebkurÄ gadÄ«jumÄ galvenÄs krÄtuves sistÄmas kļūmes gadÄ«jumÄ bÅ«s nepiecieÅ”ama manuÄla administratoru iejaukÅ”anÄs, lai pÄrslÄgtu klasteru uz rezerves krÄtuvi.
SarežģītÄka iespÄja ir programmatÅ«ras un/vai aparatÅ«ras uzglabÄÅ”anas "virtualizatori", kas novÄrsÄ«s konsekvences problÄmas un manuÄlu iejaukÅ”anos. TaÄu izvietoÅ”anas un turpmÄkÄs administrÄÅ”anas sarežģītÄ«ba, kÄ arÄ« Å”Ädu risinÄjumu ļoti nepiedienÄ«gÄs izmaksas daudzus atbaida.
AccelStor NeoSapphireā¢ All Flash masÄ«va risinÄjums ir lieliski piemÄrots tÄdiem scenÄrijiem kÄ Cross-Rack avÄrijas atkopÅ”ana H710 izmantojot Shared-Nothing arhitektÅ«ru. Å is modelis ir divu mezglu uzglabÄÅ”anas sistÄma, kas izmanto patentÄtu FlexiRemapĀ® tehnoloÄ£iju, lai strÄdÄtu ar zibatmiÅas diskiem. Pateicoties FlexiRemapĀ® NeoSapphireā¢ H710 spÄj nodroÅ”inÄt veiktspÄju lÄ«dz pat 600 K IOPS@4K izlases veida rakstÄ«Å”anai un 1 miljonam+ IOPS@4K nejauÅ”ai lasÄ«Å”anai, kas nav sasniedzams, izmantojot klasiskÄs uz RAID balstÄ«tas uzglabÄÅ”anas sistÄmas.
TaÄu NeoSapphireā¢ H710 galvenÄ iezÄ«me ir divu mezglu izpilde atseviŔķu gadÄ«jumu veidÄ, kuriem katram ir sava datu kopija. Mezglu sinhronizÄcija tiek veikta, izmantojot ÄrÄjo InfiniBand interfeisu. Pateicoties Å”ai arhitektÅ«rai, ir iespÄjams sadalÄ«t mezglus dažÄdÄs vietÄs lÄ«dz 100 m attÄlumÄ, tÄdÄjÄdi nodroÅ”inot Cross-Rack avÄrijas atkopÅ”anas risinÄjumu. Abi mezgli darbojas pilnÄ«gi sinhroni. No saimniekdatora puses H710 izskatÄs kÄ parasta divu kontrolieru glabÄÅ”anas sistÄma. TÄpÄc nav nepiecieÅ”ams veikt papildu programmatÅ«ras vai aparatÅ«ras opcijas vai Ä«paÅ”i sarežģītus iestatÄ«jumus.
Ja salÄ«dzinÄm visus iepriekÅ” aprakstÄ«tos Cross-Rack avÄrijas atkopÅ”anas risinÄjumus, tad AccelStor opcija ievÄrojami izceļas no pÄrÄjiem:
Servera kļūme Nav dÄ«kstÄves Nav dÄ«kstÄves Nav dÄ«kstÄves
SlÄdža kļūme Nav dÄ«kstÄves Nav dÄ«kstÄves Nav dÄ«kstÄves
UzglabÄÅ”anas sistÄmas kļūme Nav dÄ«kstÄves Nav dÄ«kstÄves DÄ«kstÄves
Visa skapja kļūme Nav dÄ«kstÄves Nav dÄ«kstÄves DÄ«kstÄves
Izmaksas un sarežģītība
RisinÄjuma izmaksas
zems*
Augsts
Augsts
IzvietoŔanas sarežģītība
Zems
Augsts
Augsts
*AccelStor NeoSapphireā¢ joprojÄm ir All Flash masÄ«vs, kas pÄc definÄ«cijas nemaksÄ ā3 kapeikasā, jo Ä«paÅ”i tÄpÄc, ka tam ir dubulta jaudas rezerve. TomÄr, salÄ«dzinot uz tÄ balstÄ«ta risinÄjuma galÄ«gÄs izmaksas ar lÄ«dzÄ«giem citu piegÄdÄtÄju risinÄjumiem, izmaksas var uzskatÄ«t par zemÄm.
Lietojumprogrammu serveru un visu Flash masÄ«va mezglu savienoÅ”anas topoloÄ£ija izskatÄ«sies Å”Ädi:
Å eit un tÄlÄk mÄs runÄsim par savienojuma izveidi, izmantojot Fibre Channel. Ja izmantojat iSCSI, viss bÅ«s vienÄds, pielÄgots izmantoto slÄdžu veidiem un nedaudz atŔķirÄ«giem masÄ«va iestatÄ«jumiem.
SagatavoŔanas darbi pie masīva
Izmantotais aprīkojums un programmatūra
Serveru un slÄdžu specifikÄcijas
Komponenti
Apraksts
Oracle Database 11g serveri
DivÄs
Servera operÄtÄjsistÄma
Oracle Linux
Oracle datu bÄzes versija
11 g (RAC)
Procesori uz serveri
Divi 16 kodolu IntelĀ® XeonĀ® CPU E5-2667 v2 @ 3.30 GHz
ÄŖpaÅ”i privÄtie 10GbE porti datu sinhronizÄÅ”anai
Intel X520
AccelStor NeoSapphireā¢ visa zibspuldzes masÄ«va specifikÄcija
Komponenti
Apraksts
UzglabÄÅ”anas sistÄma
NeoSapphireā¢ augstas pieejamÄ«bas modelis: H710
AttÄla versija
4.0.1
KopÄjais disku skaits
48
PiedziÅas izmÄrs
1.92TB
PiedziÅas veids
SSD
FC mÄrÄ·a porti
16 x 16 Gb porti (8 vienÄ mezglÄ)
PÄrvaldÄ«bas porti
1GbE Ethernet kabelis, kas savieno ar saimniekdatoriem, izmantojot Ethernet slÄdzi
Sirdspukstu osta
1GbE Ethernet kabelis, kas savieno divus uzglabÄÅ”anas mezglus
Datu sinhronizÄcijas ports
56Gb/s InfiniBand kabelis
Lai varÄtu izmantot masÄ«vu, tas ir jÄinicializÄ. PÄc noklusÄjuma abu mezglu vadÄ«bas adrese ir vienÄda (192.168.1.1). Ar tiem jÄpieslÄdzas pa vienam un jÄiestata jaunas (jau dažÄdas) pÄrvaldÄ«bas adreses un jÄiestata laika sinhronizÄcija, pÄc kuras Management portus var savienot ar vienu tÄ«klu. PÄc tam mezgli tiek apvienoti HA pÄrÄ«, pieŔķirot apakÅ”tÄ«klus starpsaiÅ”u savienojumiem.
Kad inicializÄcija ir pabeigta, varat pÄrvaldÄ«t masÄ«vu no jebkura mezgla.
TÄlÄk mÄs izveidojam nepiecieÅ”amos sÄjumus un publicÄjam tos lietojumprogrammu serveros.
Ir ļoti ieteicams izveidot vairÄkus Oracle ASM sÄjumus, jo tas palielinÄs serveru mÄrÄ·u skaitu, kas galu galÄ uzlabos vispÄrÄjo veiktspÄju (vairÄk par rindÄm citÄ raksts).
Testa konfigurÄcija
KrÄtuves apjoma nosaukums
Tilpuma lielums
Dati01
200GB
Dati02
200GB
Dati03
200GB
Dati04
200GB
Dati05
200GB
Dati06
200GB
Dati07
200GB
Dati08
200GB
Dati09
200GB
Dati10
200GB
Grid01
1GB
Grid02
1GB
Grid03
1GB
Grid04
1GB
Grid05
1GB
Grid06
1GB
AtkÄrtot01
100GB
AtkÄrtot02
100GB
AtkÄrtot03
100GB
AtkÄrtot04
100GB
AtkÄrtot05
100GB
AtkÄrtot06
100GB
AtkÄrtot07
100GB
AtkÄrtot08
100GB
AtkÄrtot09
100GB
AtkÄrtot10
100GB
Daži skaidrojumi par masÄ«va darbÄ«bas režīmiem un procesiem, kas notiek ÄrkÄrtas situÄcijÄs
Katra mezgla datu kopai ir parametrs āversijas numursā. PÄc sÄkotnÄjÄs inicializÄcijas tas ir vienÄds un vienÄds ar 1. Ja kÄda iemesla dÄļ versijas numurs ir atŔķirÄ«gs, tad dati vienmÄr tiek sinhronizÄti no vecÄkÄs versijas uz jaunÄko, pÄc tam tiek izlÄ«dzinÄts jaunÄkÄs versijas numurs, t.i. tas nozÄ«mÄ, ka kopijas ir identiskas. Iemesli, kÄpÄc versijas var atŔķirties:
PazaudÄts InfiniBand savienojums ar nespÄju sinhronizÄt
AvÄrija vienÄ no mezgliem datu bojÄjumu dÄļ. Å eit jums bÅ«s jÄizveido jauna HA grupa un jÄpabeidz datu kopas sinhronizÄcija.
JebkurÄ gadÄ«jumÄ mezgls, kas paliek tieÅ”saistÄ, palielina savu versijas numuru par vienu, lai pÄc savienojuma ar pÄri atjaunoÅ”anas sinhronizÄtu savu datu kopu.
Ja savienojums, izmantojot Ethernet saiti, tiek zaudÄts, Heartbeat Ä«slaicÄ«gi pÄrslÄdzas uz InfiniBand un atgriežas 10 sekunžu laikÄ, kad tas ir atjaunots.
Saimnieku iestatīŔana
Lai nodroÅ”inÄtu kļūdu toleranci un uzlabotu veiktspÄju, jums ir jÄiespÄjo MPIO atbalsts masÄ«vam. Lai to izdarÄ«tu, failam /etc/multipath.conf jÄpievieno rindas un pÄc tam jÄrestartÄ vairÄkceļu pakalpojums.
TÄlÄk, lai ASM varÄtu strÄdÄt ar MPIO, izmantojot ASMLib, jums ir jÄmaina /etc/sysconfig/oracleasm fails un pÄc tam jÄpalaiž /etc/init.d/oracleasm scandisks
SlÄpts teksts
# ORACLEASM_SCANORDER: modeļu atbilstÄ«ba diska skenÄÅ”anas pasÅ«tÄ«Å”anai
ORACLEASM_SCANORDER="dm"
# ORACLEASM_SCANEXCLUDE: atbilst modeļi, lai izslÄgtu diskus no skenÄÅ”anas
ORACLEASM_SCANEXCLUDE="sd"
Piezīme
Ja nevÄlaties izmantot ASMLib, varat izmantot UDEV noteikumus, kas ir ASMLib pamatÄ.
SÄkot ar Oracle Database versiju 12.1.0.2, Ŕī opcija ir pieejama instalÄÅ”anai kÄ daļa no ASMFD programmatÅ«ras.
Ir obligÄti jÄnodroÅ”ina, lai Oracle ASM izveidotie diski bÅ«tu saskaÅoti ar bloka izmÄru, ar kÄdu masÄ«vs fiziski darbojas (4K). PretÄjÄ gadÄ«jumÄ var rasties veiktspÄjas problÄmas. TÄpÄc ir jÄizveido sÄjumi ar atbilstoÅ”iem parametriem:
DemonstrÄcijas nolÅ«kos HammerDB tika izmantots, lai emulÄtu OLTP slodzi. HammerDB konfigurÄcija:
Noliktavu skaits
256
KopÄjais darÄ«jumu skaits vienam lietotÄjam
1000000000000
VirtuÄlie lietotÄji
256
RezultÄts bija 2.1 M TPM, kas ir tÄlu no masÄ«va veiktspÄjas ierobežojuma H710, bet ir āgriestiā paÅ”reizÄjai serveru aparatÅ«ras konfigurÄcijai (galvenokÄrt procesoru dÄļ) un to skaitam. Å Ä« testa mÄrÄ·is joprojÄm ir demonstrÄt risinÄjuma kļūdu toleranci kopumÄ, nevis sasniegt maksimÄlu veiktspÄju. TÄpÄc mÄs vienkÄrÅ”i balstÄ«simies uz Å”o skaitli.
PÄrbaudiet, vai nav kÄda no mezgliem atteices
Saimnieki zaudÄja daļu ceļu uz krÄtuvi, turpinot strÄdÄt ar atlikuÅ”ajiem ceļiem ar otro mezglu. VeiktspÄja uz dažÄm sekundÄm kritÄs, jo celiÅi tika pÄrbÅ«vÄti, un pÄc tam atgriezÄs normÄlÄ stÄvoklÄ«. PakalpojumÄ nebija nekÄdu pÄrtraukumu.
Skapja bojÄjumu pÄrbaude ar visu aprÄ«kojumu
Å ajÄ gadÄ«jumÄ arÄ« veiktspÄja uz dažÄm sekundÄm samazinÄjÄs ceļu pÄrstrukturÄÅ”anas dÄļ un pÄc tam atgriezÄs uz pusi no sÄkotnÄjÄs vÄrtÄ«bas. RezultÄts tika samazinÄts uz pusi salÄ«dzinÄjumÄ ar sÄkotnÄjo, jo viens lietojumprogrammu serveris tika izslÄgts no darbÄ«bas. ArÄ« apkalpoÅ”anÄ nebija nekÄdu pÄrtraukumu.
Ja ir nepiecieÅ”ams ieviest defektiem izturÄ«gu Cross-Rack avÄrijas atkopÅ”anas risinÄjumu Oracle par saprÄtÄ«gÄm izmaksÄm un ar nelielu izvietoÅ”anas/administrÄÅ”anas piepÅ«li, Oracle RAC un arhitektÅ«ra strÄdÄ kopÄ. AccelStor koplietots ā nekas bÅ«s viens no labÄkajiem variantiem. Oracle RAC vietÄ var bÅ«t jebkura cita programmatÅ«ra, kas nodroÅ”ina klasterizÄciju, piemÄram, tÄs paÅ”as DBVS vai virtualizÄcijas sistÄmas. RisinÄjuma konstruÄÅ”anas princips paliks nemainÄ«gs. Un apakÅ”ÄjÄ lÄ«nija ir nulle attiecÄ«bÄ uz RTO un RPO.