Logo CNTTShop.vn

Hotline:

Hà Nội: NTT03, Line 1, Thống Nhất Complex, 82 Nguyễn Tuân, Thanh Xuân, Hà Nội. ● HCM: Số 13, đường 7C, khu phố 4, phường An Phú, TP Thủ Đức, Hồ Chí Minh. ===> Đơn Vị Hàng Đầu Trong Lĩnh Vực Cung Cấp Thiết Bị Security - Network - Wifi - CCTV - Conference - Máy chủ Server - Lưu trữ Storge.
Thiết bị mạng: 0862 158 859 Máy chủ Server: 0866 176 188 - 0968 498 887 Nvidia GPU-AI: 0906 051 599
Danh mục sản phẩm

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.
Mục Lục

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 BondOVS 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.

mô hình kết nối LACP giữa switch và proxmox

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.

nhấn create và chọn linux bond để tạo 1 link aggregation

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à nic2nic3. 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.

thiết lập các thông số cho link aggregation

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.

edit bridge vmbr0 để add thêm bond0 vào

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.

apply configuration để áp dụng cấu hình

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
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#port-channel load-balance src-dst-ip
Switch(config)#interface range g1/0/1-2
Switch(config-if-range)#channel-protocol lacp
Switch(config-if-range)#channel-group 1 mode active
Creating a port-channel interface Port-channel 1
Switch(config-if-range)#end
Switch#

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.

sử dụng lệnh ethtool bond0 để kiểm tra băng thông của bond0

Để 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ủ.

mô hình proxmox kết hợp với stack switch

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ệ.

Lê Văn Tuấn

Là chuyên gia trong lĩnh vực Network System, Security, Server.. Có kinh nghiệm nhiều năm tư vấn giải pháp mạng, triển khai các giải pháp CNTT và phân phối thiết bị mạng Switch, Wifi, Router, Máy chủ Server, Lưu trữ Storage, Tường lửa Firewall, Video Conferencing, Module quang, Load Balancing. Hiện tại tôi là Founder và Managing Director công ty TNHH Công Nghệ Việt Thái Dương (CNTTShop.vn).

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

Có 0 bình luận: