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

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

ML2 對二層網絡進行抽象和建模,引入了 type driver 和 mechansim 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。架構

Mechansim Driver

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

type 和 mechanisim 都太抽象,如今咱們舉一個具體的例子: type driver 爲 vlan,mechansim driver 爲 linux bridge,咱們要完成的操做是建立 network vlan100,那麼:優化

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

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

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

Controller-based
包括 OpenDaylight, VMWare NSX 等。io

基於物理交換機
包括 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 和 mechansim。

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

相關文章
相關標籤/搜索