本節開始我們将學習 Linux Bridge 如何實作 Neutron 的各種功能。
首先需要配置 linux-bridge mechanism driver。
Neutorn ML2 plugin 預設使用的 mechanism driver 是 open vswitch 而不是 linux bridge。那是否還有研究 linux bridge 的必要呢?
我的答案是:很有必要!
原因如下:
linux bridge 技術非常成熟,而且高效,是以業界很多 OpenStack 方案采用的是 linux bridge,比如 Rackspace 的 private cloud。
open vswitch 實作的 Neutron 虛拟網絡較為複雜,不易了解;而 linux bridge 方案更直覺。先了解 linux bridge 方案後再學習 open vswitch 方案會更容易。并且可以通過兩種方案的對比更加深入地了解 Neutron 網絡。
在深入學習之前,我們先複習一下 linux bridge 實作虛拟交換節的基本原理。
上圖中,br0 是 linux bridge,br0 充當虛拟交換機的作用,負責将實體網卡 eth0 和虛拟網卡 tap 裝置 vnet0/vent1 連接配接到同一個二層網絡,實作虛拟機 VM1 和 VM2,以及虛拟機與外網之間的通信。
關于 linux bridge 更詳細的内容請參考“預備知識 -> 網絡虛拟化” 相關章節。
要在 Neutron 中使用 linux bridge,首先需要配置 linux-bridge mechanism driver。
Neutron 預設使用 ML2 作為 core plugin,其配置位于 /etc/neutron/neutron.conf。
控制節點和計算節點都需要在各自的 neutron.conf 中配置 core_plugin 選項。
然後需要讓 ML2 使用 linux-bridge mechanism driver。
ML2 的配置檔案位于 /etc/neutron/plugins/ml2/ml2_conf.ini。
mechanism_drivers 選項指明目前節點可以使用的 mechanism driver,這裡可以指定多種 driver,ML2 會負責加載。
上面的配置指明我們隻使用 linux-bridge driver。
控制節點和計算節點都需要在各自的 ml2_conf.ini 中配置 mechanism_drivers 選項。
Neutron 服務正常啟動後,所有節點上都會運作 neutron-linuxbridge-agent
linux-bridge mechanism driver 已經配置完畢,下一節會檢視目前的網絡狀态。
随着各種 Neutron 功能的實踐,我們将看到這個網絡狀态會不斷的演變和發展。
本文轉自CloudMan6 51CTO部落格,原文連結:http://blog.51cto.com/cloudman/1841760