■黃岡職業技術學院電子信息學院 陳金蓮
OpenStack作為一個完全開源的,有大量企業參與支持、貢獻代碼的云操作系統,已經成為云平臺的事實標準,所以學習者一般是搭建OpenStack 平臺。不管用哪種自動化技術來部署,部署時網絡層次的規劃是一個重要步驟,也是一個難點,本文以fuel 為例來說明在部署OpenStack云平臺時涉及到哪些層次的網絡,它們各自的用途是什么。
利用fuel 來部署時,所涉及到的網絡包括如圖1 所示的六個層次,即IPMI 網、部署/PXE 網、存儲網、管理網、業務私網、外網/浮動IP 網。圖中,部署控制器是一臺普通的PC 機,可以是物理的,也可以是一臺虛擬機,而其它的節點則是物理的服務器。當然,在實驗環境中,也可以是一臺虛擬機。

圖1 利用fueI 部署時的網絡層次
首先,來看看IPMI 網絡。IPMI 網嚴格來講與云平臺部署沒有太大的關系,它是服務器基于BMC 芯片形成的一個特殊的網絡接口,用于實現遠程監視服務器的工作狀態,并依據狀態進行管理控制,比如對服務器實現遠程安裝操作系統、遠程開關機。該管理功能不依賴于服務器的CPU 或者安裝于其中的操作系統,在出廠時已經配置好了靜態IP 地址和管理密碼,用戶也可進入服務器的BIOS 對其IP 地址進行重新設置。下面主要對另外的五種網絡進行闡述:
1.部署/PXE 網
PXE(Preboot Execute Environment,預啟動執行環境) 是一種在網卡中預裝了PXE client 的執行環境,當機器從網卡啟動時,PXE client 載入內存動行,向PXE server 申請IP 地址及相關參數,并下載安裝啟動映像文件,進一步安裝PXE server 上指定的其它軟件。
所以,部署網/PXE 網用于實現云平臺的部署,將安裝有部署端即fuel master的PC 機和待部署的服務器連接在同一個網絡中,待部署的服務器通過PXE 實現自動部署,完成操作系統的安裝及OpenStack 各個組件的安裝與配置。fuel master提供一種Web 頁的方式完成云平臺環境的新建、環境中節點相關狀態的獲取、環境的部署、部署完成后狀態的監測、環境的更新等一整套云平臺的管理。
部署完成后,如果不需要對云平臺進行進一步的監測、更新,則該層網絡基本處于閑置狀態,它對云平臺對外提供服務不產生影響。
2.存儲網
存儲網是計算節點訪問分布式存儲時使用的網絡,分布式存儲節點內部的數據冗余復制也需要使用該網絡。
3.業務私網
業務私網是OpenStack租戶創建的虛擬網絡,也叫做租戶網絡,虛擬機之間通過業務私網進行通信。OpenStack 的虛擬網絡有FLAT、FLATDHCP、VLAN 和VXLAN、GRE 隧道等多種類型,在較近的版本中,用得比較多的是VLAN、VXLAN、GRE。
4.管理網
管理網是OpenStack 平臺中各組件之間通信所使用的網絡。該網絡承載了高可用集群的心跳和投票、數據庫、消息隊列、組件間API 調用、虛擬機遷移等。
5.外網/浮動IP 網
外網/浮動IP 網是OpenStack 集群與外界對接的唯一的網絡,平臺中的其他網絡實際上都是集群內部的私網,外界不可見。OpenStack 的浮動IP 是從外網直接訪問租戶創建的虛擬機的渠道,用戶可以從浮動池中申請浮動IP 并綁定到虛擬機上,如果不為虛擬機綁定浮動IP,那么只能從虛擬機主動發其連接到外網,卻不能主動從外網訪問虛擬機。浮動IP 網和外網在同一個CIDR 內,但是地址范圍不能重合,且一個浮動IP 網內的IP 地址必須是連續的。
根據上面的網絡描述,云平臺中的服務器節點需要六個網卡接口,其中包括一個特殊的IPMI 接口。另外,五個網絡有自己獨立的接口,可以獲得良好性能,但很多情況下服務器可能沒有配備那么多的網絡接口,就需要將網絡合并。比如管理網和業務私網合并,共用一個接口,在通信時OpenStack將來自不同邏輯網絡的數據打上不同VLAN id 標簽,從同一個網口進出,以VLAN id來進行區分。
在進行網絡合并時,要注意以下問題:
1.由于部署網需要使用DHCP 和PXE,在安裝操作系統前各節點間就需要連通,此時物理節點無法從部署網上收發帶VLAN 標簽的流量,所以部署網一般不與其它邏輯網合并。如果必須合并則需要將物理機節點與交換機相連的端口配置成相應VLAN的Native,以讓交換機端口來自動加或者去掉VLAN id。
2.IPMI 則是專用的管理端口,現在的服務器一般都配有該端口,如果沒有,需要與其它邏輯網絡合并的話,因其需要識別DHCP 流量,則所連交換機的接口也要配置為native VLAN 的形式。
3.如果網卡有富余,可以考慮通過做bond 來提高網絡的吞吐量和可靠性。部署控制器的圖形界面中可以通過勾選網卡來設置bond。
4.對網段地址規劃時,由于只有外網/浮動IP 與外部聯通,因此一般只需要考慮外部網絡的網段規劃,與網絡節點所連接的外網在一個網段,保證地址夠用、不沖突、連續即可,而其它的邏輯網絡用不同的私網網段。
下面以帶一個專用IPMI接口、四張網卡接口的服務器,業務私網采用VLAN 形式來說明接口及網絡的規劃。
因為有四張物理網卡,所以只需要合并五個網絡中的兩個就可以了。考慮到管理網和存儲網在應用過程中有較大的數據流,它們分別獨占一個網卡。對于外網而言,一般只要求安裝了neutron 組件的節點接入外網即可,在fuel自動部署中,neutron 安裝在控制節點中,其它節點中的云主機要與外網連通也需經過控制節點。外網承擔著所有云主機的進出流量,也規劃為獨占一張網卡。那么,就需要將部署網與業務私網合并在一張網卡上了,而部署網在安裝系統之前就需要連通,無法收發帶VLAN id 的數據,則只能在相應的交換機接口上將部署網所在的VLAN 設置成接口的native VLAN,以自動增加id 號或去掉id 號。
以上只是對一種情況進行說明,而在實際部署時,一定要根據實際網絡需求進行設計。當然,理解了OpenStack 的網絡架構,規劃出合理的網絡也就不是問題。