Uvod u GlusterFS (datotečni sustav) i instalacija na RHEL/CentOS i Fedora


Živimo u svijetu u kojem podaci rastu na nepredvidiv način i naša je potreba da te podatke, bez obzira jesu li strukturirani ili nestrukturirani, pohranimo na učinkovit način. Distribuirani računalni sustavi nude širok spektar prednosti u odnosu na centralizirane računalne sustave. Ovdje se podaci pohranjuju na distribuirani način s nekoliko čvorova kao poslužiteljima.

Koncept poslužitelja metapodataka više nije potreban u distribuiranom datotečnom sustavu. U distribuiranim datotečnim sustavima nudi zajedničko stajalište svih datoteka odvojenih između različitih poslužitelja. Datotekama/direktorijima na ovim poslužiteljima za pohranu pristupa se na uobičajeni način.

Na primjer, dopuštenja za datoteke/direktorije mogu se postaviti kao u uobičajenom modelu sistemskih dozvola, tj. Vlasnik, grupa i drugi. Pristup datotečnom sustavu u osnovi ovisi o tome kako je određeni protokol dizajniran za rad na istom.

Što je GlusterFS?

GlusterFS je distribuirani datotečni sustav definiran za upotrebu u korisničkom prostoru, tj. Datotečni sustav u korisničkom prostoru (FUSE). To je softverski sustav datoteka koji se temelji na vlastitoj fleksibilnosti.

Pogledajte sljedeću sliku koja shematski predstavlja položaj GlusterFS-a u hijerarhijskom modelu. GlusterFS će prema zadanim postavkama koristiti TCP protokol.

  1. Inovacija - uklanja metapodatke i može dramatično poboljšati izvedbu koja će nam pomoći da objedinimo podatke i objekte.
  2. Elastičnost - prilagođena rastu i smanjenju veličine podataka.
  3. Linearno skaliranje - dostupno je za petabajte i šire.
  4. Jednostavnost - Lako je upravljati i neovisno o jezgri dok se izvodi u korisničkom prostoru.

  1. Mogućnost prodaje - Odsutnost poslužitelja metapodataka omogućuje brži sustav datoteka.
  2. Pristupačno - postavlja se na robni hardver.
  3. Fleksibilno - Kao što sam već rekao, GlusterFS je softverski sustav datoteka. Ovdje se podaci pohranjuju na izvornim datotečnim sustavima poput ext4, xfs itd.
  4. Otvoreni izvor - Trenutno GlusterFS održava Red Hat Inc, tvrtka s otvorenim kodom od milijardu dolara, kao dio Red Hat Storagea.

  1. Opeka - opeka je u osnovi bilo koji direktorij kojem je namijenjeno dijeljenje među pouzdanim spremištima za pohranu.
  2. Pouzdano spremište za pohranu - zbirka je ovih zajedničkih datoteka/direktorija koji se temelje na dizajniranom protokolu.
  3. Blok pohrana - uređaji su putem kojih se podaci prebacuju kroz sustave u obliku blokova.
  4. Klaster - u Red Hat Storage i klasteri i pouzdani spremišta za pohranu prenose isto značenje suradnje poslužitelja za pohranu na temelju definiranog protokola.
  5. Distribuirani datotečni sustav - datotečni sustav u kojem se podaci šire na različite čvorove gdje korisnici mogu pristupiti datoteci bez da znaju stvarno mjesto datoteke. Korisnik nema osjećaj daljinskog pristupa.
  6. FUSE - To je učitavajući modul jezgre koji korisnicima omogućuje stvaranje datotečnih sustava iznad jezgre bez uključivanja bilo kojeg koda jezgre.
  7. glusterd - glusterd je demon upravljanja GlusterFS-a koji je okosnica datotečnog sustava koji će se izvoditi cijelo vrijeme kad god su poslužitelji u aktivnom stanju.
  8. POSIX - prijenosno sučelje operativnog sustava (POSIX) obitelj je standarda definiranih IEEE-om kao rješenje kompatibilnosti između Unix-ovih inačica u obliku aplikacijskog programabilnog sučelja (API).
  9. RAID - Redundantni niz neovisnih diskova (RAID) tehnologija je koja omogućuje povećanu pouzdanost pohrane redundantnošću.
  10. Subvolumen - cigla nakon obrade najmanje jednog prevoditelja.
  11. Prevoditelj - Prevoditelj je onaj dio koda koji izvodi osnovne radnje koje je korisnik pokrenuo s točke montiranja. Povezuje jedan ili više podskupina.
  12. Volumen - svezak je logična zbirka cigli. Sve se operacije temelje na različitim vrstama volumena koje je stvorio korisnik.

Prikazi različitih vrsta volumena i kombinacija između ovih osnovnih tipova volumena također su dopušteni, kao što je prikazano u nastavku.

Prikaz distribuirano repliciranog volumena.

Instalacija GlusterFS u RHEL/CentOS i Fedora

U ovom ćemo članku prvi put instalirati i konfigurirati GlusterFS za visoku dostupnost pohrane. Za to uzimamo dva poslužitelja za stvaranje volumena i umnožavanje podataka između njih.

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

Prije instaliranja GlusterFS-a na oba poslužitelja, moramo omogućiti EPEL i GlusterFS spremišta kako bismo zadovoljili vanjske ovisnosti. Upotrijebite sljedeću vezu za instaliranje i omogućavanje spremišta epel pod oba sustava.

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

Dalje, moramo omogućiti GlusterFs spremište na oba poslužitelja.

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

Instalirajte softver na oba poslužitelja.

# yum install glusterfs-server

Pokrenite demon GlumterFS management.

# service glusterd start

Sada provjerite status demona.

# service glusterd status
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/...

Otvorite '/ etc/sysconfig/selinux' i promijenite SELinux u "permissive" ili "disabled" način rada na oba poslužitelja. Spremite 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

Dalje, isperite iptables u oba čvora ili trebate omogućiti pristup drugom čvoru putem iptables.

# iptables -F

Pokrenite sljedeću naredbu na ‘Server1’.

gluster peer probe server2

Pokrenite sljedeću naredbu na ‘Server2’.

gluster peer probe server1

Napomena: Jednom kada je ovaj bazen povezan, samo pouzdani korisnici mogu testirati nove poslužitelje u ovaj bazen.

I na poslužitelju1 i na poslužitelju2.

# mkdir /data/brick/gv0

Stvorite volumen na bilo kojem pojedinačnom poslužitelju 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 glasnoće.

# gluster volume info

Napomena: Ako se volumen u slučaju ne pokrene, poruke o pogreškama evidentiraju se pod '/ var/log/glusterfs' na jednom ili oba poslužitelja.

Priključite volumen u direktorij pod ‘/ mnt’.

# mount -t glusterfs server1:/gv0 /mnt

Sada možete stvarati, uređivati datoteke na točki montiranja kao jedan prikaz datotečnog sustava.

Značajke GlusterFS-a

  1. Samoizliječenje - ako padne bilo koja cigla u repliciranom volumenu i korisnici izmijene datoteke unutar druge cigle, automatski samoizliječivi demon pokrenut će se čim se opeka sljedeći put podigne i transakcije izvrše koji su se dogodili tijekom zastoja sinhroniziraju se u skladu s tim.
  2. Rebalans - ako dodamo novu ciglu postojećem volumenu, u kojem je prethodno boravila velika količina podataka, možemo izvršiti operaciju rebalansa kako bismo podatke raspodijelili među sve cigle, uključujući i novo dodanu ciglu.
  3. Geo-replikacija - pruža sigurnosne kopije podataka za oporavak od katastrofe. Tu dolazi koncept glavnih i podređenih volumena. Tako da ako je master u kvaru, cijelim se podacima može pristupiti putem slave-a. Ova se značajka koristi za sinkronizaciju podataka između zemljopisno odvojenih poslužitelja. Inicijalizacija sesije geo-replikacije zahtijeva niz gluster naredbi.

Evo slijedećeg zaslona koji prikazuje modul Geo-replikacije.

Referentni linkovi

Početna stranica GlusterFS-a

To je za sada to !. Budite u toku s detaljnim opisom značajki kao što su samoizlječenje i ponovno uravnoteženje, geo-replikacija itd. U mojim nadolazećim člancima.