使用 SLES 15 綁定配置可靠的乙太網路故障轉移

如果一台 SUSE Linux Enterprise Server 15 主機有兩個乙太網路適配器,但其中一個網路線發生故障時導致網路連線中斷,請在 YaST 中設定一個bond0接口,新增這兩個適配器,並選擇主備模式。miimon=100將伺服器的 IP 配置放在 bond0 介面上,而不是放在任何一個實體連接埠上。這樣無需啟用 LACP 的交換器即可實現鏈路冗餘。

以下步驟使用通常用於 SLES 伺服器工作負載的 Wicked 網路服務。變更承載 SSH 會話的介面可能會導致連線斷開,因此請在本機控制台、遠端管理控制台或已核准的維護視窗期間執行此變更並設定復原路徑。

檢查適配器並選擇正確的連接模式

兩張可用的網卡不會自動組成故障轉移對。如果沒有綁定,每個介面都是獨立管理的,當使用其中一條路由的應用程式所在的連結發生故障時,該應用程式可能會失去連線。 Linux 綁定將多個實體連接埠呈現為一個邏輯介面。

在進行更改之前,請確定實際的介面名稱,並記錄主機目前的 IPv4/IPv6 位址、網關、VLAN 和 DNS 設置,並確認兩個交換器連接埠都能連接到目標網路:

ip -br link
ip -br addr
ip route
systemctl status network

在範例畫面中,兩個實體介面enp1s0分別為 `<interface>` 和 `<interface> enp2s0`。這些名稱僅供參考;您的伺服器名稱可能不同。範例位址192.0.2.20/24僅供文件參考,並非實際部署到網路中的位址。

當目標是在連接埠或電纜故障期間保持服務時,請使用主動備份(模式 1)。一個連接埠負責傳輸,而另一個連接埠則保持可用狀態以進行故障轉移。只有當網路交換器明確配置為匹配的 LACP 聚合組,且具有相容的速度和雙工設定時,才選擇802.3ad(LACP,模式 4)。 LACP可以將不同的流量分配到不同的鏈路上,但並不能保證單一連線的速度會翻倍。 SUSE 建議,除非交換機供應商支持,否則不要將普通鏈路聚合跨越多個交換器。請參閱SUSE 網路聚合流程和限制。

在 YaST 中設定 bond0

  1. 1. 開啟網路設定並確定可用連接埠

    在本地運行sudo yast2或開啟 YaST,然後前往「系統」>「網路設定」。在「概覽」標籤中,找到要合併的兩個乙太網路介面。如果其中一個介面目前已配置伺服器的管理位址,請在變更其配置之前安排控制台存取權限。切勿在未事先規劃網路拓撲的情況下選擇無線介面或已指派給其他網路橋接的介面。

    YaST 網路設定概覽,顯示兩個乙太網路適配器 enp1s0 和 enp2s0 以及「新增」按鈕。
    在建立綁定設備之前,網路設定概覽會識別 enp1s0 和 enp2s0。
  2. 2. 建立黏合介面

    按一下「新增」,將「裝置類型」變更為「綁定」,然後按一下「下一步」。 YaST 將開啟新邏輯綁定的網路卡設定。請勿嘗試使兩個實體適配器各自擁有相同的靜態位址。

    在 YaST 的「新增網路卡」視窗中,裝置類型選單中已選擇「綁定」。
    「新增網路卡」視圖顯示「綁定」已選為新裝置類型。
  3. 3. 分配債券的 IP 設定

    在「位址」標籤上,如果您的基礎架構提供適當的 DHCP 租約,請選擇「動態位址」 ;對於具有固定位址的伺服器,請選擇「靜態分配的 IP 位址」。在靜態部署中,將先前的管理位址和子網路遷移到綁定位址,並確保舊的實體介面不會保留重複的 IP 位址。在「路由」標籤上確認預設網關,並在「主機名稱/DNS」下確認 DNS設定(如適用);不要假設靜態位址分配會自動填入這些設定。

    YaST 網路卡設定位址標籤顯示靜態位址 192.0.2.20 和子網路遮罩 255.255.255.0
    「位址」標籤顯示了指派給綁定(而不是其成員)的範例靜態 IP 位址和子網路遮罩。
  4. 4. 選擇兩個端口,保持鏈路監控,然後應用

    打開綁定連接埠並檢查兩個目標適配器。在綁定驅動程式選項中,選擇active-backup“簡單冗餘”並保留miimon=100。這將以 100 毫秒的間隔檢查成員鏈路狀態;但這並不能保證偵測到所有上游故障。選擇「下一步」,如果出現任何提示以適應舊的單一介面配置,請選擇「繼續」,然後按一下「確定」以提交新的綁定。 IP 位址切換到 bond0 期間,您可能會短暫失去存取權限。

    YaST網卡設置,在「綁定連接埠」標籤中,選取兩個適配器,並將活動/備份連結監控設定為100毫秒。
    兩個乙太網路連接埠均已選中,採用主備綁定,MII 監控間隔為 100 毫秒。

這些螢幕視圖重點介紹 SUSE SLES 15 SP7 YaST 綁定說明中所述的控制項;特定的佈局或措詞可能會因安裝的 YaST 版本以及圖形或文字介面而異。

如果 YaST 不可用,請使用 ifcfg 檔案。

對於無法使用 YaST 的管理員,手動設定是一種替代方案。 SUSE 文件中提供/etc/sysconfig/network/ifcfg-*了 Wicked 管理主機的設定格式。/etc/sysconfig/network在繼續操作之前,請將原始網路檔案備份到活動目錄之外,並保持對控制台的存取權限:

sudo mkdir -p /root/network-bond-backup
sudo cp -a /etc/sysconfig/network/ifcfg-enp1s0 /root/network-bond-backup/
sudo cp -a /etc/sysconfig/network/ifcfg-enp2s0 /root/network-bond-backup/

如果指定的來源文件不存在,請檢查目錄並備份實際文件,而不是隨意猜測文件名。對於此靜態 IP 設定範例,請建立/etc/sysconfig/network/ifcfg-bond0包含以下內容的文件,並將介面名稱和位址替換為您的實際值:

STARTMODE='auto'
BOOTPROTO='static'
IPADDR='192.0.2.20/24'
BONDING_MASTER='yes'
BONDING_SLAVE0='enp1s0'
BONDING_SLAVE1='enp2s0'
BONDING_MODULE_OPTS='mode=active-backup miimon=100'

每個成員的ifcfg檔案都不應再包含各自的 IP 配置。例如,只需在 `<members.h>`ifcfg-enp1s0和 ` <members.h>` 檔案中分別新增以下幾行ifcfg-enp2s0:

BOOTPROTO='none'
STARTMODE='hotplug'

確保所有必要的系統級路由和解析器配置與新的綁定保持一致。檢查配置並使用 Wicked 啟動邏輯介面:

sudo wicked show-config
sudo wicked ifup all bond0

在對運行中的綁定進行後續編輯後使用sudo wicked ifreload bond0。請勿使用此方法systemctl啟動或停止單一綁定設備;SUSE 有專門的命令wicked執行此操作。有關支援的檔案參數,請參閱SUSE 手冊綁定設定參考和本機安裝man 5 ifcfg-bonding頁面。

排查債券無法上線的問題

綁定存在但沒有 IP 位址:請檢查該位址是否已指派給 bond0 而非某個成員,並確認 DHCP 伺服器或靜態位址設定。即使兩個連接埠都報告有運營商訊號,缺少網關或 VLAN 配置錯誤也可能導致伺服器無法存取。ip route在重複重新啟動網路之前,請檢查您的交換器連接埠配置。

鏈路聚合組報告某個成員故障:請檢查電纜、交換器連接埠狀態、介面選擇和驅動程式訊息。確保成員名稱在連結聚合組中BONDING_SLAVE0符合。鏈路監控可以偵測到相關的介面/操作員變更,但無法BONDING_SLAVE1偵測ip -br link到直接連接交換器以外的所有可能故障。

切換到 802.3ad 後流量中斷:請先確認交換器的 LACP 群組和連接埠設定。如果綁定連接埠設定為 LACP,而交換器連接埠仍保持普通獨立連接埠的狀態,則設定不符。如果目的只是為了故障轉移,則應恢復到主備模式,而不是不必要地引入交換器聚合。

驗證配置並測試故障轉移

檢查目前綁定的連結、其成員介面和路由:

sudo wicked ifstatus --verbose bond0
ip -br addr show bond0
ip route
cat /proc/net/bonding/bond0

此綁定設備應具有預期的 IP 位址,鏈路應處於連接狀態,且內核狀態檔案應列出兩個成員介面。在主備模式下,檢查「目前活動從設備」欄位以及每個成員的MII 狀態。具體輸出取決於您的驅動程式和配置;Linux 核心綁定文件對此狀態介面進行了描述。

最後,確認與實際預設閘道以及必須存取主機的服務用戶端的連線。在已批准的維護視窗期間,短暫斷開或停用目前活動的鏈路,同時觀察鏈路狀態並持續進行連接測試;備用成員應接管連接,連接應恢復。之後恢復鏈路,確認兩個成員均顯示正常狀態。如果網路仍然無法訪問,請使用控制台訪問權限恢復已備份的成員配置,而不是透過 SSH 進行額外的盲目更改。

留下評論

使用 SLES 15 綁定配置可靠的乙太網路故障轉移

使用 SLES 15 綁定配置可靠的乙太網路故障轉移

在 SLES 15 上使用 YaST 和 Wicked 建立冗餘乙太網路連接,配置主備綁定,並驗證兩個連接埠和故障轉移。

為 SLES 15 安裝建置可重複使用的 AutoYaST 設定檔

為 SLES 15 安裝建置可重複使用的 AutoYaST 設定檔

將現有的 SLES 15 系統轉換為經過審核的 AutoYaST 設定文件,對其進行驗證,並使用該設定檔以更少的手動步驟部署測試伺服器。

SLES 15 KVM 設定:使選定的虛擬機器在啟動時執行

SLES 15 KVM 設定:使選定的虛擬機器在啟動時執行

安裝 SLES 15 KVM 和 libvirt 工具,啟用正確的主機服務,並配置選定的虛擬機器在重新啟動後啟動。

診斷卡在 systemd 關閉螢幕的 SUSE 伺服器

診斷卡在 systemd 關閉螢幕的 SUSE 伺服器

使用 systemd 作業和先前的啟動日誌來尋找運行緩慢的服務、掛載點或儲存依賴項,然後修正它,而不掩蓋原因。

僅開放 SLES 15 伺服器所需的網路流量

僅開放 SLES 15 伺服器所需的網路流量

使用 firewall-cmd 檢查活動區域,安全地允許 HTTP,保留 SSH 訪問,並驗證該規則在 SLES 15 上重新加載後是否仍然存在。

診斷 SLES PAM 登入失敗問題,避免被鎖定

診斷 SLES PAM 登入失敗問題,避免被鎖定

追溯 PAM 故障到其服務、帳戶原則或身分提供者,然後在保持管理員會話正常運作的情況下修復正確的 SLES 配置。

在 ONLYOFFICE 文件伺服器中新增字型:Docker 與 Linux

在 ONLYOFFICE 文件伺服器中新增字型:Docker 與 Linux

在 ONLYOFFICE 文件伺服器中安裝自訂字體,比較持久 Docker 掛載與直接複製,重建字體列表,並驗證結果。

使用 Restic 和 Cron 實現 Nextcloud 的自動化和一致性備份

使用 Restic 和 Cron 實現 Nextcloud 的自動化和一致性備份

將 Nextcloud 的檔案和 MariaDB 一起備份,使用 cron 安排加密的 Restic 快照,並在不危及執行伺服器的情況下驗證復原。

使用 TGZ Exports 備份和還原 Zimbra CE 郵箱

使用 TGZ Exports 備份和還原 Zimbra CE 郵箱

匯出單一 Zimbra Community Edition 信箱,驗證其 TGZ 備份,並在不覆寫現有郵件的情況下還原遺失的項目。

允許已批准的使用者使用 Keycloak 登入建立 Jitsi 會議室

允許已批准的使用者使用 Keycloak 登入建立 Jitsi 會議室

僅允許已批准的帳戶使用 Keycloak 和令牌身份驗證啟動 Jitsi Meet 會議室,同時在需要時允許訪客加入。