OVN 的路由提供商网络¶
路由提供商网络功能用于在 Neutron 中将多段的第三层网络呈现为单个实体。
在创建具有多个段的提供商网络之后,如 Neutron 文档 中所述,每个段连接到提供商 Local_Switch 条目,作为 Logical_Switch_Port 条目,端口类型为 localnet。
例如,在 OVN 北向数据库中,具有两个段(VLAN:100、200)的 VLAN 提供商网络与其 Logical_Switch 对应项的关系如下:
$ ovn-nbctl list logical_switch public
_uuid : 983719e5-4f32-4fb0-926d-46291457ca41
acls : []
dns_records : []
external_ids : {"neutron:mtu"="1450", "neutron:network_name"=public, "neutron:revision_number"="3"}
forwarding_groups : []
load_balancer : []
name : neutron-6c8be12a-9ed0-4ac4-8130-cb8fad83cd46
other_config : {mcast_flood_unregistered="false", mcast_snoop="true"}
ports : [81bce1ab-87f8-4ed5-8163-f16701499dfe, b23d0c2e-773b-4ecb-8306-53d117006a7b]
qos_rules : []
$ ovn-nbctl list logical_switch_port 81bce1ab-87f8-4ed5-8163-f16701499dfe
_uuid : 81bce1ab-87f8-4ed5-8163-f16701499dfe
addresses : [unknown]
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {}
ha_chassis_group : []
name : provnet-96f663af-19fa-4c7e-a1b8-1dfdc9cd9e82
options : {network_name=phys-net-1}
parent_name : []
port_security : []
tag : 100
tag_request : []
type : localnet
up : false
$ ovn-nbctl list logical_switch_port b23d0c2e-773b-4ecb-8306-53d117006a7b
_uuid : b23d0c2e-773b-4ecb-8306-53d117006a7b
addresses : [unknown]
dhcpv4_options : []
dhcpv6_options : []
dynamic_addresses : []
enabled : []
external_ids : {}
ha_chassis_group : []
name : provnet-469cbc3d-8e06-4a8f-be3a-3fcdadfd398a
options : {network_name=phys-net-2}
parent_name : []
port_security : []
tag : 200
tag_request : []
type : localnet
up : false
如您所见,这两个 localnet 端口配置了 VLAN 标签,并与单个 Logical_Switch 条目相关联。当 *ovn-controller* 看到该网络中的端口已绑定到其运行的节点时,它将根据桥接映射配置创建到提供商桥的补丁端口。
compute-1: bridge-mappings = segment-1:br-provider1
compute-2: bridge-mappings = segment-2:br-provider2
例如,当多段网络中的端口绑定到 compute-1 时,ovn-controller 将在 br-int 和 br-provider1 之间创建补丁端口。
需要注意的是,在给定的虚拟机监控程序上,只有属于同一段的端口才应该存在。不允许在同一虚拟机监控程序上为同一网络(Logical_Switch)混合来自不同段的端口。