如何讓 NIC 團隊在 RHEL 7 中啟動

如何讓 NIC 團隊在 RHEL 7 中啟動

為了在 RHEL 7 上設定網絡,我建立了一個用於分組的 JSON 文件,然後執行以下命令:

ip link set down eno1
ip link set down eno2
ip link set down eno3
ip link set down eno4
teamd -g -f lacp.conf -d

我還為 VLAN 建立了 ifcfg 檔案並執行了以下命令:

systemctl restart network

之後,一切都或多或少按預期進行,但問題是這在重新啟動之間不會持續存在,所以我每次啟動後都必須執行此操作。

我該如何解決這個問題?我希望此命令僅執行一次,然後我希望此設定在重新啟動之間保留。

==================================================== = ========

我嘗試應用建議的修復,但出現了以下問題:

  1. 我已經創建了ifcfg-team0文件,內容是:

    DEVICE=team0
    DEVICETYPE=Team
    ONBOOT=yes
    BOOTPROTO=none
    TEAM_CONFIG='{"device":"team0", "runner": { "name": "lacp"...
    

我應該刪除“設備”部分,然後更改為TEAMCONFIG='{"runner": { "name": "lacp"...因為我已經有了DEVICE=team0?還是提兩次就可以了?

  1. 我的ifcfg-eno1文件包含:

    HWADDR=...
    TYPE=Ethernet
    BOOTPROTO=dhcp
    DEFROUTE=yes
    PEERDNS=yes
    IPV4_FAILURE_FATAL=no
    IPV6_INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=eno1
    UUID=e656...
    ONBOOT=no
    

我真的應該刪除其中的幾乎所有內容嗎?特別是我真的應該刪除UUID,NAME部分並將此文件替換為文件建議的內容嗎? :

    DEVICE=eth1
    HWADDR=D4:85:64:01:46:9E
    DEVICETYPE=TeamPort
    ONBOOT=yes
    TEAM_MASTER=team0
    TEAM_PORT_CONFIG='{"prio": 100}'

或者我應該保留這兩個文件?只要舉個例子ifcfg-eno1,然後ifcfg-eno1Team

  1. 執行此操作時:systemctl start network.service我收到這樣的錯誤:

    Failed to start LSB: Bring up/down networking.  Unit network.service entered failed state.
    

答案1

/etc/sysconfig/network-scripts首先,在名為的目錄中建立一個新文件ifcfg-team0,如下所示:

DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.2.3.4
NETMASK=255.255.255.0
TEAM_CONFIG='{"runner": {"name": "lacp"}, "link_watch": {"name": "ethtool"}}'

顯然,您需要適當更改 IP 位址和網路遮罩。

然後在同一目錄中,將所有ifcfg-eno[1-4]檔案變更為如下所示:

DEVICE=eno1
HWADDR=00:11:22:33:44:55
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'

如上所述,您的本機檔案會略有不同,因為您需要保留現有HWADDR設定。

這是直接從手冊中取出

ifcfg-team0文件是指lacp.conf您已經建立的文件。但是,我在手冊中沒有看到它如何找到該文件。也許teamd您從先前的手動配置中記住了它,或者您可能必須將其放在公共目錄中。

無論如何,一旦配置完畢,您說ifup team0,並且分組的 NIC 群組將全部出現。個別介面需要在開始時關閉,但您不需要執行任何特殊操作來確保在啟動時關閉,因為它們現在被標記為 NIC 團隊的一部分。作業系統的引導配置將意識到它不應該單獨啟動這四個接口,而只能作為 NIC 團隊的一部分啟動。


以上所有內容均假設您已停用網路管理器回到在 Red Hat 類型的 Linux 上設定網路的好舊方法:

$ sudo systemctl stop NetworkManager.service
$ sudo systemctl disable NetworkManager.service
$ sudo systemctl start network.service
$ sudo systemctl enable network.service

對於伺服器來說,這通常是一個好主意,特別是當它們的網路配置開始變得棘手時,例如 LACP。 NetworkManager 解決了很多問題,但它通常以桌面為中心,這對於伺服器來說是不合適的。例如,它解決了筆記型電腦常見的自動 WiFi 到乙太網路轉換問題。伺服器通常具有靜態網路配置,因此 NetworkManager 最終可能會成為障礙。

不過,如果您發現自己想堅持使用紅色帽子的默認設置,他們確實涵蓋了這種替代方案手冊前面的幾個部分

相關內容