Uvod v GlusterFS (datotečni sistem) in namestitev na RHEL/CentOS in Fedora


Živimo v svetu, kjer podatki naraščajo na nepredvidljiv način in jih moramo učinkovito, ne glede na to, ali so strukturirani ali nestrukturirani, shraniti. Razdeljeni računalniški sistemi ponujajo široko paleto prednosti pred centraliziranimi računalniškimi sistemi. Tu so podatki shranjeni na porazdeljen način z več vozlišči kot strežniki.

Koncept strežnika z metapodatki v porazdeljenem datotečnem sistemu ni več potreben. V porazdeljenih datotečnih sistemih ponuja skupno stališče vseh datotek, ločenih med različnimi strežniki. Do datotek/imenikov na teh pomnilniških strežnikih se dostopa na običajen način.

Na primer, dovoljenja za datoteke/imenike lahko nastavite kot v običajnem modelu sistemskih dovoljenj, to je lastnik, skupina in drugi. Dostop do datotečnega sistema je v osnovi odvisen od tega, kako je določen protokol zasnovan tako, da deluje na istem.

Kaj je GlusterFS?

GlusterFS je porazdeljeni datotečni sistem, ki je definiran za uporabo v uporabniškem prostoru, to je datotečni sistem v uporabniškem prostoru (FUSE). Je programski datotečni sistem, ki temelji na lastni prilagodljivosti.

Oglejte si naslednjo sliko, ki shematično predstavlja položaj GlusterFS v hierarhičnem modelu. Privzeto bo GlusterFS uporabljal protokol TCP.

  1. Inovacija - odpravlja metapodatke in lahko dramatično izboljša delovanje, kar nam bo pomagalo pri poenotenju podatkov in predmetov.
  2. Elastičnost - prilagojena rasti in zmanjšanju velikosti podatkov.
  3. Lestvično linearno - na voljo je do petabajtov in več.
  4. Preprostost - med izvajanjem v uporabniškem prostoru je enostavno upravljanje in neodvisnost od jedra.

  1. Prodajna - odsotnost strežnika z metapodatki zagotavlja hitrejši datotečni sistem.
  2. Ugodno - uporablja se na osnovni strojni opremi.
  3. Prilagodljiv - Kot sem že omenil, je GlusterFS samo programski datotečni sistem. Tu so podatki shranjeni v izvornih datotečnih sistemih, kot so ext4, xfs itd.
  4. Odprtokodna - Trenutno GlusterFS vzdržuje Red Hat Inc, odprtokodna družba, vredna milijardo dolarjev, kot del Red Hat Storage.

  1. Opeka - opeka je v bistvu kateri koli imenik, ki naj bi ga delili med zaupanja vrednim pomnilniškim prostorom.
  2. Trusted Storage Pool - je zbirka teh datotek/imenikov v skupni rabi, ki temeljijo na zasnovanem protokolu.
  3. Block Storage - so naprave, prek katerih se podatki v obliki blokov premikajo med sistemi.
  4. Grozd - v storitvi Red Hat Storage grozd in zaupanja vredno pomnilniško področje izražata enak pomen sodelovanja pomnilniških strežnikov na podlagi določenega protokola.
  5. Porazdeljeni datotečni sistem - datotečni sistem, v katerem so podatki razpršeni po različnih vozliščih, kjer lahko uporabniki dostopajo do datoteke, ne da bi vedeli dejansko lokacijo datoteke. Uporabnik ne občuti oddaljenega dostopa.
  6. FUSE - To je naložljivi modul jedra, ki uporabnikom omogoča ustvarjanje datotečnih sistemov nad jedrom, ne da bi vključeval katero koli kodo jedra.
  7. glusterd - glusterd je demonski sistem za upravljanje GlusterFS, ki je hrbtenica datotečnega sistema, ki se bo ves čas prikazoval, kadar so strežniki v aktivnem stanju.
  8. POSIX - prenosni vmesnik operacijskega sistema (POSIX) je družina standardov, ki jih IEEE definira kot rešitev združljivosti med različicami Unix v obliki aplikacijsko programabilnega vmesnika (API).
  9. RAID - odvečna vrsta neodvisnih diskov (RAID) je tehnologija, ki z odvečnostjo zagotavlja večjo zanesljivost shranjevanja.
  10. Subvolume - opeka po obdelavi vsaj enega prevajalca.
  11. Prevajalec - prevajalec je tisti del kode, ki izvaja osnovna dejanja, ki jih uporabnik sproži s točke vpetja. Povezuje enega ali več podtipov.
  12. Volumen - zvezki so logična zbirka opek. Vse operacije temeljijo na različnih vrstah nosilcev, ki jih je ustvaril uporabnik.

Predstavitve različnih vrst prostornin in kombinacij med temi osnovnimi tipi prostornin so prav tako dovoljene, kot je prikazano spodaj.

Prikaz porazdeljenega repliciranega zvezka.

Namestitev GlusterFS v RHEL/CentOS in Fedora

V tem članku bomo prvič namestili in konfigurirali GlusterFS za visoko razpoložljivost pomnilnika. Za to vzamemo dva strežnika za ustvarjanje zvezkov in kopiranje podatkov med njimi.

  1. Namestite CentOS 6.5 (ali kateri koli drug OS) na dve vozlišči.
  2. Nastavite gostiteljska imena z imenom »server1« in »server2«.
  3. Delujoča omrežna povezava.
  4. Pomnilniški disk na obeh vozliščih z imenom »/ data/brick«.

Pred namestitvijo GlusterFS na oba strežnika moramo omogočiti repozitoriji EPEL in GlusterFS, da bomo lahko zadovoljili zunanje odvisnosti. Uporabite naslednjo povezavo za namestitev in omogočanje repozitorija epel v obeh sistemih.

  1. Kako omogočiti repozitorij EPEL v RHEL/CentOS

Nato moramo omogočiti repozitorij GlusterFs na obeh strežnikih.

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

Namestite programsko opremo na oba strežnika.

# yum install glusterfs-server

Zaženite demonski program za upravljanje GlusterFS.

# service glusterd start

Zdaj preverite stanje 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/...

Odprite '/ etc/sysconfig/selinux' in spremenite SELinux v\"permissive" ali\"disabled" način na obeh strežnikih. Shranite in zaprite datoteko.

# 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

Nato splaknite iptables v obeh vozliščih ali pa dovolite dostop do drugega vozlišča prek iptables.

# iptables -F

Zaženite naslednji ukaz na 'Server1'.

gluster peer probe server2

Zaženite naslednji ukaz na 'Server2'.

gluster peer probe server1

Opomba: Ko je to področje povezano, lahko samo zaupanja vredni uporabniki preskušajo nove strežnike v to področje.

Tako na strežniku1 kot na strežniku2.

# mkdir /data/brick/gv0

Ustvarite nosilec na katerem koli strežniku in zaženite nosilec. Tukaj sem vzel 'Server1'.

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

Nato potrdite stanje glasnosti.

# gluster volume info

Opomba: Če se glasnost v primeru ne zažene, se sporočila o napakah zabeležijo pod '/ var/log/glusterfs' na enem ali obeh strežnikih.

Nosilec pritrdite v imenik pod '/ mnt'.

# mount -t glusterfs server1:/gv0 /mnt

Zdaj lahko ustvarjate, urejate datoteke na točki vpetja kot en pogled na datotečni sistem.

Značilnosti GlusterFS

  1. Samozdravljenje - če katera od opek v repliciranem zvezku pade in uporabniki spremenijo datoteke znotraj druge opeke, samodejni demon za samozdravljenje začne delovati takoj, ko bo opeka naslednjič pokončana in bodo transakcije ki so se zgodile v času izpada, se ustrezno sinhronizirajo.
  2. Ponovno uravnoteženje - če obstoječi količini dodamo novo opeko, v kateri je bila prej velika količina podatkov, lahko izvedemo operacijo ponovne uravnoteženosti, da podatke razporedimo med vse opeke, vključno z novo dodano opeko.
  3. Geo-replikacija - zagotavlja varnostne kopije podatkov za obnovo po katastrofi. Tu prihaja koncept glavnih in pomožnih zvezkov. Torej, tako da je v primeru, da je mojster izpadel, do celotnih podatkov mogoče dostopati prek pomožnika. Ta funkcija se uporablja za sinhronizacijo podatkov med geografsko ločenimi strežniki. Za inicializacijo seje geo-replikacije je potreben niz ukazov za kopiranje.

Tukaj je naslednji zaslon, ki prikazuje modul Geo-replikacija.

Referenčne povezave

Domača stran GlusterFS

Za zdaj je to! Bodite na tekočem s podrobnimi opisi funkcij, kot so samozdravljenje in ponovno uravnoteženje, geo-replikacija itd. V mojih prihajajočih člankih.