AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1004837
Accepted
Ali1928
Ali1928
Asked: 2020-02-28 06:38:57 +0800 CST2020-02-28 06:38:57 +0800 CST 2020-02-28 06:38:57 +0800 CST

在 RHEL 上创建端口绑定的正确方法是什么?

  • 772

我的服务器上有数据接口:eno5、eno6、ens3f0 和 ens3f1。我需要使用 VLAN ID 101 和绑定名称 data0 的这四个接口创建端口绑定。

更多信息:

  • RHEL 7.6
  • 检查接口名称。(我已经拔掉了电缆,一个接口坏了)
  • 我很可能会为此设置使用模式 4。(不是网络人..)
  • UUID 已经在配置文件中。我什么都没改变。

编辑:更多信息:

  • 没有虚拟化。我们在这里谈论的是物理机器。
  • 交换机配置已全部设置。
  • 这是一个全新的、最小化的安装。是否有任何必要的软件包、内核模块或系统配置?

第一次尝试:在这个 RHEL 文档中做了所有的事情:https ://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/sec-configuring_a_vlan_over_a_bond

除了这个文件有两个接口,但我有四个。我用自己的值更改了接口和键名。而且当然; IP、网关和子网也是我自己的。

结果: systemctl restart network 没问题。但是接口甚至不能ping它自己的网关......

关于这个尝试:

  • 模式选择在文档上完全相同

第二次尝试:完全完成了本文档中的所有内容:http: //villasyslog.net/rhel-bonding-and-vlan-tagging/

再一次,我有四个接口,所以改变了值。

结果: systemctl restart network 失败。我的债券没有得到 IPv4 地址。相反,它显示了我的一些愚蠢的 IPv6 东西。

关于这个尝试:

  • 没有 /etc/modprobe.d/bonding.conf 文件。

第一次尝试时,我在 /etc/sysconfig/network-scripts/ifcfg-* 下有四个接口的文件和一个绑定配置文件(总共 5 个)。

第二份文件建议更多文件。四个接口,一个用于绑定,一个用于 VLAN 标记。不幸的是,我没有第一个配置文件,但我有第二个。他们来了:

ifcfg-数据0

DEVICE=data0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
BONDING_MODULE_OPTS="mode=4 miimon=100"
BONDING_SLAVE0=ens3f1
BONDING_SLAVE1=ens3f0
BONDING_SLAVE2=eno6
BONDING_SLAVE3=eno5
VLAN=yes
IPV6INIT=no

ifcfg-data0.101

DEVICE=data0.101
BOOTPROTO=none
ONBOOT=yes
IPADDR=host IP
NETMASK=netmask
GATEWAY=gateway
NETWORK=first IP of network
BROADCAST=broadcast IP
USERCTL=no
BONDING_MODULE_OPTS="mode=4 miimon=100"
BONDING_SLAVE0="ens3f1"
BONDING_SLAVE1="ens3f0"
BONDING_SLAVE2="eno6"
BONDING_SLAVE3="eno5"
VLAN=yes
IPV6INIT=no

其他四个接口:

TYPE=Ethernet
BOOTPROTO=none
UUID=device uuid
DEVICE=eno5
ONBOOT=yes
MASTER=data0
SLAVE=yes
NM_CONTROLLED=no

TYPE=Ethernet
BOOTPROTO=none
UUID=device uuid
DEVICE=eno6
ONBOOT=yes
MASTER=data0
SLAVE=yes
NM_CONTROLLED=no

TYPE=Ethernet
BOOTPROTO=none
UUID=device uuid
DEVICE=ens3f0
ONBOOT=yes
MASTER=data0
SLAVE=yes
NM_CONTROLLED=no

TYPE=Ethernet
BOOTPROTO=none
UUID=device uuid
DEVICE=ens3f1
ONBOOT=yes
MASTER=data0
SLAVE=yes
NM_CONTROLLED=no

/proc/net/绑定请求:

我在 /proc/net/bonding 下看到两个文件。其中之一是bond0,我不知道那是什么:

债券0

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: down
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0

数据

Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: ens3f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: (MAC is here)
Slave queue ID: 0

Slave Interface: ens3f0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: (MAC is here)
Slave queue ID: 0

Slave Interface: eno6
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: (MAC is here)
Slave queue ID: 0

Slave Interface: eno5
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: (MAC is here)
Slave queue ID: 0

systemctl 重启网络:

Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.

systemctl 状态网络:

● network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2020-02-28 13:48:49 +03; 32s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 37887 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)

Feb 28 13:48:49 (host name here) network[37887]: RTNETLINK answers: File exists
Feb 28 13:48:49 (host name here) network[37887]: RTNETLINK answers: File exists
Feb 28 13:48:49 (host name here) network[37887]: RTNETLINK answers: File exists
Feb 28 13:48:49 (host name here) network[37887]: RTNETLINK answers: File exists
Feb 28 13:48:49 (host name here) network[37887]: RTNETLINK answers: File exists
Feb 28 13:48:49 (host name here) network[37887]: RTNETLINK answers: File exists
Feb 28 13:48:49 (host name here) systemd[1]: network.service: control process exited, code=exited status=1
Feb 28 13:48:49 (host name here) systemd[1]: Failed to start LSB: Bring up/down networking.
Feb 28 13:48:49 (host name here) systemd[1]: Unit network.service entered failed state.
Feb 28 13:48:49 (host name here) systemd[1]: network.service failed.

起初,NetworkManager 正在运行。我已禁用它,但 systemctl restart network 仍然失败。systemctl status NetworkManager 的输出:

● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
   Active: inactive (dead) since Fri 2020-02-28 13:46:58 +03; 2min 13s ago
     Docs: man:NetworkManager(8)
 Main PID: 35612 (code=exited, status=0/SUCCESS)

Feb 27 16:26:51 (host name here) NetworkManager[35612]: <info>  [1582810011.3824] agent-manager: req[0x56187f15d3c0, :1.936/nmcli-connect/0]: agent registered
Feb 27 16:26:51 (host name here) NetworkManager[35612]: <info>  [1582810011.3830] audit: op="connection-activate" uuid="09bce14a-449a-3065-8d1b-d4bcde243bd8" name="Vlan data0.744" result="fail" reason="Failed to find a compatible device for this connection"
Feb 28 13:46:58 (host name here) systemd[1]: Stopping Network Manager...
Feb 28 13:46:58 (host name here) NetworkManager[35612]: <info>  [1582886818.8800] caught SIGTERM, shutting down normally.
Feb 28 13:46:58 (host name here) NetworkManager[35612]: <info>  [1582886818.8846] device (ens3f0): released from master device data.744
Feb 28 13:46:58 (host name here) NetworkManager[35612]: <info>  [1582886818.8851] device (ens3f1): released from master device data.744
Feb 28 13:46:58 (host name here) NetworkManager[35612]: <info>  [1582886818.8856] device (eno5): released from master device data.744
Feb 28 13:46:58 (host name here) NetworkManager[35612]: <info>  [1582886818.8860] device (eno6): released from master device data.744
Feb 28 13:46:58 (host name here) NetworkManager[35612]: <info>  [1582886818.8890] exiting (success)
Feb 28 13:46:58 (host name here) systemd[1]: Stopped Network Manager.
linux redhat networking bonding
  • 1 1 个回答
  • 852 Views

1 个回答

  • Voted
  1. Best Answer
    Ali1928
    2020-03-04T06:02:11+08:002020-03-04T06:02:11+08:00

    首先,感谢所有对我的问题的评论。

    据我所知,端口绑定有点像正则表达式。每个人都会在指南中写一些东西,并且不知何故它对他们有用。好吧,不适合我。

    直到最近几天我还不清楚我需要实现什么。但现在,我得到了它的工作。只剩下故障转移测试。

    所有这些有什么意义?

    1. 我有四个 10 Gbit 以太网端口。
    2. 我希望这四个一起工作并处理 40 Gbit 流量(理论上)。
    3. 因此,我需要使用 lacp 模式进行端口绑定。
    4. 必须在交换机端配置给定端口,以便与具有给定端口通道的 lacp 进行端口绑定。这都是网络工作。不是我的。

    那么,如何实现呢?首先,我需要确保 NetworkManager 没有运行和禁用:

    systemctl stop NetworkManager
    systemctl disable NetworkManager
    

    然后,检查接口是否启动。为此,您需要确保网络服务正在运行:

    systemctl status network #check if working
    systemctl start network #start if not working
    

    列出所有接口:

    ip a
    

    如果任何接口上有 IP,请确保与您的绑定没有冲突。

    要放置您自己的配置,请停止网络服务:

    systemctl stop network
    

    你的配置文件应该在/etc/sysconfig/network-service/目录下。

    从站示例:

    ifcfg-eno5

    DEVICE=eno5
    NAME=bond0-slave3
    TYPE=Ethernet
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes
    NM_CONTROLLED=no
    

    让我们一行一行地走。

    1. 这是 RHEL 本身看到的接口名称。
    2. 名称是可选的。它适用于 TUI 或 GUI 软件。这个是bond的3号奴隶,名为bond0。因此,名称是bond0-slave3(记住,我有四个奴隶。这是最后一个。其他的像bond0-slave2(1, 0)。

    其余的是,这是经典的以太网接口。MASTER 将是bond0,是的,这是一个奴隶。网络管理器不应控制此接口。

    债券示例:

    ifcfg-债券0

    DEVICE=bond0
    NAME=bond0
    TYPE=Bond
    BONDING_MASTER=yes
    ONBOOT=yes
    BOOTPROTO=none
    BONDING_OPTS="mode=4 miimon=100 lacp_rate=slow"
    NM_CONTROLLED=no
    
    1. DEVICE 是绑定的名称。我给了bond0。
    2. NAME 与上述相同。
    3. TYPE 不是以太网。这是一个大写为 B 的债券。
    4. 此虚拟设备是绑定主机。
    5. 它在启动时启动。
    6. 不知道那是什么。
    7. 不同类型的键合选项会有所不同。这是速度较慢的 lacp 键合,也称为键合模式 4。
    8. 网络管理器不应控制此虚拟接口。

    实际上,端口绑定是在这里完成的(除了我们需要定义 IP、子网和网关)。正如我所听到的,直到这次我已经设法配置为“访问模式”。这意味着,只有一个 VLAN 可以在此交换机上工作。但这不是我们想要的,switch 也不期望这种配置。所以我需要定义一个 VLAN ID 并告诉那个交换机。这种类型的配置称为“中继模式”。

    假设我的 VLAN ID 是 111。

    VLAN 标记示例:

    ifcfg-bond0.111

    DEVICE=bond0.111
    TYPE=Vlan
    NAME=vlan-bond0.111
    BOOTPROTO=none
    ONPARENT=yes
    IPADDR=IP adresi
    NETMASK=subnet mask
    GATEWAY=gateway
    VLAN=yes
    VLAN_ID=111
    NM_CONTROLLED=no
    

    我已经给我的虚拟设备起了一个名字。名称必须是 BOND_NAME.VLAN_ID 因此我使用了 bond0.111

    类型是必不可少的。这既不是以太网也不是邦德。这是一个Vlan。该界面与服务器启动无关。如果父母已经起来(我的意思是bond0),这也应该出现。

    IP、网络掩码和网关线路自行定义。

    VLAN=是的!!!!RHEL 文档说明了这一点,这是必不可少的。但我不知道。TYPE is Vlan 为什么我也要在 VLAN 上设置一个 yes 标志?任何。

    到目前为止,我没有在任何文档上看到 VLAN_ID。这是我的 VLAN 的 ID。

    设置好所有配置文件后,

    systemctl start network
    

    这应该可以正常工作。为我工作。

    • 0

相关问题

  • 更改 PHP 的默认配置设置?

  • 有什么软件可以模拟局域网?

  • 保护新的 Ubuntu 服务器 [关闭]

  • 带宽利用工具?[关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve