Show Table of Contents
4.4. 使用命令行接口(CLI)
绑定是由
bonding 内核模块和名为 频道绑定接口 的特殊网络接口生成。
4.4.1. 检查是否已安装 Bonding 内核模块
在 Red Hat Enterprise Linux 7 中默认载入 bonding 模块。可作为
root 运行以下命令载入该模块:
~]# modprobe --first-time bonding
系统重启后则不会保留这个激活。有关持久载入该模块的详情请查看《Red Hat Enterprise Linux 7 系统管理员指南》。注:使用 BONDING_OPTS 指令给出正确的配置文件,则会根据需要载入绑定模式,因此不需要分别载入。
请使用以下命令显示该模块的信息:
~]$ modinfo bonding
更多命令选项请查看 modprobe(8) man page。
4.4.2. 创建频道绑定接口
要创建频道绑定接口,请在
/etc/sysconfig/network-scripts/ 目录中创建名为 ifcfg-bondN 的文件,使用接口号码替换 N,比如 0。
可根据要绑定接口类型的配置文件编写该文件的内容,比如以太网接口。最主要的区别是
DEVICE 指令是 bondN(使用接口号码替换 N)和 TYPE=Bond。此外还设置 BONDING_MASTER=yes。
例 4.1. ifcfg-bond0 接口配置文件示例
频道绑定接口示例。
DEVICE=bond0 NAME=bond0 TYPE=Bond BONDING_MASTER=yes IPADDR=192.168.1.1 PREFIX=24 ONBOOT=yes BOOTPROTO=none BONDING_OPTS="bonding parameters separated by spaces"
NAME 指令在 NetworkManager 命名连接配置文件时非常有用。ONBOOT 决定如何在引导时启动该配置文件(也就是说,如何自动连接某个设备)。
重要
必须在
ifcfg-bondN 接口文件的 BONDING_OPTS="bonding parameters" 指令中,使用以空格分开的列表指定 bonding 内核模块。请不要在 /etc/modprobe.d/bonding.conf 文件或弃用的 /etc/modprobe.conf 文件中为绑定设备指定选项。
max_bonds 参数不是具体接口的参数,且不应在使用 BONDING_OPTS 指令的 ifcfg-bondN 文件中设定,因为这个指令会让网络脚本根据需要创建绑定接口。
有关配置 bonding 模块及查看绑定参数的操作,请查看 第 4.5 节 “使用频道绑定”。
4.4.3. 创建从属接口
频道绑定接口是“主”接口,同时要绑定的接口是“从属”接口。创建频道绑定接口后,必须在从属接口的配置文件中添加
MASTER 和 SLAVE 指令,以便配置要绑定在一起的接口。每个从属接口的配置文件都几乎一样。
例 4.2. 从属接口配置文件示例
例如:将两个以太网接口
eth0 和 eth1 以频道方式绑定,它们可类似如下:
DEVICE=ethN NAME=bond0-slave TYPE=Ethernet BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
在这个示例中,使用该接口的数字值替换 N。注:如果某个接口有一个以上配置文件,或配置文件中包含
ONBOOT=yes,则可能会产生彼此竞争,同时激活普通的 TYPE=Ethernet 配置文件,而不是绑定从属接口。
4.4.4. 激活频道绑定
要激活绑定,则要启动所有从属接口。请作为
root 运行以下命令:
~]# ifup ifcfg-eth0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
~]# ifup ifcfg-eth1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
注:如果为已经处于 “up” 的接口编辑接口文件,请首先将其设定为 down,如下:
ifdown ethN。完成后,启动所有从属接口以便启动绑定(不将其设定为 “down”)。
要让 NetworkManager 了解所做更改,请在每次进行更改后,作为
root 运行一个命令:
~]# nmcli con load /etc/sysconfig/network-scripts/ifcfg-device
另外,也可以重新载入所有接口:
~]# nmcli con reload
NetworkManager 的默认行为是不会意识到所进行的更改,并继续使用旧的配置数据。这是由 NetworkManager.conf 文件中的 monitor-connection-files 选项决定。有关详情请查看 NetworkManager.conf(5) manual page。
请运行以下命令查看绑定接口的状态:
~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000
link/ether 52:54:00:e9:ce:d2 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP mode DEFAULT qlen 1000
link/ether 52:54:00:38:a6:4c brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
link/ether 52:54:00:38:a6:4c brd ff:ff:ff:ff:ff:ff
4.4.5. 创建多个绑定
在 Red Hat Enterprise Linux 7 中,会为每个绑定创建一个频道绑定接口,其中包括
BONDING_OPTS 指令。使用这个配置方法可让多个绑定设备使用不同的配置。请按照以下操作创建多个频道绑定接口:
- 创建多个
ifcfg-bondN文件,这些文件中包含BONDING_OPTS指令。这个指令可让网络脚本根据需要创建绑定接口。 - 创建或编辑要绑定的现有接口配置文件,添加
SLAVE指令。 - 使用
MASTER指令工具在频道绑定接口中分配要绑定的接口,即从属接口。
例 4.3. 多 ifcfg-bondN 接口配置文件示例
以下是频道绑定接口配置文件示例:
DEVICE=bondN NAME=bondN TYPE=Bond BONDING_MASTER=yes IPADDR=192.168.1.1 PREFIX=24 ONBOOT=yes BOOTPROTO=none BONDING_OPTS="bonding parameters separated by spaces"
在这个示例中,使用绑定接口的号码替换 N。例如:要创建两个接口,则需要使用正确的
IP 地址创建两个配置文件 ifcfg-bond0 和 ifcfg-bond1。
使用 例 4.2 “从属接口配置文件示例” 创建要绑定的接口,并根据需要使用
MASTER=bondN 指令将其分配到绑定接口。例如:在上述示例中,如果需要在每个绑定中有两个接口,则两个绑定则要创建四个接口配置文件,并使用 MASTER=bond0 分配前两个配置文件,使用 MASTER=bond1 分配后两个配置文件。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.