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 網絡。