14 網路裝置結合 #
對於許多系統而言,實作的網路連接除了需要符合一般乙太網路裝置的標準資料安全性或可用性要求之外,還需要符合其他要求。在這些情況下,數個乙太網路裝置可以結集成單個結合裝置。
結合裝置的組態是透過結合模組選項來設定,而其行為由結合裝置的模式決定。該模式預設為 mode=active-backup
,這表示如果主要裝置發生故障,另一部裝置將會變成使用中狀態。
使用 Corosync 時,結合裝置無法透過叢集軟體管理。因此,必須在可能需要存取結合裝置的每個叢集節點上設定該裝置。
14.1 使用 YaST 設定結合裝置 #
若要設定結合裝置,您需要有多個可結集至單個結合裝置的乙太網路裝置。請執行下列步驟:
以
root
身分啟動 YaST,然後選取 › 。在
中,切換至 索引標籤,其中會顯示可用的裝置。檢查要結集至結合裝置的乙太網路裝置是否已經指定了 IP 位址。如果已指定,請加以變更:
選取要變更的裝置,然後按一下
。在開啟的
對話方塊的 索引標籤中,選取 選項。按
回到 對話方塊中的 索引標籤。
若要新增新的結合裝置:
按一下
,然後將 設為 。按 以繼續。選取為結合裝置指定 IP 位址的方法。有三種方法可供您選擇:
無連結和 IP 設定 (結合連接埠)
動態位址 (透過 DHCP 或 Zeroconf)
靜態指定的 IP 位址
請使用適合您環境的方法。如果是由 Corosync 管理虛擬 IP 位址,請選取
,然後為介面指定一個 IP 位址。切換到
索引標籤。若要選取需要加入結合的乙太網路裝置,請選取相應裝置前面的核取方塊。
編輯「
」。可用模式如下:balance-rr
提供負載平衡和容錯,但會使封包傳輸變得混亂無序。這可能會導致 TCP 重新組合等操作出現延遲。
active-backup
提供容錯。
balance-xor
提供負載平衡和容錯。
broadcast
提供容錯。
802.3ad
提供動態連結聚總 (若連接的交換器支援)。
balance-tlb
提供外送流量的負載平衡。
balance-alb
提供內送和外送流量的負載平衡 (若所用的網路裝置允許修改使用中網路裝置的硬體位址)。
請務必將參數
miimon=100
新增至 。如果不指定此參數,則不會定期檢查連結,因此,結合驅動程式可能會持續在有故障的連結上遺失封包。
按
,然後按 離開 YaST,以完成結合裝置設定。YaST 會將組態寫入/etc/sysconfig/network/ifcfg-bond裝置編號
。
14.2 將裝置熱插拔到結合中 #
有時,需要以另一個介面來取代結合中的某個介面 (例如,當相應的網路裝置持續發生故障時)。解決方案是設定熱插拔。此外,還需要變更 udev
規則,以便依匯流排 ID 而不是 MAC 位址比對裝置。這樣,如果有缺陷的硬體 (位於相同插槽中但是具有不同 MAC 位址的網路卡) 允許更換的話,您便可以更換該硬體。
如果您偏好手動設定,請參閱《SUSE Linux Enterprise Server 管理指南》「基本網路」一章中的「結合連接埠的熱插拔」一節。
以
root
身分啟動 YaST,然後選取 › 。在
中,切換至 索引標籤,其中會顯示已設定的裝置。如果已在結合中設定裝置, 欄中將會指明。針對已結集到結合從屬的每個乙太網路裝置,執行以下步驟:
選取要變更的裝置,然後按一下
。 對話方塊即會開啟。切換至
索引標籤,並確定 設為熱插拔時
。切換至
索引標籤。針對
按一下 ,然後選取 選項。按一下
和 ,回到 對話方塊中的 索引標籤。如果您現在按一下乙太網路裝置項目,下方窗格將會顯示裝置的詳細資料,其中包括匯流排 ID。
按一下
確認您的變更並離開網路設定。
開機時,網路設定不會等待熱插拔裝置就緒,而是等待結合就緒,後者至少需要有一部裝置可用。當從系統中移除一個介面 (從 NIC 驅動程式解除結合、執行 NIC 驅動程式的 rmmod
指令或真正移除 PCI 熱插拔) 時,核心會自動從結合中將其移除。當將新卡新增至系統 (更換插槽中的硬體) 時,udev
會套用基於匯流排的永久命名規則將其重新命名,然後為它呼叫 ifup
。呼叫 ifup
會自動將新卡加入結合。
14.3 更多資訊 #
《 套件後,便可在
/usr/src/linux/Documentation/networking/bonding.txtkernel-source
下找到該檔案。
對於高可用性設定,本指南所述的以下選項特別重要:miimon
和 use_carrier
。