# **Bond****模式4****协商不通排查过程**
| 适用范围 | 适用版本 | 人员 | 发布时间 | 文档版本 |备注 |
| --- | --- | --- | --- | --- |--- |
| 服务器操作系统 | V10、V10-SP1、V7 | 王国武 |2022.3.1| V1.0|发布|
## 第一章 问题现象
Bond4模式协商不起来,配置好后网络不通
## 第二章 问题分析过程
查看/proc/net/bonding/bond0 状态,发现协商不起来,抓包看发现只有交换机在发包,而我们的设备未发送LACPDU报文。
结合内核开源代码分析,ad\_tx\_machine函数无法工作,打印日志发现port->sm\_tx\_timer\_counter=0;

这个函数由于那个if条件不满足,进而导致一些变量无法初始化,从而无法正常工作。
分析sys\_mac\_addr赋值的地方,在配置bond params时,会调用 bond\_3ad\_update\_ad\_actor\_settings函数更新该值。
接下来分析添加从接口的函数bond\_enslave,

首次添加从接口若MAC类型是RANDOM时,会更新成从接口的MAC地址。也就是说,如果这里更新了MAC地址,之前那个初始化函数(bond\_3ad\_initialize)就可以正常执行了。
那继续分析接口MAC地址的类型,

有如上四种,0是物理口的,这里不讨论。1是创建虚拟口时,若未指定mac则内核随机分配一个6Byte的MAC。2是bond口设置为从接口的MAC地址时,此时对于bond而言就是该类型。3是应用层调用了ioctl/netlink等API接口修改了接口MAC。而目前麒麟系统看cat /sys/class/net/bond0/addr\_assign\_type是3,说明有应用层修改了该MAC,后续分析是systemd-udev修改的,udev根据/etc/systemd/network,/usr/lib/systemd/network的link文件去配置mac的,

MACAddressPolicy那个策略起了作用。
## 第三章 问题结论及方案
基于上述分析,阻止udev去修改bond口的MAC就可以了,对应的team口也需要考虑到,现有方案如下
方案1:修改MACAddressPolicy = none ;华为openEuler用的该策略
方案2:添加优先级更高的link配置,针对bond、team特殊配置,如下


- 常见问题
- 进入救援模式
- 进入单用户模式
- grub引导修复
- V10SP1-biosdevname解析
- 外设挂载和卸载
- audit关闭解决方案
- 终端无法切换
- 救援模式取数据
- 网卡更名操作
- 问题复现解决类
- xgboost复现解决步骤
- 激活类
- 麒麟服务器激活常用命令
- 服务器故障激活问题--须知
- 激活权限获得方式
- V10-SP系列服务器激活
- 银河麒麟高级服务器操作系统V7&V10激活手册
- shell脚本类
- 多网卡队列绑定CPU脚本
- 服务器健康检查脚本
- 服务安装配置类
- 银河麒麟高级服务器操作系统V10(sp1)安装手册
- LVM创建
- Chrony时间同步配置
- 搭建网络yum源
- PXE部署实施
- Man手册安装
- 部署VNC服务
- Kylin-Server-V10-SP1-0711-DNS服务单机部署文档
- 麒麟ks文件定制-封装iso文件
- iptables端口配置
- V10-SP1-aarch64安装jdk1.7
- 工具使用类
- cyclictest测试工具
- e2fsprogs工具介绍
- Logrotate工具说明
- nmon工具安装与使用
- 升、降级类
- rsyslog升级报告
- 性能优化类
- 日志轮转
- 大页内存与透明大页详解
- 优化磁盘IO调度方式
- core文件设置
- 分析报告类
- bond模式4协商不通排查
- audit内存泄露问题分析报告
- mate-indicators内核占用过高问题分析报告
- ansible问题-hostname以及lvol报错
- 关于Linux内存计算的说明
- 磁盘IO调度算法
- 硬件相关类
- 串口
- 网络相关类
- bond创建
- 在已配置好网络情况下添加路由
- 网卡配合网桥实现内网互通KVM虚拟机
- Bond模式4协商不通排查过程
- HA高可用
- kylin HA shell实践
- kylin HA概念性及shell使用
- 虚拟化
- KVM创建虚拟机(图形化操作)
- KVM创建虚拟机(命令操作)
- 容器类
- docker-runc升级
- docker基础镜像制作-服务器版
- 麒麟云平台
- USB3.0设备穿透方法(针对win10云主机穿透)
- 麒麟云平台开关机操作说明
- 技术演练
