Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

168

NIC teaming là tập hợp hoặc liên kết của 2 hoặc nhiều đường mạng thành một đường logic duy nhất để cung cấp tính dự phòng và tính sẵn sàng cao. Trong trường hợp một đường mạng bị hỏng, một trong các đường mạng dự phòng sẽ tự động khởi động, đảm bảo kết nối đến máy chủ không bị gián đoạn.

Công nghệ Teaming :

Trước khi thực hiện, việc quan trọng là bạn cần phải làm quen với các thuật ngữ sau :

Teamd – đây là trình nền của nhóm nic, sử dụng thư viện libteam, để giao tiếp với các thiết bị của nhóm thông qua nhân Linux.

Teamdctl – Đây là một tiện ích cho phép người dùng kiểm soát Teamd. Bạn có thể kiểm tra và thay đổi trạng thái port, cũng như chuyển đổi giữa trạng thái dự phòng và trạng thái hoạt động.

Runner –  đây là các đơn vị mã được viết bằng JSON và được sử dụng để triển khai các khái niệm NIC Teaming khác nhau. Ví dụ : các chế độ chạy gồm có Round robbin, load balancing, broadcast, và active backup.

Trong ví dụ này, chúng ta sẽ cấu hình Nic teaming bằng chế độ active-backup. Với chế độ active-backup, thì một đường mạng sẽ hoạt động, trong khi những đường còn lại sẽ ở chế độ chờ, và được dành riêng để làm đường mạng dự phòng, trong trường hợp đường mạng đang hoạt động bị hỏng.

Bước 1 : cài đặt trình nền Teamd trên CentOS :

Teamd là trình nền chịu trách nhiệm tạo một nhóm mạng hoạt động như một kết nối luận lý trong suốt thời gian hoạt động. Mặc định, nó được cài đặt sẵn trong CentOS / RHEL 8. Nhưng nếu vì bất kỳ lý do gì, mà nó không được cài đặt, hãy thực thi lệnh dnf sau để cài đặt nó.

$ sudo dnf install teamd

Install-Teamd-on-CentOS Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Ta có thể xác nhận lại xem Teamd đã được cài đặt hay chưa bằng lệnh rpm command :

$ rpm -qi teamd

Verify-Teamd-in-CentOS Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Bước 2 : cấu hình Nic Teaming trên CentOS :

Để cấu hình Nic Teaming, chúng ta sẽ sử dụng công cụ nmcli, có thể được sử dụng để quản lý dịch vụ Network Manager. Trong hệ thống của mình, mình có 2 NIC card, và sẽ gộp 2 card này lại với nhau thành 1 card luận lý, 2 card đó là enp0s3 và enp0s8.

Check trạng thái của 2 card :

$ nmcli device status

Check-Active-Network-Interfaces Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Kết quả trả ra xác nhận sự tồn tại của 2 card mạng đang hoạt động. Để thu thập thêm thông tin về các kết nối như UUID, hãy chạy lệnh:

$ nmcli connection show

Check-Active-Network-UUID Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Để tạo một nhóm NIC Teaming, chúng ta sẽ xóa các card mạng hiện có. Tiếp theo, chúng ta tạo các card slave bằng cách sử dụng các card đã xóa, và sau đó lien kết chúng với NIC teaming.

Sử dụng UUID tương ứng của chúng, thực hiện các lệnh bên dưới để xóa các liên kết:

$ nmcli connection delete e3cec54d-e791-4436-8c5f-4a48c134ad29

$ nmcli connection delete dee76b4c-9alb-4f24-a9f0-2c9574747807

Delete-Active-Network-Interfaces Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Vào lúc này khi kiểm tra các interface, bạn sẽ thấy rằng nó đã bị mất kết nối đến server. Lúc này về cơ bản, máy chủ đã được cách ly với phần còn lại của hệ thống mạng.

$ nmcli device status

Check-Network-Interfaces Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Tiếp theo, chúng ta sẽ tạo interface tên team0, chạy chế độ active-backup. Chế độ này sử dụng một interface hoạt động, các interface còn lại để backup, trong trường hợp interface chính bị hỏng.

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

Create-Team-Network-Interface Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Để xem những thuộc tính được gán vào team0 ta chạy dòng lệnh :

$ nmcli connection show team0

Check-Team-Network-Attributes Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Như hình ở trên, ta thấy các interface đã gộp lại thành interface team0.

$ nmcli connection show

Check-Team-Network-Interface Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Tiếp theo, cấu hình địa chỉ IP cho interface team0 bằng lệnh  nmcli.

$ 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

Configure-Team-Network-Interface Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Tạo tiếp link slave và liên kết slave với link team :

$ 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

Configure-Slave-Network-Interface Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Kiểm tra lại trạng thái của link, và bạn sẽ thấy rằng các liên kết phụ hiện đang hoạt động.

$ nmcli connection show

Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Tiếp theo, deadactive và active lại link team này. Việc active này giúp kích hoạt kết nối giữa link slave và link team.

$ nmcli connection down team0 && nmcli connection up team0

Active-Team-Network-Interfaces Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Verify lại trạng thái của kết nối link :

$ ip addr show dev team0

Verify-Team-Network-Status Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Ta có thể thấy rằng link đã đúng địa chỉ IP mà chúng ta đã set trước đó. Để truy xuất chi tiết về link team, ta chạy lệnh :

$ sudo teamdctl team0 state

Check-Team-Network-Info Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Từ kết quả trả về, ta có thể thấy rằng cả 2 link (enp0s3 và enp0s8) đều đang hoạt động và link đang hoạt động là enp0s8.

Bước 3 : Test Network Teaming Redundancy :

Để test mode active-backup, ta sẽ ngắt kết nối hiện đang hoạt động – enp0s3 – và kiểm tra xem link kia có hoạt động hay không.

$ nmcli device disconnect enp0s3

$ sudo teamdctl team0 state

Testing-Network-Teaming Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Khi bạn kiểm tra trạng thái của interface teaming, bạn sẽ thấy trạng thái của card enp0s8 đã khởi động và tạo kết nối đến máy chủ. Như vậy là kết nối của chúng ta đã hoạt động.

Bước 4 : Xóa một Network Teaming Interface :

Nếu bạn muốn xóa một Interface Teaming, và trở về cấu hình mạng mặc định, hãy chạy dòng lệnh sau :

$ nmcli connection down team0

Tiếp theo, xóa link slave :

$ nmcli connection delete team0-slave0 team0-slave1

Cuối cùng, xóa teaming interface :

$ nmcli connection delete team0

Delete-Team-Network-Interfaces Hướng Dẫn Tạo NIC Teaming Trên Hệ Điều Hành CentOS 7

Lúc này, tất cả interface đều bị down và server không thể kết nối. Để active lại network interface, ta chạy lệnh :

$ sudo ifconfig enp0s3 up

$ sudo ifconfig enp0s8 up

$ sudo systemctl restart NetworkManager

Tổng kết :

NIC teaming cung cấp một giải pháp tuyệt vời để dự phòng mạng. Nếu có từ 2 card mạng trở lên, bạn có thể thiết lập NIC teaming để đảm bảo tính sẵn sàng cho hệ thống mạng trong trường hợp 1 card mạng bị hỏng.

 

BÌNH LUẬN

Please enter your comment!
Please enter your name here