GlusterFS (ഫയൽ സിസ്റ്റം) ആമുഖവും RHEL/CentOS, Fedora എന്നിവയിലെ ഇൻസ്റ്റലേഷനും


പ്രവചനാതീതമായ രീതിയിൽ ഡാറ്റ വളരുന്ന ഒരു ലോകത്താണ് നമ്മൾ ജീവിക്കുന്നത്, ഈ ഡാറ്റ ഘടനാപരമായതോ ഘടനാരഹിതമായതോ ആയാലും, കാര്യക്ഷമമായ രീതിയിൽ സംഭരിക്കേണ്ടത് നമ്മുടെ ആവശ്യമാണ്. ഡിസ്ട്രിബ്യൂട്ടഡ് കമ്പ്യൂട്ടിംഗ് സിസ്റ്റങ്ങൾ കേന്ദ്രീകൃത കമ്പ്യൂട്ടിംഗ് സിസ്റ്റങ്ങളെ അപേക്ഷിച്ച് വിപുലമായ ഗുണങ്ങൾ വാഗ്ദാനം ചെയ്യുന്നു. ഇവിടെ ഡാറ്റ സെർവറുകളായി നിരവധി നോഡുകൾ ഉപയോഗിച്ച് വിതരണം ചെയ്ത രീതിയിൽ സംഭരിക്കുന്നു.

ഒരു വിതരണം ചെയ്ത ഫയൽ സിസ്റ്റത്തിൽ മെറ്റാഡാറ്റ സെർവർ എന്ന ആശയം ഇനി ആവശ്യമില്ല. വിതരണം ചെയ്ത ഫയൽ സിസ്റ്റങ്ങളിൽ, വ്യത്യസ്uത സെർവറുകൾക്കിടയിൽ വേർതിരിച്ചിരിക്കുന്ന എല്ലാ ഫയലുകളുടെയും ഒരു പൊതു വ്യൂ പോയിന്റ് ഇത് വാഗ്ദാനം ചെയ്യുന്നു. ഈ സ്റ്റോറേജ് സെർവറുകളിലെ ഫയലുകൾ/ഡയറക്uടറികൾ സാധാരണ രീതിയിൽ ആക്uസസ് ചെയ്യപ്പെടുന്നു.

ഉദാഹരണത്തിന്, ഫയലുകൾ/ഡയറക്uടറികൾക്കുള്ള അനുമതികൾ സാധാരണ സിസ്റ്റം പെർമിഷൻ മോഡൽ പോലെ സജ്ജീകരിക്കാം, അതായത് ഉടമയും ഗ്രൂപ്പും മറ്റുള്ളവരും. ഫയൽ സിസ്റ്റത്തിലേക്കുള്ള പ്രവേശനം അടിസ്ഥാനപരമായി നിർദ്ദിഷ്ട പ്രോട്ടോക്കോൾ എങ്ങനെ പ്രവർത്തിക്കുന്നു എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു.

എന്താണ് GlusterFS?

ഉപയോക്തൃ സ്ഥലത്ത് ഉപയോഗിക്കാൻ നിർവ്വചിച്ചിട്ടുള്ള ഒരു വിതരണം ചെയ്ത ഫയൽ സിസ്റ്റമാണ് GlusterFS, അതായത് ഫയൽ സിസ്റ്റം യൂസർ സ്പേസിൽ (FUSE). സ്വന്തം ഫ്ലെക്uസിബിലിറ്റി ഫീച്ചറുമായി ബന്ധപ്പെട്ട ഒരു സോഫ്റ്റ്uവെയർ അധിഷ്ഠിത ഫയൽ സിസ്റ്റമാണിത്.

ഒരു ഹൈറാർക്കിക്കൽ മോഡലിൽ GlusterFS-ന്റെ സ്ഥാനത്തെ സ്കീമാറ്റിക് ആയി പ്രതിനിധീകരിക്കുന്ന ഇനിപ്പറയുന്ന ചിത്രം നോക്കുക. സ്ഥിരസ്ഥിതിയായി TCP പ്രോട്ടോക്കോൾ GlusterFS ഉപയോഗിക്കും.

  1. ഇൻവേഷൻ - ഇത് മെറ്റാഡാറ്റ ഇല്ലാതാക്കുകയും ഡാറ്റയും ഒബ്ജക്റ്റുകളും ഏകീകരിക്കാൻ ഞങ്ങളെ സഹായിക്കുന്ന പ്രകടനത്തെ നാടകീയമായി മെച്ചപ്പെടുത്തുകയും ചെയ്യും.
  2. ഇലാസ്റ്റിറ്റി - ഡാറ്റയുടെ വളർച്ചയ്ക്കും വലിപ്പം കുറയ്ക്കുന്നതിനും അനുയോജ്യം.
  3. രേഖീയമായി സ്കെയിൽ ചെയ്യുക - ഇതിന് പെറ്റാബൈറ്റുകളിലേക്കും അതിനുമപ്പുറവും ലഭ്യതയുണ്ട്.
  4. ലാളിത്യം - ഉപയോക്തൃ സ്uപെയ്uസിൽ പ്രവർത്തിക്കുമ്പോൾ കേർണലിൽ നിന്ന് സ്വതന്ത്രവും കൈകാര്യം ചെയ്യാൻ എളുപ്പവുമാണ്.

  1. സെലബിൾ - ഒരു മെറ്റാഡാറ്റ സെർവറിന്റെ അഭാവം വേഗതയേറിയ ഫയൽ സിസ്റ്റം നൽകുന്നു.
  2. താങ്ങാവുന്ന വില - ഇത് ചരക്ക് ഹാർഡ്uവെയറിൽ വിന്യസിക്കുന്നു.
  3. Flexible – ഞാൻ നേരത്തെ പറഞ്ഞതുപോലെ, GlusterFS ഒരു സോഫ്റ്റ്uവെയർ മാത്രമുള്ള ഫയൽ സിസ്റ്റമാണ്. ഇവിടെ ഡാറ്റ സംഭരിച്ചിരിക്കുന്നത് ext4, xfs മുതലായ നേറ്റീവ് ഫയൽ സിസ്റ്റങ്ങളിലാണ്.
  4. ഓപ്പൺ സോഴ്സ് – നിലവിൽ ഗ്ലസ്റ്റർഎഫ്എസ് Red Hat സ്റ്റോറേജിന്റെ ഭാഗമായി ഒരു ബില്യൺ ഡോളർ ഓപ്പൺ സോഴ്uസ് കമ്പനിയായ Red Hat Inc ആണ് പരിപാലിക്കുന്നത്.

  1. ഇഷ്ടിക - ബ്രിക്ക് അടിസ്ഥാനപരമായി വിശ്വസനീയമായ സ്റ്റോറേജ് പൂളിൽ പങ്കിടാൻ ഉദ്ദേശിച്ചിട്ടുള്ള ഏത് ഡയറക്ടറിയാണ്.
  2. ട്രസ്റ്റഡ് സ്റ്റോറേജ് പൂൾ - രൂപകൽപ്പന ചെയ്ത പ്രോട്ടോക്കോൾ അടിസ്ഥാനമാക്കിയുള്ള ഈ പങ്കിട്ട ഫയലുകളുടെ/ഡയറക്uടറികളുടെ ഒരു ശേഖരമാണ്.
  3. ബ്ലോക്ക് സ്റ്റോറേജ് - ബ്ലോക്കുകളുടെ രൂപത്തിൽ സിസ്റ്റങ്ങളിലുടനീളം ഡാറ്റ നീക്കുന്ന ഉപകരണങ്ങളാണ് അവ.
  4. ക്ലസ്റ്റർ – Red Hat സ്റ്റോറേജിൽ, ക്ലസ്റ്ററും വിശ്വസനീയമായ സ്റ്റോറേജ് പൂളും ഒരു നിർവ്വചിച്ച പ്രോട്ടോക്കോൾ അടിസ്ഥാനമാക്കിയുള്ള സ്റ്റോറേജ് സെർവറുകളുടെ സഹകരണത്തിന്റെ ഒരേ അർത്ഥം നൽകുന്നു.
  5. ഡിസ്ട്രിബ്യൂട്ടഡ് ഫയൽ സിസ്റ്റം - ഫയലിന്റെ യഥാർത്ഥ സ്ഥാനം അറിയാതെ ഉപയോക്താക്കൾക്ക് ഫയൽ ആക്സസ് ചെയ്യാൻ കഴിയുന്ന വ്യത്യസ്ത നോഡുകളിൽ ഡാറ്റ വ്യാപിക്കുന്ന ഒരു ഫയൽ സിസ്റ്റം. വിദൂര ആക്uസസിന്റെ അനുഭവം ഉപയോക്താവിന് അനുഭവപ്പെടുന്നില്ല.
  6. FUSE – കേർണൽ കോഡുകളൊന്നും ഉൾപ്പെടുത്താതെ കേർണലിന് മുകളിൽ ഫയൽ സിസ്റ്റങ്ങൾ സൃഷ്ടിക്കാൻ ഉപയോക്താക്കളെ അനുവദിക്കുന്ന ഒരു ലോഡ് ചെയ്യാവുന്ന കേർണൽ മൊഡ്യൂളാണിത്.
  7. glusterd – glusterd എന്നത് ഫയൽ സിസ്റ്റത്തിന്റെ നട്ടെല്ലായ GlusterFS മാനേജ്മെന്റ് ഡെമൺ ആണ്, അത് സെർവറുകൾ സജീവമായ അവസ്ഥയിലായിരിക്കുമ്പോഴെല്ലാം മുഴുവൻ സമയവും പ്രവർത്തിക്കും.
  8. പോസിക്സ് - പോർട്ടബിൾ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഇന്റർഫേസ് (POSIX) എന്നത് ഒരു ആപ്ലിക്കേഷൻ പ്രോഗ്രാമബിൾ ഇന്റർഫേസിന്റെ (API) രൂപത്തിൽ Unix- വേരിയന്റുകളുടെ അനുയോജ്യതയ്ക്കുള്ള പരിഹാരമായി IEEE നിർവചിച്ചിരിക്കുന്ന മാനദണ്ഡങ്ങളുടെ കുടുംബമാണ്.
  9. റെയ്uഡ് – റിഡൻഡന്റ് അറേ ഓഫ് ഇൻഡിപെൻഡന്റ് ഡിസ്uകുകൾ (റെയ്uഡ്) ആവർത്തനത്തിലൂടെ വർധിച്ച സ്റ്റോറേജ് വിശ്വാസ്യത നൽകുന്ന ഒരു സാങ്കേതികവിദ്യയാണ്.
  10. ഉപവോള്യം - ഒരു വിവർത്തകനെങ്കിലും പ്രോസസ്സ് ചെയ്തതിന് ശേഷമുള്ള ഒരു ഇഷ്ടിക.
  11. വിവർത്തകൻ - മൗണ്ട് പോയിന്റിൽ നിന്ന് ഉപയോക്താവ് ആരംഭിച്ച അടിസ്ഥാന പ്രവർത്തനങ്ങൾ ചെയ്യുന്ന കോഡിന്റെ ഭാഗമാണ് വിവർത്തകൻ. ഇത് ഒന്നോ അതിലധികമോ ഉപ വോള്യങ്ങളെ ബന്ധിപ്പിക്കുന്നു.
  12. വോളിയം - ഇഷ്ടികകളുടെ ഒരു ലോജിക്കൽ ശേഖരമാണ് എ വോള്യം. എല്ലാ പ്രവർത്തനങ്ങളും ഉപയോക്താവ് സൃഷ്uടിച്ച വ്യത്യസ്ത തരം വോള്യങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.

ഈ അടിസ്ഥാന വോളിയം തരങ്ങളിൽ വ്യത്യസ്ത തരം വോള്യങ്ങളുടെയും കോമ്പിനേഷനുകളുടെയും പ്രതിനിധാനം ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ അനുവദനീയമാണ്.

വിതരണം ചെയ്uത-റെപ്ലിക്കേറ്റഡ് വോള്യത്തിന്റെ പ്രതിനിധാനം.

RHEL/CentOS, Fedora എന്നിവയിൽ GlusterFS-ന്റെ ഇൻസ്റ്റലേഷൻ

ഈ ലേഖനത്തിൽ, സംഭരണത്തിന്റെ ഉയർന്ന ലഭ്യതയ്ക്കായി ഞങ്ങൾ GlusterFS ആദ്യമായി ഇൻസ്റ്റാൾ ചെയ്യുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യും. ഇതിനായി, വോള്യങ്ങൾ സൃഷ്uടിക്കാനും അവയ്uക്കിടയിൽ ഡാറ്റ പകർത്താനും ഞങ്ങൾ രണ്ട് സെർവറുകൾ എടുക്കുന്നു.

  1. രണ്ട് നോഡുകളിൽ CentOS 6.5 (അല്ലെങ്കിൽ മറ്റേതെങ്കിലും OS) ഇൻസ്റ്റാൾ ചെയ്യുക.
  2. “server1”, “server2“ എന്നീ പേരുകളിൽ ഹോസ്റ്റ്നാമങ്ങൾ സജ്ജമാക്കുക.
  3. ഒരു പ്രവർത്തിക്കുന്ന നെറ്റ്uവർക്ക് കണക്ഷൻ.
  4. /data/brick എന്ന് പേരുള്ള രണ്ട് നോഡുകളിലെയും സ്റ്റോറേജ് ഡിസ്ക്.

രണ്ട് സെർവറുകളിലും GlusterFS ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനു മുമ്പ്, ബാഹ്യ ഡിപൻഡൻസികൾ തൃപ്തിപ്പെടുത്തുന്നതിന് EPEL, GlusterFS റിപ്പോസിറ്ററികൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്. രണ്ട് സിസ്റ്റങ്ങൾക്കു കീഴിലും എപൽ റിപ്പോസിറ്ററി ഇൻസ്റ്റാൾ ചെയ്യാനും പ്രവർത്തനക്ഷമമാക്കാനും ഇനിപ്പറയുന്ന ലിങ്ക് ഉപയോഗിക്കുക.

  1. RHEL/CentOS-ൽ EPEL ശേഖരണം എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാം

അടുത്തതായി, രണ്ട് സെർവറുകളിലും നമുക്ക് GlusterFs റിപ്പോസിറ്ററി പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്.

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

രണ്ട് സെർവറുകളിലും സോഫ്റ്റ്വെയർ ഇൻസ്റ്റാൾ ചെയ്യുക.

# yum install glusterfs-server

GlusterFS മാനേജ്മെന്റ് ഡെമൺ ആരംഭിക്കുക.

# service glusterd start

ഇപ്പോൾ ഡെമന്റെ നില പരിശോധിക്കുക.

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

‘/etc/sysconfig/selinux’ തുറന്ന് SELinux രണ്ട് സെർവറുകളിലും \അനുവദനീയമായ അല്ലെങ്കിൽ \അപ്രാപ്uതമാക്കിയ മോഡിലേക്ക് മാറ്റുക. ഫയൽ സംരക്ഷിച്ച് അടയ്ക്കുക.

# 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

അടുത്തതായി, രണ്ട് നോഡുകളിലെയും iptables ഫ്ലഷ് ചെയ്യുക അല്ലെങ്കിൽ iptables വഴി മറ്റൊരു നോഡിലേക്ക് പ്രവേശനം അനുവദിക്കേണ്ടതുണ്ട്.

# iptables -F

'Server1'-ൽ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

gluster peer probe server2

'Server2'-ൽ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

gluster peer probe server1

ശ്രദ്ധിക്കുക: ഈ പൂൾ കണക്uറ്റ് ചെയ്uതുകഴിഞ്ഞാൽ, വിശ്വസനീയ ഉപയോക്താക്കൾക്ക് മാത്രമേ ഈ പൂളിലേക്ക് പുതിയ സെർവറുകൾ പരിശോധിക്കാൻ കഴിയൂ.

സെർവർ1, സെർവർ2 എന്നിവയിലും.

# mkdir /data/brick/gv0

ഏതെങ്കിലും ഒരു സെർവറിൽ ഒരു വോളിയം സൃഷ്uടിച്ച് വോളിയം ആരംഭിക്കുക. ഇവിടെ, ഞാൻ 'സെർവർ1' എടുത്തു.

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

അടുത്തതായി, വോളിയത്തിന്റെ നില സ്ഥിരീകരിക്കുക.

# gluster volume info

ശ്രദ്ധിക്കുക: ഇൻ-കേസ് വോളിയം ആരംഭിച്ചിട്ടില്ലെങ്കിൽ, ഒന്നോ രണ്ടോ സെർവറുകളിൽ '/var/log/glusterfs' എന്നതിന് കീഴിൽ പിശക് സന്ദേശങ്ങൾ ലോഗ് ചെയ്യപ്പെടും.

'/mnt' എന്നതിന് കീഴിലുള്ള ഒരു ഡയറക്uടറിയിലേക്ക് വോളിയം മൗണ്ട് ചെയ്യുക.

# mount -t glusterfs server1:/gv0 /mnt

ഇപ്പോൾ നിങ്ങൾക്ക് ഫയൽ സിസ്റ്റത്തിന്റെ ഒറ്റ കാഴ്ചയായി മൌണ്ട് പോയിന്റിൽ ഫയലുകൾ സൃഷ്ടിക്കാനും എഡിറ്റ് ചെയ്യാനും കഴിയും.

GlusterFS-ന്റെ സവിശേഷതകൾ

  1. സ്വയം സൗഖ്യമാക്കൽ – ഒരു പകർപ്പെടുത്ത വോളിയത്തിലെ ഏതെങ്കിലും ഇഷ്ടികകൾ കുറയുകയും ഉപയോക്താക്കൾ മറ്റ് ഇഷ്ടികയ്ക്കുള്ളിലെ ഫയലുകൾ പരിഷ്uക്കരിക്കുകയും ചെയ്യുന്നുവെങ്കിൽ, അടുത്ത തവണ ഇഷ്ടിക ഉയർന്ന് ഇടപാടുകൾ ആരംഭിക്കുമ്പോൾ തന്നെ ഓട്ടോമാറ്റിക് സെൽഫ്-ഹീൽ ഡെമൺ പ്രവർത്തനക്ഷമമാകും. പ്രവർത്തനരഹിതമായ സമയത്ത് സംഭവിച്ചത് അതനുസരിച്ച് സമന്വയിപ്പിക്കുന്നു.
  2. റീബാലൻസ് - മുമ്പ് വലിയ അളവിലുള്ള ഡാറ്റ നിലനിന്നിരുന്ന നിലവിലുള്ള വോള്യത്തിലേക്ക് ഒരു പുതിയ ഇഷ്ടിക ചേർക്കുകയാണെങ്കിൽ, പുതുതായി ചേർത്ത ഇഷ്ടിക ഉൾപ്പെടെയുള്ള എല്ലാ ഇഷ്ടികകൾക്കിടയിലും ഡാറ്റ വിതരണം ചെയ്യാൻ ഞങ്ങൾക്ക് ഒരു റീബാലൻസ് പ്രവർത്തനം നടത്താം.
  3. ജിയോ റെപ്ലിക്കേഷൻ - ഇത് ദുരന്ത വീണ്ടെടുക്കലിനായി ഡാറ്റയുടെ ബാക്ക്-അപ്പുകൾ നൽകുന്നു. യജമാനൻ, അടിമ വാല്യങ്ങൾ എന്ന ആശയം ഇവിടെ വരുന്നു. അതിനാൽ മാസ്റ്റർ ഡൗൺ ആണെങ്കിൽ സ്ലേവ് വഴി മുഴുവൻ ഡാറ്റയും ആക്സസ് ചെയ്യാൻ കഴിയും. ഭൂമിശാസ്ത്രപരമായി വേർതിരിച്ച സെർവറുകൾക്കിടയിൽ ഡാറ്റ സമന്വയിപ്പിക്കാൻ ഈ സവിശേഷത ഉപയോഗിക്കുന്നു. ഒരു ജിയോ-റെപ്ലിക്കേഷൻ സെഷൻ ആരംഭിക്കുന്നതിന് ഗ്ലസ്റ്റർ കമാൻഡുകളുടെ ഒരു പരമ്പര ആവശ്യമാണ്.

ജിയോ റെപ്ലിക്കേഷൻ മൊഡ്യൂൾ കാണിക്കുന്ന ഇനിപ്പറയുന്ന സ്uക്രീൻ ഗ്രാബ് ഇതാ.

റഫറൻസ് ലിങ്കുകൾ

GlusterFS ഹോംപേജ്

തൽക്കാലം അത്രമാത്രം!. എന്റെ വരാനിരിക്കുന്ന ലേഖനങ്ങളിലെ സെൽഫ്-ഹീൽ ആൻഡ് റീ-ബാലൻസ്, ജിയോ-റെപ്ലിക്കേഷൻ തുടങ്ങിയ ഫീച്ചറുകളെക്കുറിച്ചുള്ള വിശദമായ വിവരണത്തിനായി അപ്uഡേറ്റായി തുടരുക.