ການແນະ ນຳ ກ່ຽວກັບ GlusterFS (File System) ແລະການຕິດຕັ້ງໃນ RHEL/CentOS ແລະ Fedora


ພວກເຮົາ ກຳ ລັງ ດຳ ລົງຊີວິດຢູ່ໃນໂລກທີ່ຂໍ້ມູນ ກຳ ລັງເຕີບໃຫຍ່ໃນແບບທີ່ບໍ່ສາມາດຄາດເດົາໄດ້ແລະມັນ ຈຳ ເປັນທີ່ພວກເຮົາຕ້ອງເກັບຂໍ້ມູນນີ້, ບໍ່ວ່າຈະເປັນໂຄງສ້າງຫລືບໍ່ມີໂຄງສ້າງ, ໃນແບບທີ່ມີປະສິດຕິພາບ. ລະບົບຄອມພິວເຕີ້ທີ່ແຈກຢາຍແຈກຢາຍໃຫ້ມີຄວາມໄດ້ປຽບຫຼາຍດ້ານຫຼາຍກວ່າລະບົບຄອມພິວເຕີ້ສູນກາງ. ນີ້ແມ່ນຂໍ້ມູນຖືກເກັບມ້ຽນແບບທີ່ແຈກຢາຍດ້ວຍຫລາຍ Nodes ເປັນເຊີຟເວີ.

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

ຍົກຕົວຢ່າງ, ສິດອະນຸຍາດ ສຳ ລັບແຟ້ມ/ລາຍການສາມາດ ກຳ ນົດໄວ້ໃນຮູບແບບການອະນຸຍາດຂອງລະບົບປົກກະຕິ, ເຊັ່ນ: ເຈົ້າຂອງ, ກຸ່ມແລະອື່ນໆ ການເຂົ້າເຖິງລະບົບເອກະສານໂດຍພື້ນຖານແລ້ວແມ່ນຂື້ນກັບວິທີການພິທີການສະເພາະທີ່ຖືກອອກແບບມາເພື່ອເຮັດວຽກແບບດຽວກັນ.

GlusterFS ແມ່ນຫຍັງ?

GlusterFS ແມ່ນລະບົບແຟ້ມເອກະສານທີ່ແຈກຢາຍທີ່ຖືກ ກຳ ນົດໃຫ້ຖືກ ນຳ ໃຊ້ໃນພື້ນທີ່ຂອງຜູ້ໃຊ້, i.e. File System in User Space (FUSE). ມັນແມ່ນລະບົບແຟ້ມເອກະສານທີ່ອີງໃສ່ຄຸນລັກສະນະທີ່ມີຄວາມຍືດຫຍຸ່ນຂອງມັນເອງ.

ເບິ່ງຕົວເລກຕໍ່ໄປນີ້ເຊິ່ງເປັນຕົວແທນໃຫ້ແກ່ ຕຳ ແໜ່ງ ຂອງ GlusterFS ໃນຮູບແບບ ລຳ ດັບຊັ້ນ. ໂດຍ Default TCP protocol ຈະຖືກ ນຳ ໃຊ້ໂດຍ GlusterFS.

<

  • ນະວັດຕະ ກຳ - ມັນ ກຳ ຈັດຂໍ້ມູນ metadata ແລະສາມາດປັບປຸງການປະຕິບັດງານເຊິ່ງຈະຊ່ວຍໃຫ້ພວກເຮົາສາມາດເຊື່ອມໂຍງຂໍ້ມູນແລະວັດຖຸເປັນເອກະພາບໄດ້.
  • ຄວາມຄ່ອງແຄ້ວ - ປັບຕົວເຂົ້າກັບການເຕີບໃຫຍ່ແລະຫຼຸດຂະ ໜາດ ຂອງຂໍ້ມູນ.
  • Scale Linearly - ມັນສາມາດໃຊ້ໄດ້ເປັນຮູເບັດແລະອື່ນໆ.
  • ຄວາມລຽບງ່າຍ - ມັນງ່າຍຕໍ່ການຈັດການແລະເປັນເອກະລາດຈາກແກ່ນໃນຂະນະທີ່ແລ່ນຢູ່ໃນພື້ນທີ່ຂອງຜູ້ໃຊ້.
  • <

  • ສາມາດຈ່າຍໄດ້ - ການຂາດຂໍ້ມູນຂອງເຄື່ອງແມ່ຂ່າຍຂໍ້ມູນ metadata ໃຫ້ລະບົບແຟ້ມທີ່ໄວຂື້ນ.
  • ລາຄາບໍ່ແພງ - ມັນ ນຳ ໃຊ້ກັບຮາດແວສິນຄ້າ.
  • ມີຄວາມຍືດຫຍຸ່ນ - ດັ່ງທີ່ຂ້ອຍໄດ້ເວົ້າກ່ອນ ໜ້າ ນີ້, GlusterFS ແມ່ນລະບົບໂປແກຼມໂປຼແກຼມບັນຈຸເອກະສານເທົ່ານັ້ນ. ຂໍ້ມູນນີ້ແມ່ນເກັບຢູ່ໃນລະບົບແຟ້ມເອກະສານເຊັ່ນ: ext4, xfs ແລະອື່ນໆ.
  • Open Source - ປະຈຸບັນ GlusterFS ຖືກຮັກສາໄວ້ໂດຍ Red Hat Inc, ເຊິ່ງເປັນບໍລິສັດແຫຼ່ງເປີດທີ່ມີມູນຄ່າຫຼາຍຕື້ໂດລາ, ເຊິ່ງເປັນສ່ວນ ໜຶ່ງ ຂອງ Red Hat Storage.
  • <

  • ດິນຈີ່ - ອິດແມ່ນພື້ນຖານບັນດາໄດເລກະທໍລີທີ່ມີຄວາມ ໝາຍ ທີ່ຈະແບ່ງປັນໃນບັນດາຫ້ອງເກັບມ້ຽນທີ່ເຊື່ອຖືໄດ້.
  • ສະລອຍນ້ ຳ ເກັບຂໍ້ມູນທີ່ໄວ້ໃຈໄດ້ - ແມ່ນການເກັບມ້ຽນເອກະສານ/ລາຍຊື່ທີ່ແບ່ງປັນເຫຼົ່ານີ້, ເຊິ່ງອີງໃສ່ໂປໂຕຄອນທີ່ຖືກອອກແບບ.
  • Block Storage - ພວກມັນແມ່ນອຸປະກອນຕ່າງໆທີ່ຂໍ້ມູນ ກຳ ລັງຖືກຍ້າຍຜ່ານລະບົບຕ່າງໆໃນຮູບແບບຂອງທ່ອນໄມ້.
  • Cluster - ໃນ Red Hat Storage, ທັງກຸ່ມແລະສະລອຍນ້ ຳ ທີ່ໄວ້ວາງໃຈໄດ້ສົ່ງຄວາມ ໝາຍ ດຽວກັນຂອງການຮ່ວມມືຂອງບັນດາ server ທີ່ເກັບຮັກສາໂດຍອີງໃສ່ໂປໂຕຄອນທີ່ ກຳ ນົດໄວ້.
  • ລະບົບແຟ້ມເອກະສານແຈກຢາຍ - ລະບົບແຟ້ມເອກະສານເຊິ່ງຂໍ້ມູນຈະຖືກເຜີຍແຜ່ຜ່ານຂໍ້ທີ່ແຕກຕ່າງກັນເຊິ່ງຜູ້ໃຊ້ສາມາດເຂົ້າເຖິງເອກະສານໂດຍບໍ່ຮູ້ສະຖານທີ່ຕົວຈິງຂອງເອກະສານ. ຜູ້ໃຊ້ບໍ່ມີປະສົບການໃນການເຂົ້າເຖິງຫ່າງໄກສອກຫຼີກ.
  • FUSE - ມັນແມ່ນໂມດູນ kernel ທີ່ສາມາດໂຫລດໄດ້ເຊິ່ງຊ່ວຍໃຫ້ຜູ້ໃຊ້ສາມາດສ້າງລະບົບແຟ້ມຢູ່ເທິງ kernel ໂດຍບໍ່ກ່ຽວຂ້ອງກັບລະຫັດແກ່ນໃດໆ.
  • glusterd - glusterd ແມ່ນແຜນວາດການຄຸ້ມຄອງ GlusterFS ເຊິ່ງເປັນກະດູກສັນຫຼັງຂອງລະບົບແຟ້ມທີ່ຈະໃຊ້ງານໄດ້ຕະຫຼອດເວລາທຸກຄັ້ງທີ່ເຄື່ອງແມ່ຂ່າຍຢູ່ໃນສະຖານະການເຄື່ອນໄຫວ.
  • POSIX - ການໂຕ້ຕອບລະບົບປະຕິບັດການແບບ Portable (POSIX) ແມ່ນຄອບຄົວຂອງມາດຕະຖານທີ່ ກຳ ນົດໂດຍ IEEE ເປັນການແກ້ໄຂຄວາມເຂົ້າກັນໄດ້ລະຫວ່າງ Unix-variants ໃນຮູບແບບຂອງໂປແກຼມໂຕ້ຕອບໂປແກຼມໂປແກຼມໂປແກຼມໂຕ້ຕອບ (API).
  • RAID - RedRant Array of Disks Independent (RAID) ແມ່ນເຕັກໂນໂລຢີທີ່ຊ່ວຍໃຫ້ຄວາມ ໜ້າ ເຊື່ອຖືໃນການເກັບຮັກສາເພີ່ມຂື້ນຜ່ານການຊ້ ຳ.
  • Subvolume - ອິດຫຼັງຈາກຖືກແປໂດຍຜູ້ແປຢ່າງນ້ອຍຄົນ ໜຶ່ງ
  • ນັກແປ - ນັກແປແມ່ນຕົວເລກຂອງລະຫັດທີ່ປະຕິບັດການກະ ທຳ ທີ່ເປັນການລິເລີ່ມໂດຍຜູ້ໃຊ້ຕັ້ງແຕ່ຈຸດສູງສຸດ. ມັນເຊື່ອມຕໍ່ ໜຶ່ງ ຫຼືຫຼາຍປະລິມານຍ່ອຍ.
  • ປະລິມານ - ບໍລິມາດ ໜຶ່ງ ແມ່ນການລວບລວມອິດ. ການປະຕິບັດງານທັງ ໝົດ ແມ່ນອີງຕາມປະລິມານທີ່ແຕກຕ່າງກັນຂອງບໍລິມາດທີ່ສ້າງໂດຍຜູ້ໃຊ້.
  • ການເປັນຕົວແທນຂອງປະລິມານແລະການປະສົມທີ່ແຕກຕ່າງກັນໃນບັນດາປະເພດບໍລິມາດພື້ນຖານເຫລົ່ານີ້ແມ່ນໄດ້ຖືກອະນຸຍາດເຊັ່ນດຽວກັນກັບຂ້າງລຸ່ມນີ້.

    ການເປັນຕົວແທນຂອງປະລິມານທີ່ແຈກຢາຍ - ຈຳ ໜ່າຍ.

    ການຕິດຕັ້ງ GlusterFS ໃນ RHEL/CentOS ແລະ Fedora

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

    <

  • ຕິດຕັ້ງ CentOS 6.5 (ຫຼື OS ອື່ນໆ) ໃສ່ສອງຂໍ້.
  • ຕັ້ງຊື່ hostnames ທີ່ມີຊື່ວ່າ "server1" ແລະ "server2".
  • ການເຊື່ອມຕໍ່ເຄືອຂ່າຍທີ່ເຮັດວຽກ.
  • ແຜ່ນເກັບຂໍ້ມູນໃສ່ທັງສອງຂໍ້ທີ່ໃສ່ຊື່ວ່າ "/ data/brick".
  • ກ່ອນທີ່ຈະຕິດຕັ້ງ GlusterFS ໃນທັງສອງເຊີບເວີ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງເປີດໃຊ້ EPEL ແລະ GlusterFS repositories ເພື່ອຕອບສະ ໜອງ ຄວາມເພິ່ງພາອາໃສຈາກພາຍນອກ. ໃຊ້ລິ້ງຕໍ່ໄປນີ້ເພື່ອຕິດຕັ້ງແລະເປີດໃຊ້ຫໍໄຕ epel ພາຍໃຕ້ທັງສອງລະບົບ.

    <

  • ວິທີການເປີດໃຊ້ງານກັ່ນຕອງ EPEL ໃນ RHEL/CentOS
  • ຕໍ່ໄປ, ພວກເຮົາຕ້ອງການເປີດໃຊ້ GlusterFs ບ່ອນເກັບຂໍ້ມູນໃສ່ທັງສອງເຊີບເວີ.

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

    ຕິດຕັ້ງໂປແກຼມໃນທັງສອງເຊີບເວີ.

    # yum install glusterfs-server

    ເລີ່ມ daemon ການຄຸ້ມຄອງ GlusterFS.

    # service glusterd start

    ຕອນນີ້ກວດເບິ່ງສະຖານະພາບຂອງ 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/...

    ເປີດ '/ etc/sysconfig/selinux' ແລະປ່ຽນ SELinux ໃຫ້ເປັນຮູບແບບ“ ອະນຸຍາດ” ຫຼື“ ພິການ” ໃນທັງສອງເຊີບເວີ. ບັນທຶກແລະປິດແຟ້ມ.

    # 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 ໃນທັງສອງຂໍ້ຫຼືຕ້ອງການອະນຸຍາດໃຫ້ເຂົ້າໃຊ້ node ອື່ນຜ່ານ iptables.

    # iptables -F

    ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ກ່ຽວກັບ 'Server1'.

    gluster peer probe server2

    ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ກ່ຽວກັບ 'Server2'.

    gluster peer probe server1

    ໝາຍ ເຫດ: ເມື່ອສະລອຍນ້ ຳ ນີ້ເຊື່ອມຕໍ່ແລ້ວ, ມີແຕ່ຜູ້ໃຊ້ທີ່ເຊື່ອຖືໄດ້ເທົ່ານັ້ນທີ່ອາດຈະກວດສອບເຊີບເວີ ໃໝ່ ເຂົ້າໃນສະລອຍນ້ ຳ ນີ້.

    ຢູ່ທັງ server1 ແລະ server2.

    # mkdir /data/brick/gv0

    ສ້າງປະລິມານກ່ຽວກັບເຄື່ອງແມ່ຂ່າຍດຽວແລະເລີ່ມຕົ້ນປະລິມານ. ນີ້, ຂ້ອຍໄດ້ເອົາ 'Server1'.

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

    ຕໍ່ໄປ, ຢືນຢັນສະຖານະພາບຂອງປະລິມານ.

    # gluster volume info

    ໝາຍ ເຫດ: ຖ້າປະລິມານກໍລະນີບໍ່ໄດ້ເລີ່ມຕົ້ນ, ຂໍ້ຄວາມຜິດພາດຈະຖືກເຂົ້າສູ່ລະບົບພາຍໃຕ້ '/ var/log/glusterfs' ໃນ ໜຶ່ງ ຫລືທັງ server.

    ຕິດຕັ້ງລະດັບສຽງໃສ່ບ່ອນທີ່ຢູ່ພາຍໃຕ້ '/ mnt'.

    # mount -t glusterfs server1:/gv0 /mnt

    ຕອນນີ້ທ່ານສາມາດສ້າງ, ແກ້ໄຂເອກະສານຢູ່ຈຸດ mount ເປັນມຸມມອງດຽວຂອງລະບົບແຟ້ມ.

    ຄຸນລັກສະນະຂອງ GlusterFS

    <

  • ການຮັກສາດ້ວຍຕົນເອງ - ຖ້າມີອິດໃນປະລິມານທີ່ຖືກຄັດລອກລົງແລະຜູ້ໃຊ້ດັດແປງເອກະສານພາຍໃນດິນຈີ່ອື່ນ, daemon ການຮັກສາຕົນເອງໂດຍອັດຕະໂນມັດຈະມີຜົນບັງຄັບໃຊ້ທັນທີທີ່ດິນຈີ່ຢູ່ໃນຄັ້ງຕໍ່ໄປແລະການໂອນເງິນ ເກີດຂື້ນໃນໄລຍະເວລາທີ່ຫຼຸດລົງແມ່ນຖືກຊິ້ງຂໍ້ມູນຕາມຄວາມ ເໝາະ ສົມ.
  • ຄວາມສົມດຸນ - ຖ້າພວກເຮົາເພີ່ມດິນຈີ່ ໃໝ່ ໃສ່ປະລິມານທີ່ມີຢູ່ແລ້ວ, ເຊິ່ງບ່ອນທີ່ມີຂໍ້ມູນເປັນ ຈຳ ນວນຫຼວງຫຼາຍກ່ອນ ໜ້າ ນີ້, ພວກເຮົາສາມາດ ດຳ ເນີນການທົດແທນເພື່ອແຈກຢາຍຂໍ້ມູນໃນບັນດາອິດທັງ ໝົດ ລວມທັງດິນຈີ່ທີ່ເພີ່ມ ໃໝ່.
  • ການ ຈຳ ລອງແບບ Geo - ມັນສະ ໜອງ ຂໍ້ມູນ ສຳ ຮອງ ສຳ ລັບການກູ້ຄືນໄພພິບັດ. ຕໍ່ໄປນີ້ແມ່ນແນວຄວາມຄິດຂອງປະລິມານຕົ້ນສະບັບແລະທາດ. ສະນັ້ນຖ້າຫາກວ່າແມ່ບົດຫຼຸດລົງຂໍ້ມູນທັງ ໝົດ ສາມາດເຂົ້າເບິ່ງຜ່ານລອງໄດ້. ຄຸນນະສົມບັດນີ້ຖືກໃຊ້ເພື່ອຊິ້ງຂໍ້ມູນລະຫວ່າງເຄື່ອງແມ່ຂ່າຍທີ່ແຍກທາງພູມສາດ. ການເລີ່ມຕົ້ນການສົນທະນາແບບ ຈຳ ລອງທາງພູມສາດ - ຮຽກຮ້ອງໃຫ້ມີ ຄຳ ສັ່ງ gluster ຫຼາຍຊຸດ.
  • ນີ້, ແມ່ນການຈັບເອົາ ໜ້າ ຈໍຕໍ່ໄປນີ້ເຊິ່ງສະແດງໃຫ້ເຫັນໂມດູນການ ຈຳ ລອງແບບ Geo-replication.

    ລິ້ງອ້າງອີງ

    ໜ້າ ທຳ ອິດຂອງ GlusterFS

    ນັ້ນແມ່ນ ສຳ ລັບດຽວນີ້!. ປັບປຸງ ໃໝ່ ສຳ ລັບລາຍລະອຽດກ່ຽວກັບຄຸນລັກສະນະຕ່າງໆເຊັ່ນ: Self-heal ແລະ Re-balance, Geo-replication, ແລະອື່ນໆໃນບົດຂຽນທີ່ຈະມາເຖິງຂອງຂ້ອຍ.