ഗ്ലസ്റ്റർ ഫയൽ സിസ്റ്റത്തിൽ സെൽഫ്-ഹീൽ, റീ-ബാലൻസ് ഓപ്പറേഷനുകൾ എങ്ങനെ നടത്താം - ഭാഗം 2


'GlusterFS (ഫയൽ സിസ്റ്റം) ആമുഖം, ഇൻസ്റ്റലേഷൻ - ഭാഗം 1' എന്നിവയെക്കുറിച്ചുള്ള എന്റെ മുൻ ലേഖനത്തിൽ, ഫയൽ സിസ്റ്റത്തെക്കുറിച്ചും അതിന്റെ ഗുണങ്ങളെക്കുറിച്ചും ചില അടിസ്ഥാന കമാൻഡുകൾ വിവരിക്കുന്ന ഒരു ഹ്രസ്വ അവലോകനം മാത്രമായിരുന്നു. ഈ ലേഖനത്തിൽ സെൽഫ്-ഹീൽ, റീ-ബാലൻസ് എന്നീ രണ്ട് പ്രധാന സവിശേഷതകളെ കുറിച്ച് പരാമർശിക്കേണ്ടതാണ്. സെൽഫ് ഹീൽ, റീ-ബാലൻസ് എന്നീ പദങ്ങൾ നമുക്ക് പരിചയപ്പെടാം.

ഈ ഫീച്ചർ പകർപ്പെടുത്ത വോള്യങ്ങൾക്ക് ലഭ്യമാണ്. നമുക്ക് ഒരു പകർപ്പ് വോളിയം ഉണ്ടെന്ന് കരുതുക [മിനിമം റെപ്ലിക്ക കൗണ്ട് 2]. ചില തകരാറുകൾ കാരണം, പകർപ്പ് ഇഷ്ടികകൾക്കിടയിൽ ഒന്നോ അതിലധികമോ ഇഷ്ടികകൾ കുറച്ച് സമയത്തേക്ക് താഴേക്ക് പോകുകയും ഉപയോക്താവ് മൗണ്ട് പോയിന്റിൽ നിന്ന് ഒരു ഫയൽ ഇല്ലാതാക്കുകയും ചെയ്യും, അത് ഓൺലൈൻ ഇഷ്ടികയിൽ മാത്രം ബാധിക്കപ്പെടും.

പിന്നീട് ഓഫ്uലൈൻ ഇഷ്ടിക ഓൺലൈനിൽ വരുമ്പോൾ, ഈ ഇഷ്ടികയിൽ നിന്ന് ആ ഫയൽ നീക്കം ചെയ്യേണ്ടത് ആവശ്യമാണ്, അതായത് ഹീലിംഗ് എന്ന് വിളിക്കപ്പെടുന്ന തനിപ്പകർപ്പുകൾക്കിടയിൽ ഒരു സമന്വയം നടത്തണം. ഓഫ്uലൈൻ ഇഷ്ടികകളിൽ ഫയലുകളുടെ സൃഷ്uടി/പരിഷ്uക്കരണം എന്നിവയും സമാനമാണ്. ഇഷ്ടികകൾ ഓൺലൈനാകുമ്പോഴെല്ലാം ഇത്തരം സാഹചര്യങ്ങൾ കൈകാര്യം ചെയ്യുന്നതിനായി GlusterFS-ന് ഇൻബിൽറ്റ് സെൽഫ്-ഹീൽ ഡെമൺ ഉണ്ട്.

ഒരു ഇഷ്ടിക കൊണ്ട് മാത്രം വിതരണം ചെയ്ത വോള്യം പരിഗണിക്കുക. ഉദാഹരണത്തിന്, മൗണ്ട് പോയിന്റിലൂടെ ഞങ്ങൾ വോളിയത്തിൽ 10 ഫയലുകൾ സൃഷ്ടിക്കുന്നു. വോളിയത്തിൽ ഇഷ്ടിക മാത്രമുള്ളതിനാൽ ഇപ്പോൾ എല്ലാ ഫയലുകളും ഒരേ ഇഷ്ടികയിൽ വസിക്കുന്നു. വോളിയത്തിലേക്ക് ഒരു ഇഷ്ടിക കൂടി ചേർക്കുമ്പോൾ, രണ്ട് ഇഷ്ടികകൾക്കിടയിലുള്ള മൊത്തം ഫയലുകളുടെ എണ്ണം നമുക്ക് വീണ്ടും ബാലൻസ് ചെയ്യേണ്ടതായി വന്നേക്കാം. GlusterFS-ൽ ഒരു വോളിയം വിപുലീകരിക്കുകയോ ചുരുക്കുകയോ ചെയ്യുകയാണെങ്കിൽ, വോളിയത്തിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്ന വിവിധ ഇഷ്ടികകൾക്കിടയിൽ ഡാറ്റ വീണ്ടും ബാലൻസ് ചെയ്യേണ്ടതുണ്ട്.

GlusterFS-ൽ സ്വയം സുഖപ്പെടുത്തുന്നു

1. ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഒരു പകർപ്പ് വോളിയം സൃഷ്ടിക്കുക.

$ gluster volume create vol replica 2 192.168.1.16:/home/a 192.168.1.16:/home/b

ശ്രദ്ധിക്കുക: ഒരേ സെർവറിൽ ഇഷ്ടികകൾ ഉപയോഗിച്ച് ഒരു പകർപ്പ് വോളിയം സൃഷ്uടിക്കുന്നത് ഒരു മുന്നറിയിപ്പ് ഉയർത്തിയേക്കാം, അതിനായി നിങ്ങൾ അത് അവഗണിച്ച് മുന്നോട്ട് പോകേണ്ടിവരും.

2. വോളിയം ആരംഭിച്ച് മൌണ്ട് ചെയ്യുക.

$ gluster volume start vol
$ mount -t glusterfs 192.168.1.16:/vol /mnt/

3. മൗണ്ട് പോയിന്റിൽ നിന്ന് ഒരു ഫയൽ സൃഷ്ടിക്കുക.

$ touch /mnt/foo

4. രണ്ട് തനിപ്പകർപ്പ് ഇഷ്ടികകളിൽ ഇത് പരിശോധിക്കുക.

$ ls /home/a/
foo
$ ls /home/b/
foo

5. ഇപ്പോൾ വോളിയം സ്റ്റാറ്റസ് വിവരങ്ങളിൽ നിന്ന് ലഭിച്ച PID ഉപയോഗിച്ച് അനുബന്ധ ഗ്ലസ്റ്റർഫ്സ് ഡെമണിനെ കൊന്ന് ഇഷ്ടികകളിൽ ഒന്ന് ഓഫ്uലൈനായി അയയ്ക്കുക.

$ gluster volume status vol
Status of volume: vol
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	3810 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

ശ്രദ്ധിക്കുക: സെർവറിൽ സെൽഫ്-ഹീൽ ഡെമന്റെ സാന്നിധ്യം കാണുക.

$ kill 3810
$ gluster volume status vol
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			N/A	  N	N/A 
NFS Server on localhost				2049	  Y	3824 
Self-heal Daemon on localhost			N/A	  Y	3829

ഇപ്പോൾ രണ്ടാമത്തെ ഇഷ്ടിക ഓഫ്uലൈനാണ്.

6. മൗണ്ട് പോയിന്റിൽ നിന്ന് ഫയൽ foo ഇല്ലാതാക്കി ഇഷ്ടികയുടെ ഉള്ളടക്കം പരിശോധിക്കുക.

$ rm -f /mnt/foo
$ ls /home/a
$ ls /home/b
foo

രണ്ടാമത്തെ ഇഷ്ടികയിൽ ഇപ്പോഴും foo ഉണ്ടെന്ന് നിങ്ങൾ കാണുന്നു.

7. ഇപ്പോൾ ഇഷ്ടിക ഓൺലൈനിൽ തിരികെ കൊണ്ടുവരിക.

$ gluster volume start vol force
$ gluster volume status vol
Status of volume: vol 
Gluster process					Port	Online	Pid 
------------------------------------------------------------------------------ 
Brick 192.168.1.16:/home/a			49152	  Y	3799 
Brick 192.168.1.16:/home/b			49153	  Y	4110 
NFS Server on localhost				2049	  Y	4122 
Self-heal Daemon on localhost			N/A	  Y	4129

ഇപ്പോൾ ഇഷ്ടിക ഓൺലൈനിലാണ്.

8. ഇഷ്ടികകളുടെ ഉള്ളടക്കം പരിശോധിക്കുക.

$ ls /home/a/
$ ls /home/b/

സെൽഫ്-ഹീൽ ഡെമൺ രണ്ടാമത്തെ ഇഷ്ടികയിൽ നിന്ന് ഫയൽ നീക്കം ചെയ്തു.

കുറിപ്പ്: വലിയ ഫയലുകളുടെ കാര്യത്തിൽ, സെൽഫ് ഹീൽ ഓപ്പറേഷൻ വിജയകരമായി പൂർത്തിയാക്കാൻ കുറച്ച് സമയമെടുത്തേക്കാം. ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് രോഗശാന്തി നില പരിശോധിക്കാം.

$ gluster volume heal vol info

GlusterFS-ൽ വീണ്ടും ബാലൻസ് നടത്തുന്നു

1. ഒരു വിതരണം ചെയ്ത വോളിയം സൃഷ്ടിക്കുക.

$ gluster create volume distribute 192.168.1.16:/home/c

2. വോളിയം ആരംഭിച്ച് മൌണ്ട് ചെയ്യുക.

$ gluster volume start distribute
$ mount -t glusterfs 192.168.1.16:/distribute /mnt/

3. 10 ഫയലുകൾ സൃഷ്ടിക്കുക.

$ touch /mnt/file{1..10}
$ ls /mnt/
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

$ ls /home/c
file1  file10  file2  file3  file4  file5  file6  file7  file8  file9

4. വോളിയത്തിലേക്ക് മറ്റൊരു ഇഷ്ടിക ചേർക്കുക വിതരണം.

$ gluster volume add-brick distribute 192.168.1.16:/home/d
$ ls /home/d

5. വീണ്ടും ബാലൻസ് ചെയ്യുക.

$ gluster volume rebalance distribute start

volume rebalance: distribute: success: Starting rebalance on volume distribute has been successful.

6. ഉള്ളടക്കം പരിശോധിക്കുക.

$ ls /home/c
file1  file2  file5  file6  file8 

$ ls /home/d
file10  file3  file4  file7  file9

ഫയലുകൾ വീണ്ടും ബാലൻസ് ചെയ്തു.

ശ്രദ്ധിക്കുക: ഇനിപ്പറയുന്ന കമാൻഡ് നൽകി നിങ്ങൾക്ക് വീണ്ടും ബാലൻസ് നില പരിശോധിക്കാം.

$ gluster volume rebalance distribute status
Node           Rebalanced-files     size          scanned    failures    skipped   status	run time in secs 
---------      -----------          ---------     --------   ---------   -------   --------     ----------------- 
localhost          5                0Bytes           15          0         0       completed         1.00 
volume rebalance: distribute: success:

ഇതോടെ ഈ സീരീസ് GlusterFS-ൽ അവസാനിപ്പിക്കാൻ ഞാൻ പദ്ധതിയിടുന്നു. സെൽഫ്-ഹീൽ, റീ-ബാലൻസ് ഫീച്ചറുകളെ കുറിച്ചുള്ള നിങ്ങളുടെ സംശയങ്ങൾ ഇവിടെ കമന്റ് ചെയ്യാൻ മടിക്കേണ്ടതില്ല.