ARSO (P2): Clusters d’alta disponibilitat - Informe

7
UOC Universitat Oberta de Catalunya 2012-13 Clústers dalta disponibilitat Informe d’ampliació Aurora Lara Marin AXSO Aula 2

Transcript of ARSO (P2): Clusters d’alta disponibilitat - Informe

Page 1: ARSO (P2): Clusters d’alta disponibilitat - Informe

UOC – Universitat Oberta de Catalunya

2012-13

Clústers d’alta

disponibilitat Informe d’ampliació

Aurora Lara Marin

AXSO – Aula 2

Page 2: ARSO (P2): Clusters d’alta disponibilitat - Informe

2

Índex 1. Introducció ...................................................................................................................3

2. Què són els clústers d'alta disponibilitat? .......................................................................3

3. Avantatges dels clústers d'alta disponibilitat ...................................................................3

4. Configuració dels clústers ..............................................................................................4

4.1. Configuració actiu/actiu .........................................................................................4

4.2. Configuració actiu/passiu .......................................................................................4

4.3. Funcionament .......................................................................................................5

5. Maquinari.....................................................................................................................6

6. Programari especialitzat ................................................................................................6

7. Implementació d'un clúster ...........................................................................................7

8. Conclusió ......................................................................................................................7

Page 3: ARSO (P2): Clusters d’alta disponibilitat - Informe

3

1. Introducció

En l'administració de servidors es va parlar de les diferents configuracions que podien tindre els

servidors i que es van classificar en dos tipus, sistemes centralitzats i sistemes distribuïts, i una

de les possibles configuracions dels sistemes distribuïts era la de clústers.

2. Què són els clústers d'alta disponibilitat?

Els sistemes clúster són un conjunt de nodes interconnectats, mínim dos, que treballen

conjuntament en la solució d'un problema. En els servidors s'ha de tindre molt en compte que

s'ha de donar suport a redundància i protecció contra fallades del sistema. Normalment això

s'aconsegueix mitjançant la replicació del maquinari més important i imprescindible pel seu

funcionament, on alguns exemples podrien ésser la utilització de RAID, fonts d'alimentació

redundants, o varies targes de xarxa, però encara que amb aquestes solucions s'aconsegueixen

incrementar la disponibilitat del sistema, per incrementar encara més aquesta disponibilitat i que

puguem parlar d'alta disponibilitat podem recórrer als sistemes en clúster.

Els clústers consisteixen en configuracions avançades de maquinari i programari, on dos o més

servidors interconnectats entre si comparteixen els sistemes d'emmagatzemament, a més pel fet

que els servidors estan interconnectats es veuen entre ells i es monitoritzen constantment;

aleshores en el moment que el maquinari o els serveis que un d'aquests servidors deixa de

funcionar, els altres ho detecten al moment i prenen les seves funcions automàticament, fins que

es repara o reprèn el servidor que ha fet fallida i li poden traspassar una altra vegada els serveis.

Amb aquest funcionament s'aconsegueix que els usuaris no detectin que en cap moment el

servidor ha fet fallida i ha deixat de prestar servei.

3. Avantatges dels clústers d'alta disponibilitat

La utilització de clúster a més de l'alta disponibilitat presenta un conjunt d'avantatges sobre

altres sistemes com poden ser millora del rendiment, tolerància a fallides o que el temps de

resposta davant falles sigui correcte, escalabilitat i reducció de costos.

L'alta disponibilitat normalment s'associava a sistemes que realitzaven missions crítiques on era

imprescindible que donessin un servei continu i fiable, però actualment s'estan utilitzant per la

millora del rendiment que presenten, ja que permeten la reducció del temps en que donen un

servei comparat amb altres sistemes degut que possibiliten la distribució de la carrega de treball.

Page 4: ARSO (P2): Clusters d’alta disponibilitat - Informe

4

A més compleixen altre de les característiques de l'alta disponibilitat com és la tolerància a

fallides, ja que oculten les possibles falles fent que els usuaris no s'adonin que els recursos en

cap moment no han estat disponibles.

4. Configuració dels clústers

Els clústers poden tindre diferents configuracions però en els clústers d'alta disponibilitat les

més utilitzades serien actiu/actiu o actiu/passiu.

4.1.Configuració actiu/actiu

Tots els servidors del clústers tenen disponibles els mateixos recursos, aleshores qualsevol d'ells

pot oferir servei, fent que hagi un repartiment de la carrega de treball entre tots els servidors

disponibles i sigui més eficient al treballar tots el servidors a la vegada; en el moment en que un

dels servidors cau el servei continua disponible a través dels altres servidors , però afecta

negativament en el sentit que aleshores la carrega que suportava aquest servidor que ha caigut

ara es reparteix entre els altres servidors i per tant es pot produir una degradació del servei.

4.2.Configuració actiu/passiu

En aquest tipus de configuració el servidor actiu és el que té els recursos i és el que donarà el

servei, mentre que els servidors passius també tenen els recursos però no fan ús d'ells i no els

activen fins que el servidor actiu deixa d'estar disponible i seran els que prestaran el servei fins

que el servidor actiu es recuperi de la fallada o torni a estar disponible.

Aquest tipus de configuració presenta l'avantatge enfront l'anterior en que ara no haurà

degradació del servei i continuarà oferint servei amb les mateixes condicions en que ho feia el

servidor actiu, però presenta els inconvenients de fer que hi ha un temps de demora degut a que

passa un temps entre que el servidor fa fallida i es migren els recursos als servidors passius, i

també altre seria que els servidors passius no proporcionen cap recurs fins que el servidor actiu

deixa d'estar disponible.

Page 5: ARSO (P2): Clusters d’alta disponibilitat - Informe

5

4.3.Funcionament

Els clústers d'alta disponibilitat tenen instal·lat un programari amb dues funcions ben

diferenciades, la primera funció és la interconnexió dels nodes, monitoritza contínuament l'estat

dels servidors i detecta les possibles fallides, i la segona seria l'administració dels serveis que

dóna el clúster i a més permet la migració d'aquests serveis en cas de produir-se una fallada.

La funcionalitat del clúster es portarà a terme de diferent manera depenent del programari que

s'hagi instal·lat, però tots tenen un funcionament amb unes característiques comunes:

o Grups de recursos : el programari del clúster permet que pugui haver una agrupació dels

recursos necessaris per donar un servei determinat. En un sistema normal el servei

consisteix en un conjunt de processos que s'executen en una màquina concreta i sobre un

sistema operatiu determinat, però en el cas dels clústers, es produeix una abstracció i

s'independitzen els processos d'un servidor i sistema operatiu específic. Els grups de

recursos corresponents a un servei determinat consistiran en una adreça IP, els sistemes de

fitxers i els scripts que permetran la posada en marxa del servei.

o Intercomunicació: el programari ha de mantindre entre tots el nodes la comunicació, a

més de donar una donar una informació global de la configuració i l'estat a aquests

mateixos nodes, això farà que la resta de nodes coneguin en tot moment quins serveis s'han

de restablir. Per mantindre en tot moment la intercomunicació i evitar problemes de

seguretat, normalment s'utilitzen xarxes IP diferents de la resta o connexions en sèrie.

o Heartbeat: perquè el clúster conegui en tot moment la disponibilitat dels servidors, els

equips estan enviant constantment senyals per confirmar que es troben actius i tot funciona

correctament.

o Monitorització de recursos : a més que el clúster en tot moment coneix la disponibilitat

dels equips o servidors, també pot monitoritzar i conèixer l'estat dels recursos o els serveis,

sabent en tot moment si es troben actius.

o Reinici de recursos : en cas de fallada habitualment els clústers el primer que fan es

intentar reactivar el recurs en el mateix servidor que el donava, però en alguns casos no és

possible reiniciar un únic recurs i el clúster el que fa és reiniciar el servei complert fent que

es puguin donar demores.

o Migració de recursos : quan no es pot reiniciar un recurs o el servidor té una fallada,

aleshores es produeix la migració dels recursos o grups de recursos a altre node que estigui

disponible.

o Dependència de recursos : en els serveis normalment intervenen diferents recursos, però

no solament això sinó que també aquests recursos es deuen activar en un ordre determinat,

aleshores el programari del clúster ha de donar l'opció d'indicar com s'ha de fer.

Page 6: ARSO (P2): Clusters d’alta disponibilitat - Informe

6

5. Maquinari

Normalment no es necessiten caracterìstiques especials en el maquinari, peró normalment en

aquest tipus de sistemes els dispos itius d'emmagatzematge de la informació són compartits per

tots el nodes però no pertanyen a un equip en concret.

A vegades es disposen configuracions especials de maquinari per millorar el rendiment o la

seguretat dels clústers, com poden ser vàries targes de xarxa, etc... però el que si que seria

convenient és que tots els nodes del clúster presentin característiques semblants tant

d'arquitectura com de sistema operatiu, perquè si hi ha molta diferència entre ells, el rendiment

es veura afectat negativament ja que el balanceig de carrega no s'efectuarà correctament.

6. Programari especialitzat

Com ja s'ha comentat en apartats anteriors, la implementació de clústers d'alta disponibilitat

requereix que s'utilitzi programari especialitzat, que té que implementar tota la funcionalitat que

ha de tindre el clúster, com per exemple la comunicació entre els nodes. Aquest tipus de

programari es pot trobar per implementar en diferents sistemes operatius, i també pot ser

programari privatiu o lliure.

Entre el programari lliure per implementar clústers en GNU/Linux podem trobar les següents

eines:

- IP Virtual Linux Server: és un projecte de codi obert, que en principi era una solució per

balanceig de carrega i que actualment es centra en desenvolupar un sistema IP avançat

de balanceig de carrega per programari, i balanceig de carrega per programari a nivell

d'aplicació i components per la gestió de clústers. Amb aquesta eina es pot implementar

un sistema altament escalable, amb una alta disponibilitat de serveis de xarxa, com per

exemple el web, correu electrònic o VoIP.

- Piranha: eina que dóna alta disponibilitat als servidors Linux.

- Kimberlite: és una solució per clústers de dos nodes i permet la connexió a discos

compartits.

- Ultramodern: programari per clústers i alta disponibilitat basat en LVS.

- Heartbeat: és un programari de control, que funciona a nivell d'aplicació i permet

implementar un sistema distribuït en clústers de manera estable, flexible i eficient; el

nombre de nodes en el clúster seria de dos o més.

Page 7: ARSO (P2): Clusters d’alta disponibilitat - Informe

7

7. Implementació d'un clúster

Per implementar un clúster dependrà si es fa per maquinari o programari, i la configuració que

es vulgui fer, però per veure com es pot fer un clúster de manera senzilla s'indicaran els passos a

seguir en la implementació d'un clúster d'alta disponibilitat amb el programari Heartbeat:

1. Configuració de les interfícies de xarxa: que serà la que després s'utilitzarà perquè el node

ofereixi els serveis, però és recomana que els nodes es comuniquin entre ells utilitzan ports

de sèrie si no és possible lús d'altres interfícies, fent que hagi diferents interfícies de

comunicació.

2. Instal·lació i configuració de SSH: ha de permetre les connexions amb claus RSA per evitar

incloure en els scripts de sincronització de dades les claus.

3. Instal·lació i configuració de Heartbeat en cada node, on la configuració consta de tres

arxius els quals es troben en el directori /etc/ha.d, el primer és el fitxer authkeys que xifra

les comunicacions entre els nodes del clúster, l'altre fitxer és el ha.cf que indicarà on

s'escriuran els logs, els temps de verificació de l'activitat dels nodes i els nodes que formen

part del clúster, i per últim el fitxer és el haresources que defineix quins serveis donarà

cada node, la adreça IP i la interfície de xarxa que utilitzará.

4. Instal·lació i configuració de les aplicacions que donarà un node.

5. Es repetiran els dos punts anterior en cada node que formi part del clúster.

6. Implementar un script per sincronitzar les dades de les aplicacions en tots els nodes.

8. Conclusió

Sembla que l'utilització dels sistemes distribuïts en clúster és una bona solució i de baix cost

comparat amb altres per proveir alta disponibilitat. Això és molt important perquè a més de

reduir el cost permet una millora del rendiment i que en tot moment els serveis estiguin a

disposició dels usuaris fent que el sistema sigui altament productiu ja que no hi ha demores molt

grans en fer que els serveis estiguin altre vegada disponibles.

A més és un procés totalment transparent pels usuaris del servei que no tenen ni que adonar-se

que hi ha hagut un fallida i és un altre equip el que li està donant servei.