服务器 2023-09-02

服务器麒麟V10操作系统做bond端口无法UP分析总结

一、现网描述

1.1      环境描述

设备型号:KunTai R822

硬件配置

主板型号:S主板920X02K-5251K 4*(920,48C),4*GE

硬盘型号:SSD盘

二、故障描述

2.1故障现象

客户现场5台鲲泰R822服务器,安装麒麟V10-SP1系统,与交换机之间做mode4的bond,互联网口无法UP

交换机侧查看到的信息,物理口都是UP的,但是聚合口是DOWN的,服务器侧也是同样的现象

image.png

三、问题分析

3.1排查思路

1、优先检查配置信息,确认bond配置是否正确

服务器侧确认配置没有问题,使用enp61s0f0,enp61s0f1做mode4的bond,mode4需要网卡直接802.3ad协议,服务器网卡型号为TM280,支持该协议

image.png

2、检查交换机侧配置,交换机侧需要配置LACP

交换机聚合口配置了lacp,聚合口配置没有问题,可以确认非配置问题导致

image.png

3、查看网卡的固件、驱动信息,考虑对固件驱动进行升级

根据查看到的信息,理论上不需要升级固件或者驱动,同时该网卡并没有直接针对麒麟V10的驱动,若要进行升级需要先获取对应的源码包,然后再麒麟系统上进行编译才能生成驱动。

image.png

4、在bond配置和固件驱动都没问题的情况下,需要考虑系统侧是否需要做额外配置才能生效。

cat /usr/lib/systemd/network/99-default.link  查看内核的MAC地址绑定策略

image.png

参数说明

MACAddressPolicy=

如何设置网卡的MAC地址:

persistent

如果内核使用了网卡硬件固有的MAC地址(绝大多数网卡都有), 那么直接使用内核的MAC地址。 否则, 将会随机新生成一个。确保在多次启动之间保持固定不变的MAC地址(针对给定的主板与网卡)。 自动生成MAC地址的特性 要求网卡必须存在 ID_NET_NAME_* 属性, 否则无法自动生成MAC地址。

random

如果内核使用了随机生成的MAC地址(而不是网卡硬件固有的MAC地址), 那么直接使用内核的MAC地址。 否则,将在网卡每次出现的时候(一般在启动过程中)随机新生成一个MAC地址。 无论使用上述哪种方式生成的MAC地址, 都将设置 "unicast" 与 "locally administered" 位。

none

无条件的直接使用内核的MAC地址。

将策略改从persistent改成none,直接使用内核的MAC地址,再去重启服务器,聚合口即可UP。

3.2原因分析

由于麒麟V10系统的内核绑定策略为persistent,在没有读取到内核MAC地址的情况下,会随机生成一个MAC地址,但是需要要求网卡配置与之对应的属性,所以无法自动生成MAC,将策略改成none后,直接强制网卡固有的MAC地址。

四、问题解决

4.1解决办法

修改客户当前系统内核使用的网卡MAC地址策略

4.2分析总结

并非所有系统都需要修改该参数,在使用麒麟系统,确认网卡配置、固件和驱动都正常的情况下,可以考虑修改该参数。