詳解 ML2 Core Plugin(II) - 每天5分鍾玩轉 OpenStack(72)


上一節我們討論了 ML2 Plugin 解決的問題,本節將繼續研究 ML2 的架構。

ML2 對二層網絡進行抽象和建模,引入了 type driver 和 mechanism driver。

這兩類 driver 解耦了 Neutron 所支持的網絡類型(type)與訪問這些網絡類型的機制(mechanism),其結果就是使得 ML2 具有非常好的彈性,易於擴展,能夠靈活支持多種 type 和 mechanism。

image509.png

Type Driver

Neutron 支持的每一種網絡類型都有一個對應的 ML2 type driver。 type driver 負責維護網絡類型的狀態,執行驗證,創建網絡等。 ML2 支持的網絡類型包括 local, flat, vlan, vxlan 和 gre。 我們將在后面章節詳細討論每種 type。

Mechanism Driver

Neutron 支持的每一種網絡機制都有一個對應的 ML2 mechanism driver。 mechanism driver 負責獲取由 type driver 維護的網絡狀態,並確保在相應的網絡設備(物理或虛擬)上正確實現這些狀態。

type 和 mechanisim 都太抽象,現在我們舉一個具體的例子: type driver 為 vlan,mechanism driver 為 linux bridge,我們要完成的操作是創建 network vlan100,那么:

  1. vlan type driver 會確保將 vlan100 的信息保存到 Neutron 數據庫中,包括 network 的名稱,vlan ID 等。

  2. linux bridge mechanism driver 會確保各節點上的 linux brige agent 在物理網卡上創建 ID 為 100 的 vlan 設備 和 brige 設備,並將兩者進行橋接。

mechanism driver 有三種類型:
Agent-based
包括 linux bridge, open vswitch 等。

Controller-based
包括 OpenDaylight, VMWare NSX 等。

基於物理交換機
包括 Cisco Nexus, Arista, Mellanox 等。 比如前面那個例子如果換成 Cisco 的 mechanism driver,則會在 Cisco 物理交換機的指定 trunk 端口上添加 vlan100。

本教程討論的 mechanism driver 將涉及 linux bridge, open vswitch 和 L2 population。

linux bridge 和 open vswitch 的 ML2 mechanism driver 的作用是配置各節點上的虛擬交換機。 linux bridge driver 支持的 type 包括 local, flat, vlan, and vxlan。 open vswitch driver 除了這 4 種 type 還支持 gre。

L2 population driver 作用是優化和限制 overlay 網絡中的廣播流量。 vxlan 和 gre 都屬於 overlay 網絡。

ML2 core plugin 已經成為 OpenStack Neutron 的首選 plugin,本教程后面會討論如何在實驗環境中配置 ML2 的各種 type 和 mechanism。

學習完 Core Plugin,下一節我們將學習 Service Plugin 和相關的 Agent。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM