修改OpenStack中的vlan tag

26 篇文章 5 订阅
11 篇文章 1 订阅

在OpenStack中,用户网络的隔离可以用vlan、gre或者最新的vxlan来支持。

其中vlan模式目前是较为成熟和普遍的一种。

在vlan模式下,用户的vm流量在抵达openvswitch的时候,会被分配一个vlan id。相同vlan id的vm是互相可见的,不同的是彼此隔离的。

有时候,我们需要去手动修改这个vlan tag来完成一些诊断或测试工作。

首先,可以通过如下的命令来直接修改openvswitch端口上的vlan tag。

ovs-vsctl set port PORT_ID tag=xx

此时,查看端口的tag,确实已经被修改过了。

但是这样修改后,一旦发生流量,本地的ovs-agent会进行检查,发现不一致后会强行再同步回来。

因此,如果想要让修改能保持住,需要修改db中的记录信息。

在ovs_neutron表中,我们能看到有个ports子表,这张表记录了端口的信息,包括该端口上所应该对应的网络id。


如果想让某个端口的vlan tag跟另外一个端口的一致,只需要修改它的network_id为另外一个端口的network_id即可了。

那么,网络到vlan的tag的映射关系是存在哪里呢?

我们可以找到另外一个子表ovs_network_bindings,这里面记录了每个网络和所对应的分片信息。


vlan的tag,一般会跟segmentation_id保持一致。


最后,为了避免出现错误,最好还要更新subnets子表,这里面记录了每个subnet是属于那个network的。我们需要把自己端口所在的subnet更新到新的network上去。


注意,这样修改过之后,OpenStack会认为这个端口已经挂载到另外一个网络上了,在网络拓扑中会显示修改后的结果。


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值