ວິທີການສ້າງ NIC Teaming ຫຼືພັນທະບັດໃນ CentOS 8/RHEL 8


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

ກ່ອນທີ່ພວກເຮົາຈະມ້ວນເສອແຂນຂອງພວກເຮົາ, ມັນເປັນສິ່ງ ສຳ ຄັນທີ່ຈະຮູ້ຈັກກັບ ຄຳ ສັບດັ່ງຕໍ່ໄປນີ້:

  • Teamd - ນີ້ແມ່ນ daemon teaming nic ທີ່ໃຊ້ຫ້ອງສະຫມຸດ libteam ເພື່ອສື່ສານກັບອຸປະກອນທີມຕ່າງໆຜ່ານ Linux Linux.
  • Teamdctl– ນີ້ແມ່ນຜົນປະໂຫຍດທີ່ຊ່ວຍໃຫ້ຜູ້ໃຊ້ຄວບຄຸມຕົວຢ່າງຂອງທີມ. ທ່ານສາມາດກວດສອບແລະປ່ຽນສະຖານະຂອງທ່າເຮືອ, ພ້ອມທັງປ່ຽນລະຫວ່າງ ສຳ ຮອງແລະລັດທີ່ເຄື່ອນໄຫວ.
  • ນັກແລ່ນ
  • - ເຫຼົ່ານີ້ແມ່ນຫົວ ໜ່ວຍ ຂອງລະຫັດທີ່ຂຽນໄວ້ໃນ JSON ແລະຖືກ ນຳ ໃຊ້ເຂົ້າໃນການຈັດຕັ້ງປະຕິບັດແນວຄວາມຄິດຂອງທີມ NIC ຕ່າງໆ. ຕົວຢ່າງຂອງຮູບແບບນັກແລ່ນປະກອບມີໂຣບິນອ້ອມ, ການດຸ່ນດ່ຽງການໂຫຼດ, ການອອກອາກາດ, ແລະການ ສຳ ຮອງທີ່ເຄື່ອນໄຫວ.

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

ໃນ ໜ້າ ນີ້

  • ຕິດຕັ້ງ Daemon teamd ໃນ CentOS
  • ຕັ້ງຄ່າ NIC Teaming ໃນ CentOS
  • ການທົດສອບເຄືອຂ່າຍການທົດສອບການຫຼອກລວງ
  • ລຶບ Network Teaming Interface

ຖ້າບໍ່ມີການໂຄສະນາຕໍ່ໄປ, ໃຫ້ເລີ່ມຕົ້ນ.

Teamd ແມ່ນ daemon ທີ່ຮັບຜິດຊອບໃນການສ້າງທີມເຄືອຂ່າຍເຊິ່ງຈະເຮັດ ໜ້າ ທີ່ແບບໂຕ້ຕອບຢ່າງມີເຫດຜົນໃນຊ່ວງເວລາແລ່ນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ມັນມາຕິດຕັ້ງກັບ CentOS/RHEL 8. ແຕ່ຖ້າມີເຫດຜົນໃດກໍ່ຕາມ, ມັນບໍ່ໄດ້ຖືກຕິດຕັ້ງ, ໃຫ້ປະຕິບັດ ຄຳ ສັ່ງ dnf ຕໍ່ໄປນີ້ເພື່ອຕິດຕັ້ງມັນ.

$ sudo dnf install teamd

ເມື່ອໃດທີ່ຖືກຕິດຕັ້ງກວດສອບວ່າ teamd ຖືກຕິດຕັ້ງໂດຍການແລ່ນ ຄຳ ສັ່ງ rpm:

$ rpm -qi teamd

ເພື່ອ ກຳ ຫນົດຄ່າທີມ NIC ພວກເຮົາຈະໃຊ້ເຄື່ອງມື nmcli ທີ່ມີປະໂຫຍດເຊິ່ງສາມາດໃຊ້ ສຳ ລັບການຄຸ້ມຄອງບໍລິການຂອງ NetworkManager. ໃນລະບົບຂອງຂ້ອຍ, ຂ້ອຍມີບັດ NIC 2 ບັດທີ່ຂ້ອຍ ກຳ ລັງຈະຜູກພັນຫລືປະສົມກັນເພື່ອສ້າງທີມງານໂຕ້ຕອບທີ່ມີເຫດຜົນ: enp0s3 ແລະ enp0s8 . ນີ້ອາດຈະແຕກຕ່າງກັນໃນກໍລະນີຂອງທ່ານ.

ເພື່ອຢືນຢັນການໂຕ້ຕອບເຄືອຂ່າຍທີ່ໃຊ້ວຽກ:

$ nmcli device status

ຜົນໄດ້ຮັບຢັ້ງຢືນການມີຢູ່ຂອງ 2 ການເຊື່ອມຕໍ່ເຄືອຂ່າຍທີ່ມີການເຄື່ອນໄຫວ. ເພື່ອລວບລວມຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບອິນເຕີເຟດເຊັ່ນ UUID, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງ:

$ nmcli connection show

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

ການນໍາໃຊ້ UUID ຂອງພວກເຂົາປະຕິບັດຄໍາສັ່ງຂ້າງລຸ່ມນີ້ເພື່ອລຶບລ້າງການເຊື່ອມຕໍ່:

$ nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29
$ nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

ເວລານີ້ເມື່ອທ່ານກວດເບິ່ງອິນເຕີເຟດ, ທ່ານຈະສັງເກດເຫັນວ່າມັນຖືກຕັດຂາດແລະບໍ່ມີການເຊື່ອມຕໍ່ກັບເຊີບເວີ. ໂດຍພື້ນຖານແລ້ວ, ເຄື່ອງແມ່ຂ່າຍຂອງທ່ານຈະຖືກແຍກອອກຈາກເຄືອຂ່າຍທີ່ເຫລືອ.

$ nmcli device status

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

$ nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

ເພື່ອເບິ່ງຄຸນລັກສະນະທີ່ຖືກມອບ ໝາຍ ໃຫ້ກັບອິນເຕີເຟດ team0 ດຳ ເນີນການ ຄຳ ສັ່ງ:

$ nmcli connection show team0

ເລີດ! ໃນຈຸດນີ້, ພວກເຮົາມີພຽງແຕ່ໂຕ້ຕອບດຽວເທົ່ານັ້ນ, ເຊິ່ງແມ່ນການໂຕ້ຕອບ team0 ທີ່ໄດ້ສະແດງໄວ້.

$ nmcli connection show

ຕໍ່ໄປ, ກຳ ນົດທີ່ຢູ່ IP ສຳ ລັບໂຕ້ຕອບ team0 ດັ່ງທີ່ສະແດງໂດຍໃຊ້ ຄຳ ສັ່ງ nmcli. ໃຫ້ແນ່ໃຈວ່າໄດ້ ກຳ ຫນົດ IP ໃຫ້ເປັນໄປຕາມລະບົບ subnet & IP address ຂອງເຄືອຂ່າຍຂອງທ່ານ.

$ nmcli con mod team0 ipv4.addresses 192.168.2.100/24
$ nmcli con mod team0 ipv4.gateway 192.168.2.1
$ nmcli con mod team0 ipv4.dns 8.8.8.8
$ nmcli con mod team0 ipv4.method manual
$ nmcli con mod team0 connection.autoconnect yes

ຫລັງຈາກນັ້ນ, ສ້າງລິ້ງ ສຳ ລອງແລະເຊື່ອມໂຍງກັບພວກຂ້າທາດໃນການເຊື່ອມຕໍ່ທີມ:

$ nmcli con add type team-slave con-name team0-slave0 ifname enp0s3 master team0
$ nmcli con add type team-slave con-name team0-slave1 ifname enp0s8 master team0

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

$ nmcli connection show

ຕໍ່ໄປ, ຢຸດການເຄື່ອນໄຫວແລະກະຕຸ້ນການເຊື່ອມຕໍ່ຂອງທີມ. ນີ້ກະຕຸ້ນການເຊື່ອມຕໍ່ລະຫວ່າງການເຊື່ອມໂຍງຂອງທາດແລະການເຊື່ອມຕໍ່ຂອງທີມ.

$ nmcli connection down team0 && nmcli connection up team0

ຕໍ່ໄປ, ກວດສອບສະຖານະຂອງທີມງານການເຊື່ອມຕໍ່ເຊື່ອມຕໍ່ດັ່ງທີ່ສະແດງໄວ້.

$ ip addr show dev team0

ພວກເຮົາສາມາດເຫັນໄດ້ວ່າການເຊື່ອມຕໍ່ແມ່ນຂື້ນກັບທີ່ຢູ່ IP ທີ່ຖືກຕ້ອງທີ່ພວກເຮົາໄດ້ຕັ້ງຄ່າໄວ້ກ່ອນ ໜ້າ ນີ້.

ເພື່ອດຶງລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບການເຊື່ອມຕໍ່ຂອງທີມ, ດໍາເນີນການຄໍາສັ່ງ:

$ sudo teamdctl team0 state

ຈາກຜົນໄດ້ຮັບ, ພວກເຮົາສາມາດເຫັນໄດ້ວ່າການເຊື່ອມຕໍ່ທັງສອງ ( enp0s3 ແລະ enp0s8 ) ແມ່ນເພີ່ມຂື້ນແລະວ່າການເຊື່ອມຕໍ່ທີ່ໃຊ້ງານແມ່ນ enp0s8 .

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

$ nmcli device disconnect enp0s3
$ sudo teamdctl team0 state

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

ຖ້າທ່ານຕ້ອງການລຶບການເຊື່ອມຕໍ່/ການເຊື່ອມຕໍ່ເປັນທີມແລະກັບໄປໃຊ້ການຕັ້ງຄ່າເຄືອຂ່າຍທີ່ບໍ່ເປັນປະໂຫຍດ, ທຳ ອິດໃຫ້ການເຊື່ອມຕໍ່ເປັນທີມ:

$ nmcli connection down team0

ຕໍ່ໄປ, ລົບລ້າງຂ້າທາດ.

$ nmcli connection delete team0-slave0 team0-slave1

ສຸດທ້າຍ, ລຶບອິນເຕີເຟດທີມ.

$ nmcli connection delete team0

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

$ sudo ifconfig enp0s3 up
$ sudo ifconfig enp0s8 up
$ sudo systemctl restart NetworkManager

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