Construirea unui grup de gnu de rulare de mare fiabilitate

sistem de operare Linux pentru sisteme de înaltă disponibilitate

Sistemul de operare Linux este acum câștigă popularitate în rândul utilizatorilor. Explicit beneficiile sale pot fi văzute în organizarea de servere de Internet. În acest caz, performanța Linux este adesea destul de suficient, chiar dacă nu utilizați cel mai puternic și echipamentele tehnice cele mai moderne. Multe organizații preferă fiabilitatea serverelor, prin urmare, foarte atractiv este construirea de sisteme de înaltă disponibilitate bazate pe Linux.

Pentru a crea un nivel ridicat de disponibilitate (disponibilitate, fiabilitate) sunt necesare, cu excepția pentru software-ul de server, subsistemele suplimentare. De exemplu, sistemul de fișiere - o constantă, axat pe tranzacție, care trebuie să difere de integritate timp destul de nesemnificativ de verificare și de recuperare în caz de eșec al unui nod de cluster cu transferul de resurse către un alt nod.

Este necesar să se descrie procesul mai detaliat funcționarea clusterului de fiabilitate ridicată (disponibilitate).

Cluster (clustere) - este un fel de unire a două sau mai multe servere într-un singur sistem, în scopul de a obține o disponibilitate ridicată, precum și de distribuție a sarcinii corespunzătoare tuturor serviciilor.

În cadrul sistemului de disponibilitate ridicată - disponibilitate ridicată a sistemului (HA) - să înțeleagă sistemul informatic tolerant la defecte specifice, care garantează în caz de anulare, de reînnoire automată a capacității de muncă pentru o ușoară perioadă de timp (de la o fracțiune de secundă la câteva minute). Un astfel de sistem oferă servicii complete de membru clusterul ca întreg (așa-numitele servicii grupate), mai degrabă decât un anumit server din cluster. În cazul în care un nod eșuează, serviciile sale începe în mod automat pentru a oferi un cluster de server. De asemenea, în caz de eșec al aplicării pe oricare dintre serverele din cluster, începe automat să lucreze pe un server diferit.

Disponibilitate ridicată clustere rezolva următoarele probleme:

  1. a continuat să asigure o disponibilitate maximă a oricărei aplicații în jurul ceasului, indiferent de defecțiuni ale sistemului de operare, dispozitive de stocare a datelor, aplicații sau infrastructură;
  2. angajamente specifice în cadrul despre depășirea bugetului la un nivel anumit serviciu (SLA);
  3. asigurând cea mai mare disponibilitate posibilă pe baza disponibile (echipamente, infrastructură);
  4. de protecție a aplicațiilor „cluster“, precum și toate software-ul;
  5. crearea unor soluții specifice, în scopul de a oferi o disponibilitate locală ridicată și recuperare de date (DR), în cazul în care zona black-out;
  6. reducerea nefuncționare a sistemului de operare din cauza defecțiunilor frecvente și reducerea întreruperilor pentru a actualiza echipamentul, upgrade-uri de software, etc.;
  7. înalte de control și accesibilitate maximă a celor mai importante aplicații, baze de date și alte servicii - în plus față de protecția obișnuită (la nivel de sistem);
  8. garanție de disponibilitate ridicată în medii virtuale, reale și mixte.

De înaltă disponibilitate grup (grup ha) (de mare disponibilitate clustere) va ajuta cu siguranta pentru a reduce semnificativ timpii morți de sistem, și failover este automat destul de rapid, astfel încât utilizatorii pot finaliza cu ușurință munca lor.

Aceasta este, de mare disponibilitate cluster este o colecție de servere care lucrează împreună pentru a furniza servicii specifice. Astfel de servicii nu aparțin unui anumit server, și întregul cluster. În cazul defectării unuia dintre serverele transferate funcŃionează automat la un alt server cluster.

Dezvoltarea unei configurații specifice de clustere de înaltă fiabilitate (disponibilitate)

Clusterele de fiabilitate ridicată (WHC) este conceput în principal pentru a proteja sistemul de operare de la orice defecțiuni. Prin urmare, la etapa inițială de dezvoltare a unui astfel de grup este important să se găsească un singur punct de eșec (puncte unice de eșec, SPOFs). În cazul în arhitectura sistemului de operare implică unele elemente izolate, a căror eșec duce la un eșec nedorit al întregului cluster-ului - acesta este tocmai punctul unic de eșec. Prin intermediul unor puncte unice de eșec este redundanța. Există chiar și un fel de fiabilitate ridicată regulă și disponibilitate - „trei“ și „: redundanță, redundanță și redundanța!

Sistem de operare Linux: un grup de fiabilitate ridicată

Structura cluster

În general, nodurile de cluster vor fi unite prin trei linii de date: de control și de sincronizare a stării de sănătate (de aici vine Heartbeat - așa-numitul „bătăilor inimii“), accesul la rețelele corporative (LAN), precum și date pentru a accesa anumite periferice partajate și subsistemul disc partajat .

de stocare pe disc și subsisteme partajate

În prezent, vânzătorii HP va oferi cinci strategii principale pentru a depăși orice eșec al grupurilor de resurse. Este demn de remarcat faptul că acestea au nume diferite, în funcție de diferiți furnizori.

Idle Standby - "rezervă de mers în gol"

În această strategie, nodul principal este proprietarul unui grup de resurse special. În modul de așteptare normală, nodul nu este activat, și astfel controlează numai performanța nodului primar. În acest caz, oprirea grupului primar de resurse nod primește nod de rezervă. Nodurile prioritate explicită inerente, ca nodul cu cea mai mare prioritate ( „live“) deține anumit grup. În cazul în care unitatea de recuperare primară, cu o prioritate mai mare și este devine un grup de „gazdă“, și este, prin urmare, conduce la o anumită întrerupere în serviciu pentru o perioadă scurtă de timp. În plus, trebuie remarcat faptul că unitățile sunt dotate cu puteri diferite.

Rotirea Standby - „rotație de rezervă“

Spre deosebire de „standby inactiv“ menționată mai sus nu este aici „site-uri prioritare“. În consecință, unitatea care a fost pornit mai întâi, devine proprietarul unui grup de resurse special, iar al doilea nod este trimis la rezerva. Principalul avantaj al unei astfel de strategii pentru depășirea eșec - o lipsă totală de o pauză în serviciu, în cazul unui nod care încorporează cea mai mare prioritate. Dezavantajul este că există o anumită incertitudine, deoarece nu este clar care este nod activ în orice moment dat (mai ales în cazul în care numărul de noduri - mai mult de două) și faptul că site-urile ar trebui să aibă similare în cantitatea de energie.

Simplu Fallover - «apuca unilaterală“

În această strategie, nodul primar acționează în calitate de proprietar al unui anumit grup critic de resurse, iar backup - este utilizat pentru executarea aplicațiilor non-critice (de exemplu, Web-, FTP-servicii) și face recepția grupului critic de resurse în caz de întrerupere a site-ului primar, dar nu și invers. În cazul în care nodul de rezervă nu are o capacitate suficientă pentru a efectua grup de resurse critice, precum și aplicații necritice, în același timp, aplicațiile necritice pot fi oprite. Dacă există o recuperare a nodului primar, aceasta va conduce la transferul către acesta din grupul critic de resurse.

Preluarea reciprocă - «contra-apuca“

În această strategie, două noduri sunt configurate astfel încât fiecare dintre ele are posibilitatea de a lua un grup de alte resurse de nod. În mod similar, o astfel de strategie va lucra în configurații cu un număr mare de noduri.

Accesul concurent - «execuție paralelă“

De multe ori, cererile în sine nu interferează cu software-ul HP, deoarece poate oferi de înaltă disponibilitate și fiabilitate a oricărei aplicații care funcționează fără un operator. Pot exista, de asemenea, API și biblioteci care permit aplicațiilor să „coopereze“ cu software-ul HP suplimentar.

Structura software-ul HP Cluster

Sarcina principală a software-ului HP este că acesta reduce timpul în care anumite aplicații sunt inactive și există întreținere într-o stare controlată a întregului cluster-ului. Acesta este motivul pentru care software-ul HP include mai multe module, care rulează pe toate mașinile din cluster.

Central ( „principal“) „cluster manager“, care se ocupă de eveniment, de asemenea, efectuează munca de monitorizare a rețelei și oferă rapoarte cu privire la erorile din sistemul necesar. Toate componentele acestui „cluster manager“ executat pe noduri diferite și interacționează întotdeauna.

Alocați astfel de tipuri de evenimente:

  1. evoluții cluster;
  2. evenimente externe;
  3. găzdui evenimentul;
  4. notificare pozitivă sau negativă a realizării anumitor operațiuni.

Este necesar să se identifice unele dintre regulile de bază care determină algoritmul de „managerul de cluster“ pe toate nodurile.

  1. Nimic nu este un eșuat până toate „managerii de cluster“ ( „live“) nu se va ajunge la un acord că acesta este refuzat.
  2. Nimic nu poate fi atașat la cluster-ul, atâta timp cât toate „managerii de cluster“ ( „live“) nu se va ajunge la un acord că acest lucru este ceea ce este pregătit pentru o astfel de conexiune.
  3. În cazul aderării la clusterul a noului site toate „managerii de cluster„live““ trebuie să seturi complete de succes acțiuni (numite script-uri), care corespund evenimentului înainte de noul nod va fi capabil de a efectua scripturile lor.
  4. La finalizarea unității non-urgență de muncă el trebuie să maximizeze ieșirea corectă din cluster-ul corespunzător, precum și pentru a efectua înainte de a merge toate script-urile necesare.
  5. Hardware sau software-ul nucleu watchdog timer (WDT în nucleu) trebuie să fie utilizat pentru a preveni toate impasuri nod (în general, și în mod specific „cluster manager“). Cluster ar trebui să locuiască cu siguranță într-un stat controlat, iar în cazul unei funcționări defectuoase - în „managerul de cluster“ pe orice site; gazdă trebuie să fie repornit sau închis.
  6. Modulele de comunicare sunt concepute pentru a oferi un fel de interacțiune între toate „managerii de cluster“ la site-uri, precum și pentru a verifica starea de sănătate a altor „manageri de cluster“, în moduri care corespund metodei selectate de comunicare între noduri (ATM prin absența IP multicast Ethernet, RS -232 diferă de IP și așa mai departe.).
  7. Există un set de script-uri pentru a efectua operațiuni pe evenimente de manipulare, care activează aplicațiile run, adaptoarele de backup LAN, unități, montate pe unități.
  8. configurație de cluster trebuie să fie stocate într-o bază de date specifică (un anumit fișier de configurare a formatului dorit), precum și informațiile conținute de acesta să fie un anumit mod de sincronizare între toate nodurile din cluster.

Aplicațiile care au nevoie pentru a oferi disponibilitate ridicată și fiabilitate

Software-ul HP, desigur, nu poate fi axat pe aplicații specifice și concrete. Necesară pentru a interfera cu aplicația efectua anumite script-uri pentru a porni și opri aplicații care rulează pe evenimentele „începe de serviciu“ și „stop“, respectiv. fiabilitate ridicată și disponibilitate este prevăzută pentru orice aplicație și necesită, prin urmare nici o interacțiune cu operatorul de la început, deoarece poate fi rulat în fundal.

De asemenea, cu aplicațiile care rulează simultan poate începe procesul care controlează aplicarea și efectuează anumite procese necesare pentru transmiterea corectă și rapidă, dacă este necesar, nodul de rezervă. Este pentru aceste acțiuni corecte ar fi de a oferi un fel de interacțiune cu „managerul de cluster“ și alte noduri din cluster utilizând API-ul corespunzător.

De asemenea, în construcția de fiabilitate ridicată de cluster Linux ar trebui să fie luate în considerare mai multe aspecte importante, cum ar fi:

  • sincronizare de timp între diferite noduri din cluster;
  • întreținerea evenimentelor specifice sistemului de cluster jurnal;
  • controlul asupra cluster-ului și managementul de cluster pentru un anumit SNMP.

subsistem de stocare pe disc partajat

În primul rând, trebuie să ia în considerare conexiunea mnogohostovoe pentru anumite interfață SCSI. În cazul utilizării acestui tip de conexiune, subsistemul de memorie pe disc (SCSI sau alte dispozitive externe) poate fi conectat la mai multe noduri. Acest tip de conexiune trebuie să asigure prezența pe SCSI capetele terminale externe-bus specific, un ID SCSI diferit sunt setate pentru adaptor.

De asemenea, ține cont de faptul că subsistemele disc partajate pot fi, de asemenea, un „punct de eșec“, prin urmare, soluția corectă este de a utiliza mai multe subsisteme de disc cu organizarea obligatorie oglindire aceste informații.

În cazul SCSI-bus în scopul de a conecta subsistemului partajat, asigurați-vă că să ia în considerare problema împământat (sau cel puțin general și neutru) tuturor dispozitivelor conectate.

Alte modalități de a conecta disc partajat subsisteme de stocare sunt:

  • Fibre Channel Arbitrated Buclă (FC-AL);
  • Serial Architecture Storage (SSA);
  • "Firewire" - IEEE 1394, și altele.

Monitorizarea stării de sănătate a tuturor nodurilor din cluster

Desigur, în timp ce cluster-ul este foarte important este controlul constant de funcționare a unităților, precum și interacțiunea acestora cu LAN. Pentru aceste scopuri, utilizați pachete speciale de control colete care conțin anumite informații despre starea nodului și confirmă funcționarea corectă a acestuia. Aceasta este procedura pentru controlul de schimb mizele nodurile clusterului numite Heartbeat - „bătaie a inimii“. Acest „bătăile inimii“ este adesea realizată printr-o rețea LAN sau prin alte interfețe (de exemplu, SCSI, serial, etc).

În cazul unui site specific pentru un motiv oarecare nu intră astfel de pachete de control, se va lansa automat numărătoarea inversă, iar după un timp, se concluzionează că un nod eșuează. Pentru a asigura fiabilitatea unui astfel de schimb de noduri „live“ între anumite informații, și, prin urmare, un eșec nod este acceptată numai în cazul în care este fixat de către toate nodurile menționate mai sus „vii“.

Ce soluții există pentru construirea de sisteme de înaltă fiabilitate pentru sistemul de operare Linux?

Procesul de dezvoltare a sistemelor de construcție bazate pe sistemul de operare Linux, de obicei deținute de mai multe grupuri de lucru.

concluzie

Astfel, am analizat conceptele de bază asociate cu tehnologiile klasteriaztsii în GNU / Linux. Următoarea serie de articole se va concentra pe probleme practice - vom examina construirea de cluster-ele pentru diferite sarcini.