HA systeemid

From EIK wiki

Klastriks nimetatakse infotehnoloogias gruppi omavahel ühendatud arvuteid mis töötavad ühtse kogumina. Klastrite ehitamise eesmärk on tavaliselt jõudluse ja tõrkekindluse kasvatamine.

Laias perspektiivis võib klastri jagada kolmeks põhiliseks komponendiks.

  • Serverid
  • Serverite vaheline võrk
  • Serveritel asuv tarkvara

Töökindlus klastri puhul on tähtis et kui süsteemi mingis komponendis tekib tõrge siis ülejäänud süsteem on suuteline ilma riknenud komponendita edasi toimima. Selle saavutamiseks dubleeritakse klastri komponente selleks et vähendada ohtu et mõni klastri sõlm tervikuna toimimast lakkaks. Lisaks on vajalik et kasutusel oleks spetsiaal tarkvara mis oskaks klastri komponenti tõrke korral enda andmevoo ümber seadistada nii et välditaks riknenud osa.

Klastri tüübid

Arvutusklaster

Arvutusklastreid kasutatakse arvutus-intensiivseteks protsessideks kus on tähtis suur arvutusvõimsus.

Koormust jagav klaster

Koormust jagavaks klastriks peetakse klastrit mille puhul koormust jaotatakse mitme sarnase seadme vahel selleks et saavutada optimaalne resursi kasutus, tõsta läbilaskevõimet, vähendada vasteaega ja vältida ülekoormust.

Tõrkesiirde klaster

Tõrkesiirdeks peetakse käideldavust suurendavat automatiseeritud või käsiprotsessei elaststete IT-teenuste ümberlülitusteks, kasutades varuseadmeid, -asukohti ja/või -võrgumarsruute.

Tõrkesiirde klaster jaguneb

  • Active/active - Klaster mille puhul kõik kasutuses olevad klastri õlad on aktiivsed. Juhul kui üks õlgadest seiskub siis jaotatakse koormus ülejäänud õlgade vahel ära.
  • Active/passive - Klaster mille puhul üks klastri õlg on aktiivne ja teine klastri õlg on ooteseisus. Juhul kui aktiivne klastri õlg ära sureb käivitatakse teenus ooteseisus olevas õlas ning töö jätkub. Antud lahenduse puhul on probleemiks see, et üldiselt on süsteemi töös mõnda aega tõrge kuna süsteem peab aru saama et primaarne õlg on maas ja teise klastri õla käivitamine võtab aega.
  • N+1 - Lisab süsteemi ühe lisa klastri õla mis käivitatakse alles siis kui üks õlgadest on surnud. Seda nimetust kasutatakse üldiselt klastrites kus on palju õlgu jooksmas. Kahe õlaga klastri puhul on see sama mis active/passive.
  • N+M - Sama mis eelmine kuid lisa klastri õlgu on rohkem. Sellist lahendust kasutatakse siis kui on vaja kõrgemat tõrkekindlust, miinuseks on kindlasti suurem kulu kuna serverite arv mida sellise süsteemi hoidmiseks on vaja on tunduvalt suurem.
  • N-to-1 - Juhul kui failover toimub siis tagavara õlg tuuakse kasutusse ainult seni kuni primaarne õlg on tagasi online. Kui see hetk tuleb siis viiakse kõik teenused primaarse õla peale tagasi ning failover õlg läheb jälle ooteseisu.
  • N-to-N - Kombinatsioon active/active ja N+M klastrist. Selle klastri puhul jagatakse failind õla peal olevad teenused aktiivsete õlgade vahel ära ning seega kaob vajadus standby õlgade hoidmise järele.

Kõrgkäideldavuse mõõtmine

Süsteemi käideldavust mõõdetakse selle järgi millal teenused on saadavad. Juhul kui süsteem on töös kuid teenused mida süsteem peaks pakkuma ei toimi on tegemist downtimega.

Käideldavus % Katkestuse pikkus aastas Katkestuse pikkus kuus* Katkestuse pikkus nädalas
90% 36.5 päeva 72 tundi 16.8 tundi
95% 18.25 päeva 36 tundi 8.4 tundi
97% 10.96 päeva 21.6 tundi 5.04 tundi
98% 7.30 päeva 14.4 tundi 3.36 tundi
99% 3.65 päeva 7.20 tundi 1.68 tundi
99.5% 1.83 päeva 3.60 tundi 50.4 minutit
99.8% 17.52 tundi 86.23 minutit 20.16 minutit
99.9% 8.76 tundi 43.8 minutit 10.1 minutit
99.95% 4.38 tundi 21.56 minutit 5.04 minutit
99.99% 52.56 minutit 4.32 minutit 1.01 minutit
99.999% 5.26 minutit 25.9 sekundit 6.05 sekundit
99.9999% 31.5 sekundit 2.59 sekundit 0.605 sekundit
99.99999% 3.15 sekundit 0.259 sekundit 0.0605 sekundit

Antud tabelist on näha et 99% uptime ja 99.99% uptime vahe on väga suur ning siin on iga komakoht väga tähtis.

Kõrgkäideldavuse rakendamine

Selleks et süsteemi muuta kõrgkäideldavaks tuleks kirja panna kõik süsteemi komponendid mis võivad süsteemi käideldavust mõjutada. Komponente mille riknemise puhul süsteem ei ole enam käideldav kutsutakse SPOF-ideks(Single Point Of Failure). Selleks võivad olla andmesalvestus meedia, võrgu ühendused, serveriruumi lokatsioon jms. Juhul kui süsteem on kaardistatud tuleks otsustada millised komponendid on kriitilised ning vajavad klasterdamist. Klasterdamise plaani koostamisel on tähtis leida kesktee äripoole soovide ja soetusmaksumuse vahel. See osutub üldiselt kõige keerukamaks kuna tihti on raske põhjendada suurt väljaminekut mida klaster lahendus esialgu kindlasti on. Teine kriitiline komponent on süsteemide käideldavuse nõuete kokku leppimine. Tüüpiliselt on äripoole nõudmised ja eeldused süsteemidele reaalsusest erinevad ning nende täitmine tunduvalt keerukam kui reaalselt vaja oleks. Seetõttu ongi mõistlik süsteemi analüüsida ja kokku leppida kas ikka kõik süsteemid on kriitilised või on mõne süsteemi puhul ka katkestused lubatud.

Klasterdatud failisüsteem

Klasterdatud failisüsteemid võib jagada geograafilisteks ja lokaalseteks. Geograafiliste andmesalvestusklastrite puhul peegeldatakse eri lokatsioonides asuvate andmesalvestus seadmetes olevaid andmeid. See on eriti vajalik selliste süsteemide puhul kus süsteemid asuvad eri riikides ning andmete kättesaadavus igalpool on tähtis. Juhul kui võrgu ühendusega tekib probleeme on sellise lahenduse puhul igas lokatsioonis andmed olemas. Teiseks klastri tüübiks võib pidada lokaalset ehk jagatud salvestusseadmega klastrit. Selle puhul tagatakse tõrkekindlus andmete muutmise jälgimises(lukutabelid) ning sõltumatute ketaste liiasmassiivi selleks et tagada andmete õigsus ja käideldavus ka riistvaralise vea korral.

Klastri eelised

Klastri eelised klasterdamata süsteemide ees on:

  • Suurenenud tõrkekindlus
  • Suurem jõudlus
  • Parem skaleeritavus
  • Mugavam hooldus
  • Rahulikum uni administraatoritel

Klaster süsteemide puhul kasutusel olevad mõisted

Aju poolitus/Split brain

Split brain ehk Aju poolituseks peetakse klastri seisu juhul kui klastri kahe poole vaheline ühendus kaob ning mõlema klastri poole jaoks paistab teine pool surnud olevat. Sellisel juhul võtavad mõlemad pooled aktiivse rolli kuigi teine pool on veel elus.

Tõrkesiire/failover

Tõrkesiire võib olla nii manuaalne kui automaatne ning selle käigus viiakse teenused katkiselt klastri õlalt tervele üle selleks et süsteemi töö taastada/süsteemi töö säilitada.

Tagasisiire/failback

Tagasisiire toimub juhul kui klaster lahendus on ehitatud selliselt et primaarse klastri õla tööle hakkamisel tõstetakse aktiivne õlg sekundaarselt sinna tagasi muutes sekundaarse õla taas ootel olevaks.

Südamelöök/heartbeat

Südamelöögiks peetakse klastri puhul perioodilist signaali mida süsteemid saadavad üksteisele selleks et näidata et nad on aktiivsed ja toimivad. Üldiselt on südamelöökide jaoks kasutusel eraldi võrk kuhu pääsevad vaid klastri noded ning selle abil jälgitakse klastri seisukorda.


Kasutatud materjalid: http://et.wikipedia.org/wiki/Klaster_(infotehnoloogia)

http://en.wikipedia.org/wiki/High-availability_cluster

http://en.wikipedia.org/wiki/High_availability

http://akit.cyber.ee/terms/

http://en.wikipedia.org/wiki/Heartbeat_network

http://en.wikipedia.org/wiki/Split-brain_(computing)


Juhend Debian kõrgkäideldavaks muutmiseks: http://kuutorvaja.eenet.ee/wiki/Linux-HA_Debianiga

Essee SAP-i kõrgkäideldavusest: https://wiki.itcollege.ee/index.php/User:Mrajur