Nov 5, 2023

GlusterFS

GlusterFS je open source klaster fajl sistem koji omogućava kreiranje distribuiranih i skalabilnih sistema za skladištenje podataka. Evo koraka za instalaciju i osnovnu konfiguraciju GlusterFS-a na Linux sistemu:

Napomena: Prvo se pobrinite da su svi članovi klastera dostupni i da su ispravno povezani u mreži. Takođe, instalacija GlusterFS-a na svakom članu klastera je obavezna.

  1. Instalacija GlusterFS-a:

    Koristite komandu za instalaciju na svim članovima klastera. Na primer, za Ubuntu:

    sudo apt-get install glusterfs-server

    Za CentOS / RHEL:

    sudo yum install centos-release-gluster
    sudo yum install glusterfs-server

    Instalirajte GlusterFS server na svim članovima klastera.

  2. Pokretanje GlusterFS servera:

    Aktivirajte i pokrenite GlusterFS server servis:

    sudo systemctl enable glusterd
    sudo systemctl start glusterd

    Ovo će omogućiti GlusterFS server da se pokrene pri svakom pokretanju sistema.

  3. Provera statusa GlusterFS servera:

    Proverite status GlusterFS servera na svakom članu klastera:

    sudo gluster peer status

    Trebali biste videti listu članova klastera i njihov status.

  4. Dodavanje članova klastera:

    Da biste dodali nove članove u klaster, koristite komandu gluster peer probe na svakom postojećem članu kako biste ih povezali sa novim članom. Na primer:

    sudo gluster peer probe new-server

    Zamijenite new-server sa imenom ili IP adresom novog člana.

  5. Kreiranje GlusterFS Volume:

    Sledeći korak je kreiranje GlusterFS volumena. To možete učiniti na jednom od članova klastera. Na primer, za kreiranje volumena pod nazivom "myvolume":

    sudo gluster volume create myvolume replica 2 transport tcp server1:/path/to/data server2:/path/to/data

    Ovde se kreira replikacioni volumen sa 2 primjerka (servera). Podesite staze ka podacima na odgovarajućim članovima klastera.

  6. Aktiviranje GlusterFS Volume:

    Aktivirajte kreirani volumen:

    sudo gluster volume start myvolume
  7. Podešavanje firewall pravila (opciono):

    Ako koristite firewall na članovima klastera, omogućite odgovarajuće portove za GlusterFS komunikaciju. Preporučuje se korišćenje portova 24007 i 24008.

  8. Montiranje GlusterFS Volumena:

    Na svim članovima klastera gde želite pristupiti GlusterFS volumenu, montirajte ga:

    sudo mount -t glusterfs server1:/myvolume /path/to/mount/point

    Ovde zamijenite server1 sa odgovarajućim serverom i myvolume sa nazivom vašeg volumena.

  9. Testiranje i upravljanje:

    Sada možete testirati GlusterFS volumen i upravljati njime prema potrebama.

Nakon ovih osnovnih koraka, vaš GlusterFS klaster bi trebao biti spreman za upotrebu. Sledite GlusterFS dokumentaciju za detaljniju konfiguraciju i napredne opcije.

pca

 pca (Pacemaker Cluster Automation) je komandna linija za automatizaciju konfiguracije i upravljanja Pacemaker-om, alatom za upravljanje visoko dostupnim klasterima u Linux okruženju. pca olakšava postavljanje i konfigurisanje klastera tako da korisnicima omogući da brže i efikasnije izgrade visoko dostupne sisteme. Evo nekoliko osnovnih komandi i primera za upotrebu pca:

  1. Inicijalna konfiguracija:

    Prvo, inicijalizujte pca sa osnovnim postavkama za vaš klaster:

    pca setup pca

    Ovo će stvoriti osnovnu strukturu direktorijuma i konfiguracijskih datoteka.

  2. Konfiguracija klastera:

    Da biste konfigurisali klaster, koristite komandu pca configure:

    pca configure --name mycluster

    Ovde postavljate ime klastera na "mycluster", ali možete prilagoditi i druge parametre.

  3. Dodavanje članova klastera:

    Dodajte članove klastera pomoću komande pca add-node:

    pca add-node node1.example.com pca add-node node2.example.com

    Ovo dodaje članove klastera sa imenima "node1.example.com" i "node2.example.com".

  4. Konfiguracija resursa:

    Da biste konfigurisali resurse (servise) u klasteru, koristite komandu pca resource create. Na primer, za Apache web server:

    pca resource create apache ocf:heartbeat:apache

    Ovo definira Apache kao visoko dostupan resurs.

  5. Konfiguracija pravila:

    Postavite pravila za upravljanje resursima i ponašanjem klastera. Ovo može uključivati raspoređivanje resursa i prioritete.

  6. Aktiviranje konfiguracije:

    Aktivirajte konfiguraciju klastera pomoću pca commit komande:

    pca commit
  7. Praćenje statusa klastera:

    Pogledajte trenutni status klastera sa pca status:

    pca status

    Ovo prikazuje informacije o članovima klastera i resursima.

  8. Upravljanje i održavanje:

    PCA omogućava i druge komande za dodavanje i brisanje članova, resursa i promenu konfiguracije.

Ovo su osnovne komande i koraci za upotrebu pca. Svaka PCA instalacija i konfiguracija će biti specifična za vaše potrebe, pa se preporučuje da proučite dokumentaciju i koristite PCA zajednicu za dalju podršku i informacije.


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.