怎么在ML2中配置OVS flat network3,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
flat network 是不帶 tag 的網絡,宿主機的物理網卡通過網橋與 flat network 連接,每個 flat network 都會占用一個物理網卡。
在控制節點 /etc/neutron/plugins/ml2/ml2_conf.ini 中設置 flat network 相關參數:
tenant_network_types = flat
指定普通用戶創建的網絡類型為 flat。 需要注意的是:因為 flat 網絡與物理網卡一一對應,一般情況下租戶網絡不會采用 flat,這里只是示例。
接著需要指明 flat 網絡與物理網絡的對應關系
在 [ml2_type_flat] 中通過 flat_networks 定義了一個 flat 網絡,label 為 “default”。
在 [ovs] 中通過 bridge_mappings 指明 default 對應的 Open vSwitch 網橋為 br-eth2。
label 是 flat 網絡的標識,在創建 flat 時會用到(后面演示),label 的名字可以是任意字符串,只要確保各個節點 ml2_conf.ini 中的 label 命名一致就可以了。
各個節點中 label 與物理網卡的對于關系可能不一樣。這是因為每個節點可以使用不同的物理網卡將 instance 連接到 flat network。
與 linux bridge 實現的 flat 網絡不同,ml2 中并不會直接指定 label 與物理網卡的對應關系,而是指定 label 與 ovs bridge 的對應關系。
[ovs] bridge_mappings = default:br-eth2
這里的 ovs bridge 是 br-eth2,我們需要提前通過 ovs-ovctl 命令:
創建 br-eth2。
將物理網卡 eth2 橋接在 br-eth2 上。
如果要創建多個 flat 網絡,需要定義多個 label,用逗號隔開,當然也需要用到多個 ovs bridge,如下所示:
[ml2_type_flat] flat_networks = flat1,flat2
[ovs]bridge_mappings = flat1:br-eth2,flat2:br-eth3
通過以上步驟控制節點的 flat 網絡就準備好了。 計算節點也需要做相同的配置,然后重啟所有節點的 Neutron 服務。
下面有必要通過 ovs-vsctl show 檢視一下當前的網絡結構。
對于 ovs bridge “br-eth2” 和其上橋接的 port “eth2” 我們應該不會感到意外,這是前面配置的結果。
然而除此之外,br-int 和 br-eth2 分別多了一個 port “int-br-eth2” 和 “phy-br-eth2”,而且這兩個 port 都是 “patch” 類型,同時通過 “peer” 指向對方。
上面的配置描述了這樣一個事實:br-int 與 br-eht1 這兩個網橋通過 int-br-eth2 和 phy-br-eth2 連接在一起了。
在前面 local network 我們看到,br-int 與 linux bridge 之間可以通過 veth pair 連接。
而這里兩個 ovs bridge 之間是用 patch port 連接的。
看來 veth pair 和 patch port 都可以連接網橋,使用的時候如何選擇呢?
patch port 是 ovs bridge 自己特有的 port 類型,只能在 ovs 中使用。
如果是連接兩個 ovs bridge,優先使用 patch port,因為性能更好。
所以:
1. 連接兩個 ovs bridge,優先使用 patch port。技術上veth pair 也能實現,但性能不如 patch port。
2. 連接 ovs bridge 和 linux bridge,只能使用 veth pair。
3. 連接兩個 linux bridge,只能使用 veth pair。
看完上述內容,你們掌握怎么在ML2中配置OVS flat network3的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。