1.问题描述

 

RHEL7.6系统,使用nmcli绑定双网卡后,在使用以下命令重启network服务后主机网络异常,导致无法通过ssh远程登录系统。

systemctl restart network  

 

2.知识点

 

先了解一下network和NetworkManager之间的区别,还有他们分别代表了什么。

network

对网卡的配置

NetworkManager

在RHEL系统上,NetworkManager服务是用于进行网络管理的一种新的系统服务,其作用完全可以由network服务替代。实际上,在RHEL5、RHEL6系统上,因NetworkManager存在bug,推荐关闭NetworkManager服务。上述两种方案除了导致nmcli命令不能使用以外,不会对系统造成其它影响,也不会影响系统稳定性。

 

3.环境分析

 

系统版本:Red Hat Enterprise Linux Server release 7.6

内核版本:3.10.0-957.el7.x86_64

硬件类型:Huawei 2288H V5

首先检查系统网络配置,该系统配置两块bonding设备,分别是:

l bond0:业务网络

l bond1: Oracle RAC心跳网络

 

分析系统日志,当重启network服务时(systemctl restart network),系统messages日志中无明显异常

测试发现,当停止NetworkManager服务后,问题现象消失,即执行如下操作:

# systemctl stop NetworkManager

此时再次重启network服务:

# systemctl restart network

可以很快ping通bond0的业务地址10.116.6.194。

进一步分析发现,如果不停止NetworkManager服务,而是修改网卡配置文件,在bonding网卡和组成bonding的slave网卡的配置文件中增加一行配置:

NM_CONTROLLED=no

也可以解决该问题。

参考红帽RHEL7配置网卡bonding的官方文档: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-network_bonding_using_the_command_line_interface

可以看到,官方文档的配置示例中设置了NM_CONTROLLED=”no”:

 

4.原厂问题建议

 

该问题是由于NetworkManager服务引起,可以通过如下两种方法解决:

1、在网卡配置文件中增加参数NM_CONTROLLED=no(“no”的引号可以不写),设置后重启network服务生效。设置NM_CONTROLLED=no的目的是将网络设备脱离NetworkManager服务的管理,设置后该网络设备仅由network服务管理,不受NetworkManager服务控制,因而nmcli命令对该网络设备不再生效;

2、停止并禁用NetworkManager服务,即执行如下操作:

# systemctl stop NetworkManager
# systemctl disable NetworkManager

执行上述操作后,所有网络设备由network服务管理,不能通过nmcli命令来管理网络设备。

 

5.解决方案

 

据上所述,可关闭NetworkManager服务或在BOND配置文件中添加参数,但因环境需要,行内环境需使用nmcli命令,故无法关闭NetworkManager,在多轮测试中进行思考,既然NetManager与network服务冲突,但nmcli命令属于NetworkManager,systemctl一般用来管理network,考虑两者管理命令可能也存在冲突后进行了一波测试,使用NetworkManager的nmcli进行网卡的重启操作

使用以下命令后,网络可以即刻ping通并通过SSH连接

#nmcli connection down 网口名称
#nmcli connection up 网口名称

 

6.结论

 

因NetworkManager与network服务存在冲突,且双网卡绑定时所使用的的nmcli进行绑定,nmcli归属于NetworkManager,故重启网卡时应用nmcli命令up/down,不应使用systemctl进行网卡重启

 

 

 

 

 

 

 

版权声明:本文为problem原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/problem/p/13753195.html