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
- Inovacija – Eliminiše metapodatke i može drastično poboljšati performanse što će nam pomoći da objedinimo podatke i objekte.
- Elastičnost – Prilagođeno rastu i smanjenju veličine podataka.
- Linearno skaliranje – Dostupno je do petabajta i više.
- Jednostavnost – Lako je upravljati i neovisno o kernelu dok radi u korisničkom prostoru.
Šta čini Gluster izuzetnim među ostalim distribuiranim sistemima datoteka?
- Prodaja – Odsustvo servera metapodataka omogućava brži sistem datoteka.
- Pristupačan – Postavlja se na robnom hardveru.
- 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.
- 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
- Brick – Brick je u osnovi bilo koji direktorij koji je namijenjen za dijeljenje među pouzdanim skladištima.
- Trusted Storage Pool – je kolekcija ovih zajedničkih datoteka/direktorija, koji su zasnovani na dizajniranom protokolu.
- Block Storage – To su uređaji preko kojih se podaci prenose kroz sisteme u obliku blokova.
- 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.
- 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.
- 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.
- glusterd – glusterd je demon za upravljanje GlusterFS koji je okosnica sistema datoteka koji će raditi cijelo vrijeme kad god su serveri u aktivnom stanju.
- 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).
- RAID – Redundantni niz nezavisnih diskova (RAID) je tehnologija koja daje povećanu pouzdanost skladištenja kroz redundantnost.
- Podvolumen – Cigla nakon što ju je obradio najmanje jedan prevodilac.
- Prevodilac – Prevodilac je onaj dio koda koji izvodi osnovne radnje koje je pokrenuo korisnik od tačke montiranja. Povezuje jedan ili više podvolumena.
- 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
- Instalirajte CentOS 6.5 (ili bilo koji drugi OS) na dva čvora.
- Postavite imena hostova pod nazivom “server1” i “server2”.
- Mrežna veza koja radi.
- 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.
- 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
- 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.
- 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.
- 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.