Utangulizi wa GlusterFS (Mfumo wa Faili) na Usakinishaji kwenye RHEL/CentOS na Fedora


Tunaishi katika ulimwengu ambapo data inakua kwa njia isiyotabirika na ni hitaji letu la kuhifadhi data hii, iwe imeundwa au haijaundwa, kwa njia inayofaa. Mifumo ya kompyuta iliyosambazwa hutoa safu nyingi za faida juu ya mifumo ya kati ya kompyuta. Hapa data huhifadhiwa kwa njia iliyosambazwa na nodi kadhaa kama seva.

Dhana ya seva ya metadata haihitajiki tena katika mfumo wa faili uliosambazwa. Katika mifumo ya faili iliyosambazwa, inatoa mtazamo wa kawaida wa faili zote zilizotengwa kati ya seva tofauti. Faili/saraka kwenye seva hizi za hifadhi hupatikana kwa njia za kawaida.

Kwa mfano, ruhusa za faili/saraka zinaweza kuwekwa kama katika modeli ya kawaida ya ruhusa ya mfumo, yaani, mmiliki, kikundi na wengine. Ufikiaji wa mfumo wa faili kimsingi inategemea jinsi itifaki fulani imeundwa kufanya kazi sawa.

GlusterFS ni nini?

GlusterFS ni mfumo wa faili uliosambazwa unaofafanuliwa kutumika katika nafasi ya mtumiaji, yaani, Mfumo wa Faili katika Nafasi ya Mtumiaji (FUSE). Ni mfumo wa faili wa msingi wa programu ambao huchangia kipengele chake cha kubadilika.

Angalia takwimu ifuatayo ambayo inawakilisha kimkakati nafasi ya GlusterFS katika modeli ya hali ya juu. Kwa chaguo-msingi itifaki ya TCP itatumiwa na GlusterFS.

  1. Uvumbuzi - Huondoa metadata na inaweza kuboresha utendaji kazi ambao utatusaidia kuunganisha data na vitu.
  2. Unyogovu - Hubadilishwa kulingana na ukuaji na upunguzaji wa ukubwa wa data.
  3. Piga kwa Mstari - Inapatikana kwa petabytes na zaidi.
  4. Urahisi - Ni rahisi kudhibiti na kujitegemea kutoka kwa kernel wakati unaendesha kwenye nafasi ya mtumiaji.

  1. Inaweza kutumika - Kutokuwepo kwa seva ya metadata kunatoa mfumo wa faili haraka zaidi.
  2. Ya bei nafuu - Hutumika kwenye maunzi ya bidhaa.
  3. Inabadilika - Kama nilivyosema awali, GlusterFS ni mfumo wa faili wa programu tu. Hapa data huhifadhiwa kwenye mifumo asili ya faili kama vile ext4, xfs n.k.
  4. Chanzo Huria - Kwa sasa GlusterFS inadumishwa na Red Hat Inc, kampuni ya tovuti huria yenye thamani ya dola bilioni, kama sehemu ya Hifadhi ya Red Hat.

  1. Tofali - Tofali kimsingi ni saraka yoyote ambayo inakusudiwa kushirikiwa kati ya hifadhi inayoaminika.
  2. Dimbwi la Hifadhi Inayoaminika - ni mkusanyiko wa faili/saraka hizi zilizoshirikiwa, ambazo zinatokana na itifaki iliyoundwa.
  3. Zuia Hifadhi - Ni vifaa ambavyo data inapitishwa kwenye mifumo kwa njia ya vizuizi.
  4. Kundi - Katika Hifadhi ya Kofia Nyekundu, kundi na hifadhi inayoaminika yanawasilisha maana sawa ya ushirikiano wa seva za hifadhi kulingana na itifaki iliyobainishwa.
  5. Mfumo wa Faili Zilizosambazwa - Mfumo wa faili ambao data husambazwa kwenye nodi tofauti ambapo watumiaji wanaweza kufikia faili bila kujua eneo halisi la faili. Mtumiaji hahisi hisia ya ufikiaji wa mbali.
  6. FUSE - Ni moduli ya kernel inayoweza kupakiwa ambayo inaruhusu watumiaji kuunda mifumo ya faili juu ya kernel bila kuhusisha msimbo wowote wa kernel.
  7. glusterd – glusterd ni daemon ya usimamizi ya GlusterFS ambayo ni uti wa mgongo wa mfumo wa faili ambao utakuwa ukifanya kazi kwa muda wote seva zikiwa katika hali amilifu.
  8. POSIX – Kiolesura cha Mfumo wa Uendeshaji Unaobebeka (POSIX) ni familia ya viwango vinavyofafanuliwa na IEEE kama suluhu la uoanifu kati ya vibadala vya Unix katika mfumo wa Kiolesura Kinachoweza Kuratibiwa Programu (API).
  9. RAID - Msururu usio na Kikomo wa Disks Zinazojitegemea (RAID) ni teknolojia ambayo huongeza uaminifu wa uhifadhi kupitia uhitaji tena.
  10. Volume ndogo - Tofali baada ya kuchakatwa na angalau mfasiri mmoja.
  11. Mtafsiri - Mtafsiri ni kipande cha msimbo ambacho hufanya vitendo vya kimsingi vilivyoanzishwa na mtumiaji kutoka kwa sehemu ya kupachika. Inaunganisha juzuu ndogo moja au zaidi.
  12. Juzuu - Kiasi ni mkusanyo wa kimantiki wa matofali. Shughuli zote zinatokana na aina tofauti za juzuu zilizoundwa na mtumiaji.

Uwakilishi wa aina tofauti za juzuu na michanganyiko kati ya aina hizi za sauti za kimsingi pia zinaruhusiwa kama inavyoonyeshwa hapa chini.

Uwakilishi wa sauti iliyosambazwa-inakiliwa.

Ufungaji wa GlusterFS katika RHEL/CentOS na Fedora

Katika makala hii, tutakuwa tukisakinisha na kusanidi GlusterFS kwa mara ya kwanza kwa upatikanaji wa juu wa hifadhi. Kwa hili, tunachukua seva mbili ili kuunda kiasi na kuiga data kati yao.

  1. Sakinisha CentOS 6.5 (au OS nyingine yoyote) kwenye nodi mbili.
  2. Weka majina ya wapangishaji yanayoitwa seva1 na seva2.
  3. Muunganisho wa mtandao unaofanya kazi.
  4. Diski ya kuhifadhi kwenye nodi zote mbili zenye jina “/data/brick“.

Kabla ya Kusakinisha GlusterFS kwenye seva zote mbili, tunahitaji kuwezesha hazina za EPEL na GlusterFS ili kukidhi utegemezi wa nje. Tumia kiungo kifuatacho kusakinisha na kuwezesha hazina ya epel chini ya mifumo yote miwili.

  1. Jinsi ya kuwezesha Hifadhi ya EPEL katika RHEL/CentOS

Ifuatayo, tunahitaji kuwezesha hazina ya GlusterFs kwenye seva zote mbili.

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

Sakinisha programu kwenye seva zote mbili.

# yum install glusterfs-server

Anzisha daemon ya usimamizi ya GlusterFS.

# service glusterd start

Sasa angalia hali ya daemon.

# 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/...

Fungua ‘/etc/sysconfig/selinux‘ na ubadilishe SELinux iwe \ruhusa au \modi ya kuzima kwenye seva zote mbili. Hifadhi na funga faili.

# 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

Ifuatayo, osha iptables katika nodi zote mbili au unahitaji kuruhusu ufikiaji wa nodi nyingine kupitia iptables.

# iptables -F

Endesha amri ifuatayo kwenye 'Server1'.

gluster peer probe server2

Endesha amri ifuatayo kwenye 'Server2'.

gluster peer probe server1

Kumbuka: Punde tu bwawa hili limeunganishwa, watumiaji wanaoaminika pekee ndio wanaweza kuchunguza seva mpya kwenye dimbwi hili.

Kwenye seva1 na seva2.

# mkdir /data/brick/gv0

Unda sauti kwenye seva yoyote na uanze sauti. Hapa, nimechukua 'Server1'.

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

Ifuatayo, thibitisha hali ya kiasi.

# gluster volume info

Kumbuka: Ikiwa sauti ya kesi haijaanzishwa, ujumbe wa makosa huwekwa chini ya '/var/log/glusterfs' kwenye seva moja au zote mbili.

Panda sauti kwenye saraka chini ya '/mnt'.

# mount -t glusterfs server1:/gv0 /mnt

Sasa unaweza kuunda, kuhariri faili kwenye sehemu ya mlima kama mwonekano mmoja wa mfumo wa faili.

Vipengele vya GlusterFS

  1. Kujiponya - Iwapo tofali zozote katika sauti iliyonakiliwa ziko chini na watumiaji kurekebisha faili zilizo ndani ya tofali lingine, daemoni ya kujiponya kiotomatiki itatumika punde tu matofali yatakapokamilika wakati mwingine na miamala. kilichotokea wakati wa kuzima husawazishwa ipasavyo.
  2. Kusawazisha - Ikiwa tutaongeza tofali mpya kwa sauti iliyopo, ambapo kiasi kikubwa cha data kilikuwa kinakaa hapo awali, tunaweza kufanya operesheni ya kusawazisha ili kusambaza data kati ya matofali yote ikiwa ni pamoja na matofali mapya yaliyoongezwa.
  3. Geo-replication - Inatoa nakala rudufu za data kwa uokoaji wa maafa. Hapa inakuja dhana ya wingi wa bwana na watumwa. Ili ikiwa bwana yuko chini data yote inaweza kupatikana kupitia mtumwa. Kipengele hiki kinatumika kusawazisha data kati ya seva zilizotenganishwa kijiografia. Kuanzisha kipindi cha urudufishaji wa kijiografia kunahitaji mfululizo wa amri za gluster.

Hapa, kuna unyakuzi ufuatao wa skrini unaoonyesha moduli ya urudufishaji wa Geo.

Viungo vya Marejeleo

Ukurasa wa nyumbani wa GlusterFS

Ni hayo kwa sasa!. Endelea kusasishwa ili upate maelezo ya kina kuhusu vipengele kama vile Kujiponya na Kusawazisha Upya, Kurudufisha Geo, n.k katika makala yangu yajayo.