jichenjc
作者jichenjc·2019-11-19 17:59
研发工程师·ibm

LinuxONE 下openstack provider network 网卡bridge_role配置

字数 1112阅读 3649评论 0赞 1

本文假设读者了解基本的Openstack 网络概念

LinuxONE 基于Openstack的KVM实现(VLAN或者FLAT模式)中,计算节点的网络定义(neutron sub-net)为10.0.0.1/24,这样部署出来的虚拟机通过网桥br-ex 可以连接外网, 根据社区的配置推荐,br-ex会和物理网卡以及br-int连接,这样br-int里所有的虚拟机的流量都会从br-ex 被转发到网关。实际中发现内部虚拟机之间可以ping 通,但是却无法访问网关,作了一番调研,发现和LinuxONE OSA配置有关。

LinuxONE下Openstack 网卡 (OSA)默认只向OSA认知的目的地转发流量,针对每一个注册的设备,OSA卡都会在其转发数据库中维护MAC 地址, 而我们知道Openstack 内计算节点的虚拟机往往和计算节点不在一个网段,例如虚拟机的IP是10.0.0.2和10.0.0.3 (网关是10.0.0.1) , 而计算节点的IP是192.168.126.2,该OSA不能认知网关10.0.0.1的存在,这样网卡会默认过滤掉虚拟机的流量从而导致虚拟机无法访问外网。

这样就需要对OSA做一定的设置:

$ lsqeth
Device name : enccw0.0.1000
card_type : VSWITCH: SYSTEM VSC11590 (Type: QDIO)
cdev0 : 0.0.1000
cdev1 : 0.0.1001
cdev2 : 0.0.1002
chpid : 01
online : 1
portname : PORT1000
portno : 0
state : UP (LAN ONLINE)
priority_queueing : always queue 2
buffer_count : 64
layer2 : 1
isolation : none
bridge_role : none
bridge_state : inactive
bridge_hostnotify : 0
bridge_reflect_promisc : none

检查bridge_role这个选项,通过如下命令
$ echo "primary" > /sys/class/net/enccw0.0.1000/device/bridge_role

把网桥的模式改为primary,这样,这个接口将会转发任何流量,也包括没有在该OSA注册
的地址之上。

具体请参考
https://www.ibm.com/downloads/cas/ZVJGQX8E

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广