前面文章介绍了openstack 为了解决VM内可以接入多个vlan网络的一个特性“VLAN aware VMs”,但是在实际调试中遇到了些问题,这里做下说明。
其实这里面有几个小误区:
1.该特性实际上是解决了租户级的vlan,跟底层是vlan还是vxlan无关。所以底层underlay如果也是vlan的话,注意要有所区别。
2.针对underlay是vlan的组网而言,其实租户 vm 内部的每一个vlan实际也对应底层一个vlan。
这里需要强调几点
步骤
- create parent_net 以及parent_subnet 网段和port(parent_port)等信息
- create subnet_net以及subnet_subnet 网段和port(subport)等信息
- create trunk 指定parent_port sub_port(后续可以给这个trunk在添加或者删除subport)
- create vm 指定parent-port
- 每一个虚机对应的parent-port,即创建虚机的时候-nic 参数指定。
- 在创建trunk时,添加subport时指定的segment id和实际的underlay 的vlan无关,因为underlay如果是vxlan也是可以的。
- 创建好vm后,要在vm内创建子接口,并指定mac地址,该mac地址是对应neutron 为该subport分配的地址
- vm的子接口所在网络可以dhcp获取ip
- 一个trunk 对应的一个parentport和若干个subport, 也就对应一个VM
二、网络模型