前面咱们已经学习了 OVS 的 local 网络 和 falt 网络,今天开始讨论 vlan 网络。
linux
vlan network 是带 tag 的网络。web
在 Open vSwitch 实现方式下,不一样 vlan instance 的虚拟网卡都接到 br-int 上。 这一点与 linux bridge 很是不一样,linux bridge 是不一样 vlan 接到不一样的网桥上。网络
在咱们的实验环境中,收发 vlan 数据的物理网卡为 eth1,上面能够走多个 vlan,
因此物理交换机上与 eth1 相连的的 port 要设置成 trunk 模式,而不是 access 模式。app
在 /etc/neutron/plugins/ml2/ml2_conf.ini 设置 vlan network 相关参数:学习
tenant_network_types = vlanspa
指定普通用户建立的网络类型为 vlan。orm
而后指定 vlan 的范围:字符串
上面配置定义了 label 为 “default” 的 vlan network,vlan id 的范围是 3001 - 4000。 这个范围是针对普通用户在本身的租户里建立 network 的范围。 由于普通用户建立 network 时并不能指定 vlan id,Neutron 会按顺序自动从这个范围中取值。it
对于 admin 则没有 vlan id 的限制,admin 能够建立 id 范围为 1-4094 的 vlan network。io
接着须要指明 vlan 网络与物理网络的对应关系:
如上所示: 在 [ml2_type_vlan] 中定义了 lable “default”,
[ovs] 中则经过 bridge_mappings 指明 default 对应的 Open vSwitch 网桥为 br-eth1。
这里 label 的做用与前面 flat network 中的 label 同样,只是一个标示,能够是任何字符串。
咱们须要提早经过 ovs-ovctl 命令:
建立 br-eth1。
将物理网卡 eth1 桥接在 br-eth1 上。
配置完毕,下一节建立 OVS vlan network。