Sự khác biệt giữa các chế độ liên kết kênh trong Linux là gì?


8

Trong Linux, bạn có thể kết hợp nhiều giao diện mạng thành giao diện mạng "ngoại quan" để cung cấp chuyển đổi dự phòng.

Nhưng có một số chế độ, một số chế độ không yêu cầu hỗ trợ chuyển đổi. Tôi không bị hạn chế trong chuyển đổi của mình ở chỗ tôi có thể sử dụng bất kỳ chế độ nào.

Tuy nhiên, khi đọc về các chế độ khác nhau, không rõ ngay ưu và nhược điểm của từng chế độ.

  1. Do một số chế độ cung cấp chuyển đổi dự phòng nhanh hơn?
  2. Điều gì về tác động tải CPU cho mỗi chế độ?
  3. Những chế độ nào có thể kết hợp băng thông thay vì chỉ cung cấp dự phòng?
  4. Có những hạn chế cho điều đó?
  5. Có cân bằng-rr yêu cầu hỗ trợ chuyển đổi?
  6. Độ tin cậy? Kinh nghiệm của bạn chạy dài hạn là gì?

Bạn đã đọc cách liên kết hạt nhân , phải không? Nó sẽ trả lời câu hỏi của bạn.
the-wợi

Vâng, nó cho bạn biết những gì họ làm ở một mức độ. Nhưng nó không cho bạn biết họ hoạt động tốt như thế nào trong môi trường sản xuất. Một số người nói "không cần hỗ trợ chuyển đổi". Trong khi những người khác không có bình luận và để bạn đoán.
Matt

Không chắc chắn tại sao downvote. Đây là một câu hỏi hoàn toàn hợp lệ và về chủ đề phải không?
Matt

Bất cứ ai đã bỏ phiếu xuống và / hoặc bỏ phiếu chặt chẽ, vui lòng cung cấp lý do để tôi ít nhất có thể có cơ hội cải thiện câu hỏi.
Matt

Tôi nghi ngờ việc bỏ phiếu xuống, có thể bởi vì cách đặt câu hỏi của bạn khiến bạn có vẻ như không nghiên cứu hay đọc tài liệu trước khi hỏi. Xem mẹo công cụ bỏ phiếu xuống.
Zoredache

Câu trả lời:


9
  1. Yếu tố lớn nhất trong việc chuyển đổi dự phòng là tốc độ phát hiện lỗi liên kết. Rút cáp khỏi máy chủ và tất cả chúng sẽ hoạt động khá tốt. Để lại một liên kết trực tiếp trên một công tắc chết khác và hầu hết các chế độ (ngoại trừ các chế độ hỗ trợ đèn hiệu / thủ tục) sẽ gửi một phần lưu lượng truy cập của bạn.

  2. Nói chung lưu lượng mạng bị gián đoạn điều khiển. Các thuật toán băm khác nhau sẽ không tạo ra sự khác biệt có ý nghĩa.

  3. Bất kỳ chế độ nào không hoạt động / chờ hoặc phát sóng - tất cả sẽ chia sẻ lưu lượng truy cập ở các mức độ khác nhau. Một số chế độ có thể cân bằng trên cơ sở mỗi gói, một số chế độ khác hoạt động trên cơ sở mỗi luồng. Cái trước sẽ phân bổ tải đồng đều hơn trong khi cái sau hữu ích hơn nhiều (đọc: chức năng / ổn định) trong các mạng thực tế.

  4. Có - có những hạn chế đối với từng chế độ, nhưng chúng tôi cần biết nhiều hơn về ứng dụng của bạn để nói chuyện với họ.

  5. Chỉ LACP / 802.3ad (chế độ 4) rõ ràng yêu cầu hỗ trợ trên công tắc. Điều đó nói rằng, chỉ vì bạn gửi tới công tắc với một mẫu cụ thể không có nghĩa là công tắc sẽ gửi lại cho bạn theo cách tương tự.

  6. Chế độ duy nhất tôi có xu hướng tin tưởng trong sản xuất là 802.3ad, với một công tắc được cấu hình phù hợp, sẽ đảm bảo rằng chỉ các liên kết chính xác sẽ kết thúc trong kênh cũng như cung cấp một số biện pháp đối xứng trong chia sẻ lưu lượng truy cập và phản hồi có thể dự đoán được khi liên kết là xuống. Chế độ này cũng tránh được một số vấn đề phổ biến nhưng khó chịu (ví dụ như lũ lụt đơn phương). Hoạt động / dự phòng cũng khá phổ biến. Các chế độ khác có thể được yêu cầu cho một số trường hợp nhất định, nhưng, IMO, có xu hướng đau đớn hơn.

Các chế độ cân bằng dựa trên luồng / MAC / IP khác hoặc hoạt động / chờ cũng có thể tốt và có thể được yêu cầu khi xử lý các công tắc không được quản lý.


10

Hầu hết các điểm này được mô tả khá kỹ lưỡng trong /usr/src/linux/Documentation/networking/bonding.txttệp tài liệu từ gói nguồn linux của bản phân phối yêu thích của bạn. Tốc độ chuyển đổi dự phòng được điều khiển bởi tham số "miimon" cho hầu hết các chế độ, nhưng không nên đặt quá thấp; giá trị bình thường là dưới một giây dù thế nào.

Dưới đây là những phần tốt nhất, được hoàn thành bởi tôi:

   balance-rr or 0
       Round-robin policy: Transmit packets in sequential
       order from the first available slave through the
       last. This mode provides load balancing and fault
       tolerance. 


   active-backup or 1
       Active-backup policy: Only one slave in the bond is
       active.  A different slave becomes active if, and only
       if, the active slave fails. The bond's MAC address is
       externally visible on only one port (network adapter)
       to avoid confusing the switch.

       This mode provides fault tolerance. The "primary"
       option affects the behavior of this mode.

   balance-xor or 2
       XOR policy: Transmit based on the selected transmit
       hash policy.  The default policy is a simple [(source
       MAC address XOR'd with destination MAC address) modulo
       slave count].  Alternate transmit policies may be
       selected via the xmit_hash_policy option.

       This mode provides load balancing and fault tolerance.

   broadcast or 3
       Broadcast policy: transmits everything on all slave
       interfaces.  This mode provides fault tolerance.

   802.3ad or 4
       IEEE 802.3ad Dynamic link aggregation.  Creates
       aggregation groups that share the same speed and
       duplex settings.  Utilizes all slaves in the active
       aggregator according to the 802.3ad specification.

       Slave selection for outgoing traffic is done according
       to the transmit hash policy, which may be changed from
       the default simple XOR policy via the xmit_hash_policy
       option. Note that not all transmit policies may be 802.3ad
       compliant, particularly inregards to the packet mis-ordering
       requirements of section 43.2.4 of the 802.3ad standard.
       Differing peer implementations will have varying tolerances for
       noncompliance.

       Note: Most switches will require some type of configuration
       to enable 802.3ad mode.

   balance-tlb or 5
       Adaptive transmit load balancing: channel bonding that
       does not require any special switch support.  The
       outgoing traffic is distributed according to the
       current load (computed relative to the speed) on each
       slave.  Incoming traffic is received by the current
       slave.  If the receiving slave fails, another slave
       takes over the MAC address of the failed receiving
       slave.

   balance-alb or 6
       Adaptive load balancing: includes balance-tlb plus
       receive load balancing (rlb) for IPV4 traffic, and
       does not require any special switch support.

       When a link is reconnected or a new slave joins the
       bond the receive traffic is redistributed among all
       active slaves in the bond by initiating ARP Replies
       with the selected MAC address to each of the
       clients. The updelay parameter must
       be set to a value equal or greater than the switch's
       forwarding delay so that the ARP Replies sent to the
       peers will not be blocked by the switch.

cân bằng-rr, sao lưu hoạt động, cân bằng-tlb và cân bằng-alb không cần hỗ trợ chuyển đổi.

cân bằng-rr tăng hiệu năng ở mức giá phân mảnh, hoạt động kém với một số giao thức (CIFS) và với hơn 2 giao diện.

cân bằng-alb và cân bằng-tlb có thể không hoạt động đúng với tất cả các công tắc; thường có một số vấn đề arp (ví dụ một số máy có thể không kết nối được với nhau). Bạn có thể cần phải điều chỉnh các cài đặt khác nhau (miimon, updelay) để có được mạng ổn định.

cân bằng-xor có thể hoặc không yêu cầu cấu hình chuyển đổi. Bạn cần thiết lập một nhóm giao diện ( không phải LACP) trên các thiết bị chuyển mạch HP và Cisco, nhưng dường như không cần thiết trên các thiết bị chuyển mạch D-Link, Netgear và Fujitsu.

802.3ad hoàn toàn yêu cầu một nhóm LACP ở phía chuyển đổi. Đây là tùy chọn được hỗ trợ tốt nhất về tổng thể để tăng hiệu suất.

Lưu ý: bất cứ điều gì bạn làm, một kết nối mạng luôn đi qua một và chỉ một liên kết vật lý. Vì vậy, khi tổng hợp các giao diện GigE, việc truyền tệp từ máy A sang máy B không thể đạt 1 gigabit / s, ngay cả khi mỗi máy có 4 giao diện GigE tổng hợp (bất kể chế độ liên kết nào đang sử dụng).


Lưu ý rằng 802.3ad không bắt buộc sử dụng LACP. LACP chỉ là một giao thức điều khiển cho cấu hình tổng hợp liên kết động , bạn hoàn toàn có thể có một thiết lập LA tĩnh mà không cần LACP.
the-wợi

1
Điều đó đúng, tuy nhiên hầu hết các thiết bị chuyển mạch không cho phép cấu hình tổng hợp liên kết tĩnh và gọi tổng hợp "chế độ LACP".
wazoox

802.3ad định nghĩa cả hai - LA tĩnh và LACP. Nếu một công tắc tuyên bố tuân thủ theo 802.3ad, thì nó cần phải thực hiện cả hai. Mọi mô hình chuyển đổi tôi có trong tay đã triển khai LACP, cũng triển khai LA tĩnh.
the-wợi

1

Các tài liệu kernel trả lời một số câu hỏi sau:

Liên kết Ethernet


1
Vui lòng dành chút thời gian để cải thiện câu trả lời này ngoài việc chỉ cung cấp một liên kết. Liên kết là hữu ích, nhưng câu trả lời ở đây nên nhiều hơn chỉ là một liên kết đến tài liệu.
Zoredache

Cảm ơn liên kết đó. Mục 12.1.1 Lựa chọn chế độ liên kết MT cho cấu trúc liên kết chuyển mạch đơn là những gì tôi đã theo đuổi.
Matt

Vâng, đó là lý do tại sao tôi chỉ dán liên kết mà không có bất kỳ nhận xét nào ;-)
FINESEC
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.