Nov 5, 2023

HA cluster

 HA cluster (High Availability cluster) predstavlja grupu međusobno povezanih računara ili servera koji rade zajedno kako bi obezbedili neprekidan rad ključnih aplikacija i servisa. Osnovni cilj HA clustera je minimiziranje vremena nedostupnosti i pružanje otpornosti na kvarove u slučaju neispravnosti hardvera ili softvera. Evo nekoliko ključnih koncepata i komponenti HA clustera:

  1. Čvorovi klastera: Ovo su pojedinačni serveri ili računari koji čine HA klaster. Oni zajedno rade kako bi pružili redundancu i mogućnosti prelaska na rezervne komponente.

  2. Komunikacija "heartbeat": Čvorovi klastera komuniciraju međusobno putem posebne mrežne veze ili "heartbeat". Ova komunikacija je ključna za praćenje stanja čvorova i otkrivanje kvarova.

  3. Upravljač resursima: Upravljač resursima odgovoran je za praćenje dostupnosti ključnih resursa i servisa. Može premještati resurse između čvorova prema potrebi.

  4. Grupe resursa: Resursi (kao što su aplikacije, baze podataka i IP adrese) organizovani su u grupe resursa. Ove grupe se upravljaju kao jedna cjelina, što olakšava premještanje i upravljanje resursima unutar klastera.

  5. Kvorum: Kvorum je mehanizam glasanja koji se koristi za određivanje da li klaster ima većinu zdravih čvorova. Ako čvor izgubi komunikaciju s klasterom ili se pokvari, preostali čvorovi moraju postići kvorum kako bi preduzeli akciju.

  6. Fencing: "Fencing" je mehanizam koji izolira neispravne čvorove od klastera kako bi se spriječila mogućnost oštećenja podataka ili scenarija "split-brain". Česti načini "fencing-a" uključuju isključivanje napajanja, prekidanje mrežne veze ili druge metode koje sprečavaju da neispravan čvor ometa rad klastera.

  7. Prelazak na rezervne komponente: Kada čvor u klasteru zakaže, upravljač resursima može pokrenuti postupak prelaska na rezervne komponente, što podrazumijeva premještanje resursa i servisa na zdrav čvor. Na ovaj način se obezbeđuje minimalno ometanje rada servisa.

  8. Balansiranje opterećenja: Neki HA klasteri uključuju balansiranje opterećenja kako bi rasporedili dolazni mrežni saobraćaj na više čvorova, poboljšavajući performanse i redundanciju.

  9. Virtualna IP adresa (VIP): Virtualna IP adresa je IP adresa koja može biti dodijeljena bilo kojem čvoru u klasteru. "Plovi" ili "migrira" između čvorova kako bi se osiguralo da mrežni saobraćaj uvijek ide ka aktivnom čvoru.

  10. Dijeljeno skladište: Mnogi HA klasteri zahtijevaju dijeljene uređaje za skladištenje podataka, kao što su SAN (Storage Area Network) ili NAS (Network Attached Storage), kako bi se održala dosljednost podataka između čvorova.

  11. Implementacija softvera ili hardvera: HA klasteri se mogu implementirati pomoću softverskih rješenja, poput Pacemakera i Corosynca, ili uz pomoć specijalizovanih hardverskih uređaja dizajniranih za visoku dostupnost.

  12. Testiranje prelaska na rezervne komponente: Redovno testiranje i simulacija scenarija prelaska na rezervne komponente od suštinskog značaja kako bi se osiguralo da klaster radi kako se očekuje tokom stvarnih kvarova.

HA klasteri se često koriste u poslovnim okruženjima za kritične aplikacije, uključujući baze podataka, web servere, serverske servise za e-poštu i mnoge druge. Pružaju redundancu i osiguravaju da servisi ostanu dostupni, čak i kada pojedinačni serveri ili komponente zakažu.

Šta je pacemaker?

Pacemaker je open-source softver za upravljanje klasterima i visokom dostupnošću (HA - High Availability) na Linux operativnim sistemima. Ova tehnologija omogućava konfigurisanje i upravljanje klasterom od više računara kako bi se postigla visoka dostupnost i pouzdanost za kritične aplikacije.

Glavne karakteristike Pacemaker-a uključuju:

  1. Automatsko otkrivanje kvara: Pacemaker može detektovati probleme sa čvorovima u klasteru i premeštati resurse kako bi osigurao da aplikacije i usluge ostanu dostupne.

  2. Kontrola i upravljanje: Administratori mogu konfigurisati Pacemaker da upravlja resursima, prateći njihovo stanje i automatski ih pokretati ili zaustavljati kada je to potrebno.

  3. Prilagodljivost: Pacemaker je prilagodljiv i omogućava različite scenarije visoke dostupnosti, uključujući aktivno-passivni i aktivno-aktivni rad.

  4. Integracija sa drugim alatima: Može se integrisati sa drugim alatima za upravljanje klasterima, kao što su Corosync, DRBD, i drugi.

Pacemaker se često koristi za postizanje visoke dostupnosti klastera za web i baze podataka servere, razne poslovne aplikacije i druge kritične sisteme. Omogućava organizacijama da obezbede neprekidnost poslovanja i smanje vreme prestanka rada usled hardverskih ili softverskih problema.

Pacemaker je deo "Linux-HA" projekta i široko je dostupan na različitim Linux distribucijama.

Instalacija i konfiguracija

Instalacija i konfiguracija HA (High Availability) clustera može varirati zavisno o softverskim alatima koje koristite i operativnom sistemu. Evo osnovnih koraka za instalaciju HA clustera koristeći popularni alat Pacemaker i operativni sistem CentOS:

Napomena: Preporučuje se da instalaciju i konfiguraciju HA clustera vrši iskusna osoba sa znanjem Linux administracije.

  1. Instalacija CentOS: Prvo, instalirajte CentOS na svakom čvoru u klasteru. Obezbedite da CentOS bude instaliran sa minimalnom konfiguracijom kako biste imali potpunu kontrolu nad postavkama.

  2. Postavljanje Mreže: Konfigurišite mrežu tako da čvorovi mogu komunicirati međusobno putem privatne mreže (heartbeat mreže). Ovo se može postići podešavanjem statičkih IP adresa i hostname-ova.

  3. Instalacija Potrebnih Paketa: Instalirajte potrebne pakete na oba čvora. To uključuje alate poput pacemaker, corosync, pcs, i fence-agents. To možete učiniti koristeći yum:

    sudo yum install pacemaker corosync pcs fence-agents
  4. Konfiguracija Corosync i Pacemaker: Konfigurišite Corosync i Pacemaker kako bi radili zajedno. Podesite Corosync za komunikaciju između čvorova i konfigurišite Pacemaker za upravljanje resursima. Konfiguracione datoteke se obično nalaze u /etc/corosync/ i /etc/pacemaker/ direktorijumima.

  5. Startovanje Servisa: Pokrenite Corosync i Pacemaker servise na oba čvora i omogućite im da se automatski pokreću pri bootovanju:

    sudo systemctl enable corosync pacemaker
    sudo systemctl start corosync pacemaker
  6. Konfiguracija Resursa: Konfigurišite resurse koje želite upravljati u HA clusteru, kao što su IP adrese, virtuelni hostname-ovi, web serveri itd. Ovo se obično radi pomoću pcs alata. Na primer, za postavljanje virtuelne IP adrese:

    sudo pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=192.168.1.100 cidr_netmask=24 op monitor interval=30s
  7. Konfiguracija Constraints: Definišite pravila (constraints) kako bi se odredilo kako će resursi biti raspoređeni i migirani između čvorova u slučaju kvara. Na primer, da bi se osiguralo da virtuelna IP adresa uvijek ide sa primarnim čvorom:

    sudo pcs constraint colocation add virtual_ip with primary_node
  8. Testiranje i Praćenje: Testirajte funkcionalnost HA clustera tako što ćete simulirati kvarove i provjeriti da li resursi automatski migrišu na rezervne čvorove. Pratite stanje clustera pomoću pcs status komande.

  9. Dokumentacija: Vodite detaljnu dokumentaciju o postavkama, konfiguraciji i pravilima HA clustera kako biste olakšali buduće održavanje.


No comments:

Post a Comment