RHEL 7 网卡配置中是否存在primary概念?深入解析与配置实践

admin
RHEL 7网卡配置中存在primary概念,主要用于bonding场景下指定主网卡,primary网卡是bond中的关键成员,优先处理流量,在主网卡故障时,备用网卡自动接管,保障网络高可用,配置时可通过NetworkManager或ifcfg文件实现,在bond配置中设置"PRIO"参数指定优先级,或直接定义"PRIMARY=yes",实践中需注意primary网卡需与slave网卡类型一致,且确保链路检测机制(如miimon)正常,以实现故障快速切换,合理配置primary可优化bond性能,提升网络稳定性。

在 RHEL 7(Red Hat Enterprise Linux 7)的网络配置中,用户常会遇到“primary”相关的疑问——是否可以直接为单个网卡设置“primary”属性?或是在多网卡场景下如何通过“primary”实现主备切换?本文将结合 RHEL 7 的网络管理机制,详细解析“primary”概念在网卡配置中的存在形式、应用场景及具体配置方法。

RHEL 7 网卡配置基础:NetworkManager 与 ifcfg 文件

RHEL 7 默认使用 NetworkManager 作为网络管理核心服务,负责动态配置和管理网络接口(如以太网卡、bond、team 等),传统上,网卡的静态配置通过 /etc/sysconfig/network-scripts/ 目录下的 ifcfg-* 文件实现(如 ifcfg-eth0),而 NetworkManager 同时支持图形化(nm-connection-editor)、命令行(nmcli)和 ifcfg 文件三种配置方式。

需明确的是:“primary”并非 RHEL 7 中单个网卡的固有属性,而是特定场景(如网卡绑定、路由策略)下的角色定义,其核心作用是标识“主接口”,在多网卡环境中实现流量优先转发或故障切换。

RHEL 7 网卡配置中是否存在primary概念?深入解析与配置实践

“Primary”概念在 RHEL 7 中的核心应用场景

网卡绑定(Bonding)中的“Primary”接口

网卡绑定(Bonding)是将多个物理网卡虚拟为一个逻辑接口(如 bond0)的技术,常用于提高网络带宽或实现高可用,在 Bonding 的 主备模式(mode=1,即 active-backup) 下,“primary”参数用于指定主用物理网卡,当主网卡故障时,备用网卡自动接管流量。

关键配置参数:

  • BONDING_OPTS:Bonding 的核心配置选项,需包含 primaryprimary_reselect 等参数。
  • PRIMARY:在 ifcfg-bond0 中通过 BONDING_OPTS 指定主网卡名称(如 eth0)。
  • primary_reselect:定义主网卡恢复后的行为(always:始终切换回主网卡;better:仅在当前活动网卡性能更差时切换;failure:仅在当前活动网卡故障时切换)。

配置示例:

假设使用 eth0(主)和 eth1(备)创建 bond0,配置文件如下:

/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
TYPE=Bond
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
BONDING_OPTS="mode=1 primary=eth0 primary_reselect=failure miimon=100"
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth0(主网卡)

DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth1(备网卡)

DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes

验证
使用 cat /proc/net/bonding/bond0 查看 Bonding 状态,确认 Primary Slaveeth0Currently Active Slaveeth0,当 eth0 断开时,Currently Active Slave 会自动切换为 eth1

网卡团队(Team)中的“Primary”接口

Team 是 RHEL 7 推荐的新一代网卡绑定技术,相比 Bonding 更灵活且支持动态扩展,在 Team 的 主备模式(runner=activebackup) 下,可通过 runnerprimary 选项指定主网卡。

配置示例(使用 nmcli 命令行配置):

# 创建 Team 接口 myteam,主备模式,主网卡为 eth0
nmcli connection add type team con-name myteam ifname myteam \
  ipv4.method manual ipv4.addresses 192.168.1.100/24 \
  runner.activebackup primary="eth0"
# 将 eth0、eth1 加入 Team
nmcli connection add type team-slave con-name myteam-slave-eth0
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码