Hướng dẫn cấu hình Link Aggregation LACP trên Proxmox
Trong bài viết trước, chúng ta đã cùng nhau hoàn thành việc cài đặt hệ điều hành ảo hóa Proxmox. Và ngay sau khi có một hệ thống chạy ổn định, việc tiếp theo mà bất kỳ một IT Network nào cũng cần phải thực hiện chính là tối ưu hóa hạ tầng mạng.
Vì vậy, trong bài viết này, mình sẽ hướng dẫn các bạn cách cấu hình Link Aggregation sử dụng giao thức LACP (Link Aggregation Control Protocol) trên phiên bản Proxmox 9.1.1 mới nhất hiện nay.
Tại sao LACP lại quan trọng đối với một Server chuyên dụng? Có 2 lý do cốt lõi:
- Thứ nhất là Khả năng dự phòng (Redundancy): Nếu một sợi cáp mạng hoặc một port trên switch bị lỗi, server vẫn duy trì kết nối bình thường qua các cổng còn lại, đảm bảo dịch vụ không bị gián đoạn.
- Thứ hai là Gộp băng thông (Bandwidth Aggregation): LACP cho phép chúng ta gom nhiều cổng 1Gbps hoặc 10Gbps lại thành một ống dẫn logic lớn hơn, giúp xử lý các tác vụ truyền tải dữ liệu nặng giữa các máy ảo và lưu trữ một cách mượt mà nhất.
Lựa chọn kiểu Bonding tối ưu cho Proxmox
Trước khi bắt tay vào cấu hình, mình muốn làm rõ một chút về sự khác biệt giữa Linux Bond và OVS Bond để các bạn dễ lựa chọn.
Trên Proxmox, để cấu hình Link Aggregation thì chúng ta sẽ có 2 cách, sử dụng Linux Bond hoặc OVS Bond.
- Về cơ bản, Linux Bond là tính năng 'chính chủ', có sẵn ngay trong nhân của hệ điều hành Linux. Ưu điểm lớn nhất của nó là cực kỳ nhẹ, độ ổn định rất cao và cấu hình cực kỳ đơn giản vì nó không cần cài đặt thêm bất kỳ module bên thứ ba nào cả. Với những hệ thống ảo hóa thông thường, chỉ cần gộp băng thông và dự phòng lỗi thì Linux Bond là lựa chọn số một.
- Ngược lại, OVS Bond hay Open vSwitch là một bộ chuyển mạch ảo phức tạp hơn, nó là 1 module cài thêm trên Linux, được phát triển trong 1 dự án mã nguồn mở. Nó thiên về các hệ thống mạng lớn, cần quản lý hàng trăm VLAN hoặc các hạ tầng mạng ảo hóa SDN chuyên sâu.
Trong khuôn khổ bài viết này, mình sẽ hướng dẫn các bạn cấu hình theo cách Linux Bond. Đây là phương án tối ưu, an toàn và phổ biến nhất cho hầu hết anh em triển khai Proxmox hiện nay. Còn nếu bạn nào đang vận hành những hệ thống Data Center đặc thù và thực sự cần đến Open vSwitch, mình sẽ hẹn các bạn ở một video chuyên sâu khác nhé.
Bây giờ, chúng ta sẽ bắt đầu thao tác trực tiếp trên giao diện của Proxmox 9.1.1.
Cấu hình LACP trên Proxmox sử dụng Linux Bond
Mình sẽ sử dụng 1 mô hình đơn giản gồm 1 Switch Cisco và 1 Server cài Proxmox VE. Mình sẽ sử dụng 2 link để kết nối từ cổng g1/0/1 và g1/0/2 đến 2 cổng mạng của Server là nic2 và nic3 như mô hình bên dưới.

Trong giao diện Proxmox, các bạn chọn Server Proxmox ở cột bên trái, mình đang đặt tên là proxmox1. Chọn System > Network. Nhấn Create và chọn Linux Bond.

Thiết lập các thông số cho Link Aggregation:
- Name: Proxmox quy định chúng ta phải đặt theo cú pháp bondN (N=1-9999) để nhận diện Interface, mình sẽ để mặc định là bond0.
- Autostart: tích chọn để interface tự động UP.
- Slaves: là ô để các bạn nhập Member vào, cú pháp sẽ là tên cổng viết cách bằng dấu cách. Trong mô hình của mình thì mình đang dùng 2 cổng 2 và 3, trên Proxmox nhận là nic2 và nic3. Các bạn cần nhập tên chính xác như trong cột Name.
- Mode: chọn LACP (802.3ad).
- Hash Policy: là hàm băm để chia traffic trên các member trong LACP. Hàm hash này thì không bắt buộc 2 đầu phải giống nhau để LACP có thể hoạt động, tuy nhiên các bạn cấu hình sao cho hàm hash giống nhau để traffic được chia tải đều nhất. Switch của mình đang dùng là dòng Cisco 2960x, chỉ hỗ trợ cao nhất là theo IP nguồn và IP đích, chứ không hỗ trợ theo port dịch vụ layer 4, do vậy mình sẽ chọn hàm hash là layer2 + 3. Nếu switch có hỗ trợ theo source và destination port thì các bạn nên chọn hash là layer3 + 4 để gói tin được chia đều hơn trên các link.
- Nhấn Create để tạo.

Sau khi tạo xong Bond Interface, chúng ta cần add các cổng này vào bridge tương ứng. Trong mô hình này thì mình không chia VLAN, nên mình sẽ sử dụng bridge mặc định là vmbr0 cho tất cả các cổng, nó tương đương với việc switch các bạn để mặc định, không chia VLAN, tất cả các cổng thuộc VLAN 1.
Kích đúp vào bridge vmbr0 này để edit. Trong phần Bridge Ports, các bạn add thêm bond0 vào bằng cách gõ chính xác tên bond0 vào, các cổng vẫn cách nhau bằng dấu cách. Nhấn OK.

Sau khi cấu hình xong thì các bạn nhấn Apply Configuration để áp dụng cấu hình, chọn Yes.

Cấu hình LACP trên switch Cisco
Tiếp theo mình sẽ cấu hình LACP trên switch Cisco. Mình đang sử dụng switch Cisco dòng Catalyst, với switch hãng khác thì các bạn chỉ cần cấu hình LACP mode Active, và hàm hash tương đương với Proxmox là được.
|
Switch#configure terminal |
Kiểm tra
Trên Switch Cisco, các bạn có thể sử dụng lệnh show etherchannel summary để kiểm tra. Cổng Po1 có mask là SU và 2 member Gi1/0/1, Gi1/0/2 có mark P là OK.
Switch#show etherchannel summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 1 Po1(SU) LACP Gi1/0/1(P) Gi1/0/2(P) Switch#
Các bạn cũng có thể sử dụng lệnh show interface po1 để kiểm tra băng thông. Băng thông của Po1 lúc này sẽ là 2Gbps, bằng tổng 2 interfaces cộng lại.
Switch#show interfaces po1 Port-channel1 is up, line protocol is up (connected) Hardware is EtherChannel, address is 4006.d5b8.d702 (bia 4006.d5b8.d702) MTU 1500 bytes, BW 2000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 1000Mb/s, link type is auto, media type is unknown input flow-control is off, output flow-control is unsupported Members in this channel: Gi1/0/1 Gi1/0/2 ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output 00:00:01, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 9000 bits/sec, 3 packets/sec 5 minute output rate 10000 bits/sec, 4 packets/sec 66471 packets input, 26308854 bytes, 0 no buffer Received 1568 broadcasts (1567 multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 1567 multicast, 0 pause input 0 input packets with dribble condition detected 102473 packets output, 26163007 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 0 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out Switch#
Trên Proxmox, để kiểm tra thì chúng ta sẽ vào menu Shell. Có 2 lệnh cơ bản mà chúng ta thường sử dụng để check.
Để kiểm tra băng thông của bond0, thì các bạn sẽ dùng lệnh ethtool bond0. Dòng speed hiển thị 2000Mbps cho 2 cổng 1G là OK.

Để xem nhiều thông số của LACP hơn thì chúng ta sẽ sử dụng lệnh cat /proc/net/bonding/bond0.
Lệnh này sẽ cho chúng ta thấy rất nhiều thông số đã cấu hình như: Mode, hàm Hash đang dùng, MII interval, Priority, thông tin các cổng member...
root@proxmox1:~# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v6.17.2-1-pve Bonding Mode: IEEE 802.3ad Dynamic link aggregation Transmit Hash Policy: layer2+3 (2) MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 0 Down Delay (ms): 0 Peer Notification Delay (ms): 0 802.3ad info LACP active: on LACP rate: slow Min links: 0 Aggregator selection policy (ad_select): stable System priority: 65535 System MAC address: 44:a8:42:39:eb:a3 Active Aggregator Info: Aggregator ID: 1 Number of ports: 2 Actor Key: 9 Partner Key: 1 Partner Mac Address: 40:06:d5:b8:d7:00 Slave Interface: nic2 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 44:a8:42:39:eb:a3 Slave queue ID: 0 Aggregator ID: 1 Actor Churn State: monitoring Partner Churn State: monitoring Actor Churned Count: 1 Partner Churned Count: 2 details actor lacp pdu: system priority: 65535 system mac address: 44:a8:42:39:eb:a3 port key: 9 port priority: 255 port number: 1 port state: 61 details partner lacp pdu: system priority: 32768 system mac address: 40:06:d5:b8:d7:00 oper key: 1 port priority: 32768 port number: 258 port state: 61 Slave Interface: nic3 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 44:a8:42:39:eb:a4 Slave queue ID: 0 Aggregator ID: 1 Actor Churn State: monitoring Partner Churn State: monitoring Actor Churned Count: 2 Partner Churned Count: 2 details actor lacp pdu: system priority: 65535 system mac address: 44:a8:42:39:eb:a3 port key: 9 port priority: 255 port number: 2 port state: 61 details partner lacp pdu: system priority: 32768 system mac address: 40:06:d5:b8:d7:00 oper key: 1 port priority: 32768 port number: 259 port state: 61 root@proxmox1:~#
Các bạn có thể thấy, Link Aggregation không đơn thuần chỉ là câu chuyện gộp băng thông, mà quan trọng hơn, nó là nền tảng của sự Dự phòng. Trong các hạ tầng mạng tiêu chuẩn hiện nay, chúng ta thường triển khai một cặp Switch chạy Stack để dự phòng về mặt thiết bị. Khi kết hợp với LACP chạy trên hai Card mạng vật lý riêng biệt của Server, chúng ta sẽ tạo ra một hệ thống dự phòng đa lớp: từ phần cứng Switch, đường truyền cáp, cho đến Card mạng trên máy chủ.

Chi phí để đầu tư thêm một sợi cáp hay một port mạng là cực kỳ thấp, nhưng lợi ích về sự ổn định và an toàn dữ liệu mà nó mang lại thì thực sự vô giá. Đừng để hệ thống của bạn gặp rủi ro chỉ vì thiếu một kết nối dự phòng.
Kết luận
OK, vậy là chúng ta đã hoàn thành các bước cấu hình LACP trên Proxmox 9.1.1. Hy vọng qua video này, các bạn đã nắm vững cách gộp băng thông và tăng cường tính dự phòng cho hệ thống ảo hóa của mình.
Nếu các bạn đang tìm kiếm các thiết bị phần cứng chuẩn chỉ để triển khai các hệ thống này, hoặc cần sự hỗ trợ chuyên sâu hơn, hãy liên hệ ngay với CNTTShop.
CNTTShop không chỉ là nhà phân phối thiết bị mạng, máy chủ uy tín mà còn là đơn vị chuyên tư vấn, thiết kế các giải pháp hạ tầng mạng toàn diện, hệ thống ảo hóa phức tạp và đặc biệt là các hạ tầng chuyên dụng cho AI đang rất thịnh hành hiện nay. Với đội ngũ kỹ thuật giàu kinh nghiệm, CNTTShop sẽ giúp các bạn tối ưu hóa hiệu suất và chi phí cho mọi dự án công nghệ.








.png)























Bình luận bài viết!