ວິທີການປະຕິບັດການຮັກສາຕົນເອງແລະການດຸ່ນດ່ຽງຄືນ ໃໝ່ ໃນລະບົບແຟ້ມເອກະສານ Gluster - ພາກທີ 2


ໃນບົດຂຽນກ່ອນ ໜ້າ ນີ້ຂອງຂ້ອຍກ່ຽວກັບ 'ການແນະ ນຳ ກ່ຽວກັບ GlusterFS (ລະບົບແຟ້ມເອກະສານ) ແລະການຕິດຕັ້ງ - ສ່ວນທີ 1' ແມ່ນພຽງແຕ່ພາບລວມສັ້ນໆຂອງລະບົບແຟ້ມແລະຂໍ້ດີຂອງມັນທີ່ອະທິບາຍບາງ ຄຳ ສັ່ງພື້ນຖານ. ມັນຄຸ້ມຄ່າທີ່ຈະກ່າວເຖິງສອງລັກສະນະທີ່ ສຳ ຄັນຄືການຮັກສາຕົນເອງແລະການດຸ່ນດ່ຽງຄືນ ໃໝ່ ໃນບົດຂຽນນີ້ໂດຍບໍ່ມີ ຄຳ ອະທິບາຍໃດໆກ່ຽວກັບ GlusterFS ຈະບໍ່ມີປະໂຫຍດຫຍັງເລີຍ. ໃຫ້ພວກເຮົາຄຸ້ນເຄີຍກັບເງື່ອນໄຂການປິ່ນປົວຕົນເອງແລະສ້າງຄວາມສົມດຸນຄືນ ໃໝ່.

ຄຸນນະສົມບັດນີ້ສາມາດໃຊ້ໄດ້ ສຳ ລັບປະລິມານທີ່ ຈຳ ລອງ. ສົມມຸດວ່າ, ພວກເຮົາມີ ຈຳ ນວນທີ່ ຈຳ ລອງ [ຈຳ ນວນ ຈຳ ລອງແບບ ຈຳ ລອງຕ່ ຳ ສຸດ 2]. ສົມມຸດວ່າເນື່ອງຈາກຄວາມລົ້ມເຫລວບາງອັນ ໜຶ່ງ ຫລືຫຼາຍກ້ອນໃນບັນດາກ້ອນຫີນທີ່ເຮັດແບບ ຈຳ ລອງລົງໃນໄລຍະ ໜຶ່ງ ແລະຜູ້ໃຊ້ເກີດຂື້ນໃນການລຶບເອກະສານອອກຈາກຈຸດ mount ເຊິ່ງຈະໄດ້ຮັບຜົນກະທົບພຽງແຕ່ເທິງອິດອິດອອນລາຍ.

ໃນເວລາທີ່ brick offline ມາໃນອິນເຕີເນັດໃນເວລາຕໍ່ມາ, ມັນກໍ່ເປັນສິ່ງຈໍາເປັນທີ່ຈະຕ້ອງເອົາເອກະສານນັ້ນອອກຈາກດິນຈີ່ນີ້ເຊັ່ນດຽວກັນ. ດຽວກັນກັບກໍລະນີທີ່ມີການສ້າງ/ແກ້ໄຂເອກະສານເທິງອິດອິດໄຟ. GlusterFS ມີ daemon ການປິ່ນປົວຕົນເອງທີ່ສ້າງຂື້ນເພື່ອດູແລສະຖານະການເຫຼົ່ານີ້ທຸກຄັ້ງທີ່ອິດໄດ້ກາຍເປັນ online.

ພິຈາລະນາປະລິມານທີ່ແຈກຢາຍດ້ວຍອິດດຽວ. ຍົກຕົວຢ່າງພວກເຮົາສ້າງ 10 ແຟ້ມໃສ່ບໍລິມາດຜ່ານ mount point. ດຽວນີ້ບັນດາເອກະສານທັງ ໝົດ ແມ່ນຢູ່ໃນດິນຈີ່ດຽວກັນເພາະວ່າມີພຽງແຕ່ອິດໃນປະລິມານເທົ່ານັ້ນ. ກ່ຽວກັບການເພີ່ມ ໜຶ່ງ ແຜ່ນຕື່ມໃສ່ປະລິມານ, ພວກເຮົາອາດຈະຕ້ອງດຸ່ນດ່ຽງ ຈຳ ນວນເອກະສານທັງ ໝົດ ຄືນ ໃໝ່ ໃນບັນດາສອງແຜ່ນ. ຖ້າປະລິມານທີ່ຖືກຂະຫຍາຍອອກຫຼືຫົດຕົວຢູ່ໃນ GlusterFS, ຂໍ້ມູນ ຈຳ ເປັນຕ້ອງມີຄວາມສົມດຸນຄືນ ໃໝ່ ໃນບັນດາອິດຕ່າງໆລວມຢູ່ໃນປະລິມານ.

ການປະຕິບັດການຮັກສາຕົນເອງໃນ GlusterFS

1. ສ້າງປະລິມານທີ່ ຈຳ ລອງໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

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

ໝາຍ ເຫດ: ການສ້າງປະລິມານທີ່ຖືກ ຈຳ ໜ່າຍ ດ້ວຍດິນຈີ່ຢູ່ໃນເຊີບເວີດຽວກັນອາດຈະເຮັດໃຫ້ມີ ຄຳ ເຕືອນ ສຳ ລັບການທີ່ທ່ານຕ້ອງໄດ້ ດຳ ເນີນການແບບບໍ່ສົນໃຈ ນຳ ກັນ.

2. ເລີ່ມຕົ້ນແລະຕິດຕັ້ງປະລິມານ.

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

3. ສ້າງເອກະສານຈາກຈຸດ mount.

$ touch /mnt/foo

4. ຢັ້ງຢືນຄືກັນຢູ່ສອງແຜ່ນຫີບ ຈຳ ລອງ.

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

5. ດຽວນີ້ສົ່ງດິນຈີ່ ໜຶ ່ງ ໜຶ່ ອື່ອື່ອນໂດຍການຂ້າ daemon glusterfs ທີ່ສອດຄ້ອງກັນໂດຍໃຊ້ PID ໄດ້ຈາກຂໍ້ມູນສະຖານະພາບປະລິມານ.

$ 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

ໝາຍ ເຫດ: ເບິ່ງທີ່ປະທັບຂອງ daemon ປິ່ນປົວຕົນເອງໃນ server.

$ 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

ດຽວນີ້ອິດທີສອງແມ່ນອອບໄລນ໌.

6. ລຶບເອກະສານ foo ຈາກຈຸດຕິດຕັ້ງແລະກວດກາເນື້ອໃນຂອງອິດ.

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

ທ່ານເຫັນ foo ຍັງມີຢູ່ໃນດິນຈີ່ສອງ.

7. ດຽວນີ້ເອົາດິນຈີ່ online ຄືນ.

$ 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

ດຽວນີ້ອິດແມ່ນ online.

8. ກວດກາເນື້ອໃນຂອງດິນຈີ່.

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

ເອກະສານໄດ້ຖືກຍ້າຍອອກຈາກອິດທີສອງໂດຍ daemon ການຮັກສາຕົນເອງ.

ໝາຍ ເຫດ: ໃນກໍລະນີມີເອກະສານຂະ ໜາດ ໃຫຍ່ມັນອາດຈະໃຊ້ເວລາໄລຍະ ໜຶ່ງ ເພື່ອໃຫ້ການປະຕິບັດງານຂອງຕົນເອງ ສຳ ເລັດຜົນ. ທ່ານສາມາດກວດເບິ່ງສະພາບການຮັກສາໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ 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. ໃຫ້ ຄຳ ເຫັນຢູ່ທີ່ນີ້ດ້ວຍຄວາມສົງໄສຂອງທ່ານກ່ຽວກັບຄຸນລັກສະນະຂອງການຮັກສາຕົນເອງແລະຄວາມສົມດຸນຄືນ.