首页 > 代码库 > flat network 原理与配置 - 每天5分钟玩转 OpenStack(86)

flat network 原理与配置 - 每天5分钟玩转 OpenStack(86)

技术分享

flat network 是不带 tag 的网络,要求宿主机的物理网卡直接与 linux bridge 连接,这意味着:

每个 flat network 都会独占一个物理网卡。

技术分享

上图中 eth1 桥接到 brqXXX,为 instance 提供 flat 网络。 如果需要创建多个 flat network,就得准备多个物理网卡,如下图所示。

技术分享

接下来讨论如何配置 flat 网络。

在 ML2 配置中 enable flat network

在 /etc/neutron/plugins/ml2/ml2_conf.ini 设置 flat network 相关参数。

技术分享

tenant_network_types = flat

指定普通用户创建的网络类型为 flat。 需要注意的是:因为 flat 网络与物理网卡一一对应,一般情况下租户网络不会采用 flat,这里只是示例。

接着需要指明 flat 网络与物理网卡的对应关系。

技术分享

技术分享

如上所示: 1. 在 [ml2_type_flat] 中通过 flat_networks 定义了一个 flat 网络,label 为 “default”。 2. 在 [linux_bridge] 中通过 physical_interface_mappings 指明 default 对应的物理网卡为 eth1。

理解 label 与 ethX 的关系

label 是 flat 网络的标识,在创建 flat 时需要指定 label(后面演示)。label 的名字可以是任意字符串,只要确保各个节点 ml2_conf.ini 中的 label 命名一致就可以了。

各个节点中 label 与物理网卡的对应关系可能不一样。这是因为每个节点可以使用不同的物理网卡将 instance 连接到 flat network。

例如对于 label 为 “default” 的 flat network,节点 A 可能使用 eth1,配置为:

physical_interface_mappings = default:eth1

而节点 B 则可能使用 eth2,配置为:

physical_interface_mappings = default:eth2

支持多个 flat

如果要创建多个 flat 网络,需要定义多个 label,用逗号隔开,当然也需要用到多个物理网卡,如下所示:

[ml2_type_flat]

flat_networks = flat1,flat2

[linux_bridge]

physical_interface_mappings = flat1:eth1,flat2:eth2

准备就绪,下一节将创建 flat 网络。

 

技术分享

flat network 原理与配置 - 每天5分钟玩转 OpenStack(86)