在 ML2 中 enable local network - 天天5分鐘玩轉 OpenStack(79)

前面完成了一系列準備工做,本節開始將建立各類 Neutorn 網絡,咱們首先討論 local network。linux

 

local network 的特色是不會與宿主機的任何物理網卡相連,也不關聯任何的 VLAN ID。網絡

對於每一個 local netwrok,ML2 linux-bridge 會建立一個 bridge,instance 的 tap 設備會鏈接到 bridge。位於同一個 local network 的 instance 會鏈接到相同的 bridge,這樣 instance 之間就能夠通訊了。spa

由於 bridge 沒有與物理網卡鏈接,因此 instance 沒法與宿主機以外的網絡通訊。 同時由於每一個 local network 有本身的 bridge,bridge 之間是沒有連通的,因此兩個 local network 之間也不能通訊,即便它們位於同一宿主機上。配置

下圖是 local network 的示例:plugin

image525.png

  • 建立了兩個 local network,分別對應兩個網橋 brqXXXX 和 brqYYYY。network

  • VM0 和 VM1 經過 tap0 和 tap1 鏈接到 brqXXXX。im

  • VM2 經過 tap2 鏈接到 brqYYYY。配置文件

  • VM0 與 VM1 在同一個 local network中,它們之間能夠通訊。通信

  • VM2 位於另外一個 local network,因爲 brqXXXX 和 brqYYYY 沒有聯通,因此 VM2 沒法與 VM0 和 VM1 通訊。blob

下面咱們將一步一步實現 local network。

在 ML2 配置中 enable local network

建立 local 網絡以前請先確保 ML2 已經加載了 local type driver。 ML2 的配置文件位於 /etc/neutron/plugins/ml2/ml2_conf.ini。

type_drivers 告訴 ML2 加載全部 5 種網絡的 type driver。

type_drivers = local,flat,vlan,gre,vxlan

這樣全部類型的網絡咱們均可以建立(雖然在本節只建立 local 網絡)。

普通用戶和 admin 均可以經過 CLI 或者 Web GUI 建立網絡,但只有 amdin 才能指定網絡的 type,因此須要用 tenant_network_types 告訴 ML2 當普通用戶在本身的 Tenant(Project)中建立網絡時,默認建立哪一種 type 的網絡,這裏 type 是 local。

tenant_network_types = local

tenant_network_types 能夠指定多種 type,好比:

tenant_network_types = vlan, local

其做用是先建立 vlan 網絡,當沒有 vlan 可建立時(好比 vlan id 用完),便建立 local 網絡。

當配置文件發生了變化,須要重啓 Neutron 相關服務使之生效。

下一節將建立第一個 local network。

 

blob.png

相關文章
相關標籤/搜索