网站模板 手机app展示,建设搜索引擎网站,网站总体规划,如何自己做淘宝客网站更多银河麒麟操作系统产品及技术讨论#xff0c;欢迎加入银河麒麟操作系统官方论坛
https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品#xff0c;请点击访问
麒麟软件产品专区#xff1a;https://product.kylinos.cn
开发者专区#xff1a;https://developer… 更多银河麒麟操作系统产品及技术讨论欢迎加入银河麒麟操作系统官方论坛
https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品请点击访问
麒麟软件产品专区https://product.kylinos.cn
开发者专区https://developer.kylinos.cn
文档中心https://document.kylinos.cn 服务器环境以及配置 系统环境 物理机/虚拟机/云/容器 虚拟机 网络环境 外网/私有网络/无网络 私有网络 硬件环境 机型 - 处理器 鲲鹏920 内存 DDR4 整机类型/架构 arm 软件环境 具体操作系统版本 银河麒麟高级服务器操作系统 V10SP2 内核版本 4.19.90-24.4.v2101.ky10.aarch64
现象描述
银河麒麟高级服务器操作系统V10SP2系统使用kvm运行虚拟机如果是物理机两个网口做成一个team然后team接网桥虚拟机再通过这个网桥连接网络这种方式网络会有问题。 本地环境验证使用配置方式一直有问题采用nmcli如下配置
物理机
1、创建team及slave
# nmcli connection add type team con-name team1 ifname team1 config {runner: {name: roundrobin}, link_watch: {name: ethtool}}
# nmcli connection add type team-slave con-name team1-port1 ifname ens224 master team1
# nmcli connection add type team-slave con-name team1-port2 ifname ens256 master team1
2、创建网桥
# mcli connection add type bridge con-name br1 ifname br1
配置网桥IP
3、添加team1到br1
# nmcli c mod team1 master br1
4、激活网络
# nmcli connection up team1
# nmcli connection up team1-port1
# nmcli connection up team1-port2
# nmcli connection up br1 虚拟机连接br1
图形化操作
实际测试下来确实会发现网络不通此时如把team1从网桥删掉换成物理网口网络就可以正常使用单独配置team也可以正常使用。 现象分析
针对该问题做了以下测试。启动虚拟机1在宿主机上tcpdump分别在team1-slave1team1-slave2vnet0三个口抓icmp报文虚拟机1里启动ping 网关ip发现team1-slave1、team2-slave2几乎同时收到arp reply报文但是vnet0没有收到该报文只有arp request报文所以虚拟机网络一直不正常。在宿主机做ifconfig team1-slave1 down虚拟机网络恢复正常。在宿主机做ifconfig team1-slave1 up虚拟机网络异常。在宿主机做ifconfig team1-slave2 down虚拟机网络正常。宿主机把team1从网桥踢出将一物理网卡加入网桥虚拟机网络正常。 分析总结
根据上述分析结果梳理网络拓扑本地搭建环境复现问题发现Linux bridge的fdb表存在问题 图1 虚拟机mac地址 图二 宿主机mac地址 图三 网桥fdb表
由图三可见虚拟机的mac地址应与vnet0同属同一port但实际却与team网卡同属同一port。故报文在二层即无法到达vnet0符合上节的抓包现象。
进一步分析fdb表为何不对梳理网络拓扑及报文路径 由此可知由于使用team0roundrobin 模式虚拟机arp广播报文经vnet0进入网桥此时网桥mac学习到虚拟机的mac地址对应vnet0的port此时fdb表是正确的。arp广播报文通过team网卡发出由于是轮询模式此时两个物理网卡均会发送arp广播报文。交换机收到物理网卡的广播报文后会向所有端口进行转发此时也会转发到team的另一slave网卡。此时网桥会收到该arp广播报文并进行mac地址学习记录虚拟机的mac地址对应team的port此后fdb表便一直为错误的后续报文均不通。
分析结果
通过上述分析需要限制交换机将广播报文发回聚合端口当服务器设置为mode0时交换机需要设置为手动聚合模式。 后续计划与建议
如果使用mode0模式需要配置交换机为手动聚合模式或者设置Linux网桥强制泛洪如果使用mode1模式交换机侧无需任何修改。