Nov 5, 2023

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.


Konfiguracija RAID-a

 RAID (Redundant Array of Independent Disks) je tehnologija za povezivanje više fizičkih diskova u jedan logički disk radi poboljšane pouzdanosti, performansi ili obe stvari. Postoji nekoliko različitih nivoa RAID konfiguracija (RAID 0, RAID 1, RAID 5, RAID 10, itd.), svaki sa svojim karakteristikama i upotrebom.

Evo osnovnih koraka za konfigurisanje RAID na Linux sistemu, uzimajući u obzir da imate više fizičkih diskova:

  1. Instalacija potrebnih alatki:

    Prvo, uverite se da imate RAID alate instalirane na svom Linux sistemu. Najčešće korišćeni alat za RAID konfiguraciju je mdadm. Instalirajte ga ako već nije prisutan:

    sudo apt-get install mdadm # Na Debian i Ubuntu
    sudo yum install mdadm # Na CentOS i RHEL
  2. Fizički diskovi:

    Povežite i inicijalizujte fizičke diskove koje želite koristiti za RAID. Na primer, ako imate dva diska /dev/sdX i /dev/sdY, formatirajte ih i pripremite za RAID.

  3. Konfiguracija RAID nivoa:

    Odaberite željeni RAID nivo, na primer RAID 1 za ogledalo ili RAID 5 za stripovanje sa paritetom. Koristite mdadm za kreiranje RAID uređaja i nivoa. Na primer, za RAID 1:

    sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdX /dev/sdY

    Prilagodite opcije (/dev/md0, --level, --raid-devices) prema vašim potrebama.

  4. Formatiranje RAID uređaja:

    Nakon konfiguracije RAID uređaja, morate ga formatirati fajl sistemom po izboru. Na primer, za ext4:

    sudo mkfs.ext4 /dev/md0
  5. Montiranje RAID uređaja:

    Kreirajte direktorijum gde ćete montirati RAID uređaj i montirajte ga:

    sudo mkdir /mnt/raid sudo mount /dev/md0 /mnt/raid
  6. Automatsko montiranje pri podizanju sistema:

    Da biste automatski montirali RAID uređaj pri svakom podizanju sistema, dodajte unos u /etc/fstab. Otvorite /etc/fstab datoteku u uređivaču teksta i dodajte liniju za montiranje:

    /dev/md0 /mnt/raid ext4 defaults 0 0

    Prilagodite putanje i opcije prema vašoj konfiguraciji.

  7. Provera statusa RAID-a:

    Da biste proverili status RAID uređaja, koristite mdadm komande, na primer:

    sudo mdadm --detail /dev/md0

    Ova komanda će prikazati informacije o statusu i stanju RAID uređaja.

Ovo su osnovni koraci za konfiguraciju softverskog RAID-a na Linux sistemu pomoću mdadm alata. Imajte na umu da će se koraci razlikovati u zavisnosti od specifične konfiguracije i potreba. Pre primene RAID-a na stvarnom sistemu, obavezno napravite sigurnosne kopije podataka i detaljno proučite dokumentaciju RAID sistema i alata koje koristite.