Uvod u GlusterFS (sistem datoteka) i instalaciju na RHEL/CentOS i Fedora


Živimo u svijetu u kojem podaci rastu na nepredvidiv način i naša je potreba da te podatke, bilo da su strukturirani ili nestrukturirani, pohranimo na efikasan način. Distribuirani računarski sistemi nude široku lepezu prednosti u odnosu na centralizovane računarske sisteme. Ovdje se podaci pohranjuju na distribuiran način sa nekoliko čvorova kao serverima.

Koncept servera metapodataka više nije potreban u distribuiranom sistemu datoteka. U distribuiranim sistemima datoteka, nudi zajedničku tačku gledišta na sve datoteke razdvojene između različitih servera. Datotekama/direktorijumima na ovim serverima za skladištenje pristupa se na normalne načine.

Na primjer, dozvole za datoteke/direktorije mogu se postaviti kao u uobičajenom modelu sistemskih dozvola, odnosno vlasnik, grupa i drugi. Pristup sistemu datoteka u osnovi zavisi od toga kako je određeni protokol dizajniran da radi na istom.

Šta je GlusterFS?

GlusterFS je distribuirani sistem datoteka definiran za korištenje u korisničkom prostoru, tj. sistem datoteka u korisničkom prostoru (FUSE). To je sistem datoteka baziran na softveru koji je odgovoran za vlastitu fleksibilnost.

Pogledajte sljedeću sliku koja shematski predstavlja poziciju GlusterFS-a u hijerarhijskom modelu. Podrazumevano će GlusterFS koristiti TCP protokol.

Prednosti GlusterFS-a

  1. Inovacija – Eliminiše metapodatke i može drastično poboljšati performanse što će nam pomoći da objedinimo podatke i objekte.
  2. Elastičnost – Prilagođeno rastu i smanjenju veličine podataka.
  3. Linearno skaliranje – Dostupno je do petabajta i više.
  4. Jednostavnost – Lako je upravljati i neovisno o kernelu dok radi u korisničkom prostoru.

Šta čini Gluster izuzetnim među ostalim distribuiranim sistemima datoteka?

  1. Prodaja – Odsustvo servera metapodataka omogućava brži sistem datoteka.
  2. Pristupačan – Postavlja se na robnom hardveru.
  3. Fleksibilan – Kao što sam ranije rekao, GlusterFS je samo softverski sistem datoteka. Ovdje se podaci pohranjuju na izvornim sistemima datoteka kao što su ext4, xfs itd.
  4. Open Source – GlusterFS trenutno održava Red Hat Inc, kompanija otvorenog koda vrijedna milijardu dolara, kao dio Red Hat Storage-a.

Koncepti skladištenja u GlusterFS

  1. Brick – Brick je u osnovi bilo koji direktorij koji je namijenjen za dijeljenje među pouzdanim skladištima.
  2. Trusted Storage Pool – je kolekcija ovih zajedničkih datoteka/direktorija, koji su zasnovani na dizajniranom protokolu.
  3. Block Storage – To su uređaji preko kojih se podaci prenose kroz sisteme u obliku blokova.
  4. Klaster – U Red Hat Storage-u, i klaster i pouzdani skladišni skup prenose isto značenje saradnje servera za skladištenje na osnovu definisanog protokola.
  5. Distribuirani sistem datoteka – Sistem datoteka u kojem su podaci raspoređeni na različite čvorove gdje korisnici mogu pristupiti datoteci bez poznavanja stvarne lokacije datoteke. Korisnik ne doživljava osjećaj udaljenog pristupa.
  6. FUSE – To je modul kernela koji se može učitati i koji omogućava korisnicima da kreiraju sistem datoteka iznad kernela bez uključivanja bilo kakvog koda kernela.
  7. glusterd – glusterd je demon za upravljanje GlusterFS koji je okosnica sistema datoteka koji će raditi cijelo vrijeme kad god su serveri u aktivnom stanju.
  8. POSIX – Portable Operating System Interface (POSIX) je porodica standarda definiranih od strane IEEE kao rješenje za kompatibilnost između Unix varijanti u obliku aplikacijskog programabilnog interfejsa (API).
  9. RAID – Redundantni niz nezavisnih diskova (RAID) je tehnologija koja daje povećanu pouzdanost skladištenja kroz redundantnost.
  10. Podvolumen – Cigla nakon što ju je obradio najmanje jedan prevodilac.
  11. Prevodilac – Prevodilac je onaj dio koda koji izvodi osnovne radnje koje je pokrenuo korisnik od tačke montiranja. Povezuje jedan ili više podvolumena.
  12. Volume – Volume su logična zbirka cigli. Sve operacije se zasnivaju na različitim tipovima volumena koje kreira korisnik.
Različite vrste svezaka

Reprezentacije različitih tipova volumena i kombinacija između ovih osnovnih tipova volumena su također dozvoljene kao što je prikazano u nastavku.

Distributed Replicated Volume

Predstavljanje distribuirano-repliciranog volumena.

Instalacija GlusterFS-a u RHEL/CentOS i Fedora

U ovom članku ćemo po prvi put instalirati i konfigurirati GlusterFS za visoku dostupnost skladišta. Za ovo uzimamo dva servera za kreiranje volumena i repliciranje podataka između njih.

Korak :1 Imajte najmanje dva čvora

  1. Instalirajte CentOS 6.5 (ili bilo koji drugi OS) na dva čvora.
  2. Postavite imena hostova pod nazivom “server1” i “server2”.
  3. Mrežna veza koja radi.
  4. Disk za pohranu na oba čvora pod nazivom „/data/brick“.

Korak 2: Omogućite EPEL i GlusterFS spremište

Prije instaliranja GlusterFS-a na oba servera, moramo omogućiti EPEL i GlusterFS spremišta kako bismo zadovoljili vanjske ovisnosti. Koristite sljedeću vezu da instalirate i omogućite epel spremište pod oba sistema.

  1. Kako omogućiti EPEL spremište u RHEL/CentOS

Zatim moramo omogućiti GlusterFs spremište na oba servera.

wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo

Korak 3: Instaliranje GlusterFS-a

Instalirajte softver na oba servera.

yum install glusterfs-server

Pokrenite demon za upravljanje GlusterFS.

service glusterd start

Sada provjerite status demona.

service glusterd status
Sample Output
service glusterd start
  service glusterd status
  glusterd.service - LSB: glusterfs server
   	  Loaded: loaded (/etc/rc.d/init.d/glusterd)
  	  Active: active (running) since Mon, 13 Aug 2012 13:02:11 -0700; 2s ago
  	 Process: 19254 ExecStart=/etc/rc.d/init.d/glusterd start (code=exited, status=0/SUCCESS)
  	  CGroup: name=systemd:/system/glusterd.service
  		  ├ 19260 /usr/sbin/glusterd -p /run/glusterd.pid
  		  ├ 19304 /usr/sbin/glusterfsd --xlator-option georep-server.listen-port=24009 -s localhost...
  		  └ 19309 /usr/sbin/glusterfs -f /var/lib/glusterd/nfs/nfs-server.vol -p /var/lib/glusterd/...

Korak 4: Konfigurišite SELinux i iptables

Otvorite ‘/etc/sysconfig/selinux’ i promijenite SELinux u “dozvoljen” ili “onemogućen” način na oba servera. Sačuvajte i zatvorite datoteku.

This file controls the state of SELinux on the system.
SELINUX= can take one of these three values:
    enforcing - SELinux security policy is enforced.
    permissive - SELinux prints warnings instead of enforcing.
    disabled - No SELinux policy is loaded.
SELINUX=disabled
SELINUXTYPE= can take one of these two values:
    targeted - Targeted processes are protected,
    mls - Multi Level Security protection.
SELINUXTYPE=targeted

Zatim, isperite iptables u oba čvora ili morate dozvoliti pristup drugom čvoru putem iptables.

iptables -F

Korak 5: Konfigurirajte pouzdani skup

Pokrenite sljedeću naredbu na 'Server1'.

gluster peer probe server2

Pokrenite sljedeću naredbu na 'Server2'.

gluster peer probe server1

Napomena: Jednom kada se ovaj bazen poveže, samo pouzdani korisnici mogu istraživati nove servere u ovom bazenu.

Korak 6: Postavite GlusterFS volumen

Na server1 i server2.

mkdir /data/brick/gv0

Kreirajte volumen na bilo kojem pojedinačnom serveru i pokrenite volumen. Evo, uzeo sam „Server1“.

gluster volume create gv0 replica 2 server1:/data/brick1/gv0 server2:/data/brick1/gv0
gluster volume start gv0

Zatim potvrdite status jačine zvuka.

gluster volume info

Napomena: Ako se in-case volumen ne pokrene, poruke o grešci se evidentiraju pod '/var/log/glusterfs' na jednom ili oba servera.

Korak 7: Potvrdite GlusterFS volumen

Montirajte volumen u direktorij pod '/mnt'.

mount -t glusterfs server1:/gv0 /mnt

Sada možete kreirati, uređivati datoteke na tački montiranja kao jedan pogled na sistem datoteka.

Karakteristike GlusterFS-a

  1. Samoizlječenje – Ako je bilo koja od kockica u repliciranom volumenu neispravna i korisnici modificiraju datoteke unutar druge kocke, automatski demon za samoizlječenje će stupiti u akciju čim se cigla podigne sljedeće vrijeme i transakcije koje su se dogodile tokom vremena prekida se sinhroniziraju u skladu s tim.
  2. Rebalans – Ako dodamo novu kocku postojećem volumenu, u kojem se prethodno nalazila velika količina podataka, možemo izvršiti operaciju ponovnog balansa da distribuiramo podatke između svih blokova uključujući i novo dodanu ciglu.
  3. Geo-replikacija – Pruža sigurnosne kopije podataka za oporavak od katastrofe. Ovdje dolazi koncept master i slave volumena. Tako da ako je master isključen cijelim podacima može se pristupiti preko slave-a. Ova funkcija se koristi za sinhronizaciju podataka između geografski odvojenih servera. Inicijalizacija sesije geo-replikacije zahtijeva niz gluster komandi.

Evo sljedećeg snimka ekrana koji prikazuje modul Geo-replikacije.

Referentne veze

GlusterFS Početna stranica

To je to za sada!. Ostanite u toku za detaljan opis funkcija kao što su samoizlječenje i ponovno balansiranje, geo-replikacija, itd. u mojim nadolazećim člancima.