OpenStack網絡配置設計

OpenStack提供了豐富的網絡配置環境,本文介紹設計雲系統是對於網絡部分需求的考慮和設計。

如果這次是首次在你的組織中部署雲系統,在閱讀完本章節後請和你的網絡運維團隊進行溝通,以便了解現有網絡狀況。雲系統使用的網絡同普通系統所使用的網絡部署方式不同,且有可能在部署時對於網絡的連接性和網絡策略造成影響。

比如:組成雲系統的服務器和雲上運行的虛擬機實例所需要用的IP地址資源就需要事先進行妥善規劃和準備;雲系統網絡中所涉及到的代理,防火牆也需要進行相應的研究。

網絡管理

網絡有效管理通常是一個重要的考慮項目(常見的如:分散的交換機和網絡接口)。通過將系統管理和監控產生流量和實際雲系統用戶流量進行分流的網絡管理方式可以減少對於用戶使用的影響。

對於OpenStack內部組件則建議使用私有網絡進行通訊,如:消息隊列,OpenStack計算節點。VLAN非常適合於這種私有網絡的場景。

公共訪問選項

對於雲系統中虛擬機實例有兩種的IP地址分配策略:固定IP和動態IP。固定IP策略是在虛擬機實例啓動時分配並綁定一個固定IP地址,而動態IP策略則可能在用戶的不同操作時IP地址發生變更。這兩種IP策略按照需求同時可用於共有和私有網絡。

OpenStack必須使用固定IP地址,而動態IP地址則不是必須的。常見的2種動態IP的應用場景是:對於公網IP地址有限的私有云環境,可提供外網對於私有云的訪問;或對於公有云用戶可以有一個靜態IP來訪問雲資源,而在雲系統中實際對應的實例已遷移或升級。

固定IP地址可以是私有云中的內網IP,也可以是公有云中的公網IP。當虛擬機實例終止後,對應的固定IP地址就被系統回收。需要注意的是剛開始使用雲系統的用戶可能會對固定IP地址的消失產生困惑。

IP地址規劃

OpenStack環境可能會需要很多子網,且每個子網間運行不同的服務。IP地址規劃可以對於網絡分隔和擴展提供更好的幫助。控制類服務同時需要公網和私網IP地址,可參見之前提到的虛擬機公網配置的選項。

IP地址規劃可以分解成以下部分:

  1. 子網路由:子網數據包通過專用路由或nova-network服務進行通訊
  2. 控制服務的公開接口:swift-proxy, nova-api, glance-api和horizon的公用訪問,可以指向單臺服務器也可在負載均衡之後。
  3. 對象存儲集羣內部通訊:在對象/賬號/容器的服務之間的通訊和代理服務的內部接口使用的私有網絡上的通訊。
  4. 計算和存儲通訊:臨時存儲和對象存儲對於計算節點來說是外部服務,需要網絡進行連接通訊。
  5. 外部遠程管理:如果專用的外部遠程控制器用於管理服務器,通常採用分隔的網絡。
  6. 內部遠程管理:通常計算或存儲節點需要額外的網絡接口(如 1G接口)用於系統管理或監控工具訪問服務器。
  7. 未來擴展的預留空間:添加新的面向公開的控制服務,或是更多的虛擬機實例的IP需要在你的計劃中。

比如:在私有IP段172.22.42.0/24 and 172.22.87.0/26上部署了OpenStack的計算和對象存儲服務,可按照如下方式進行配置:

 172.22.42.0/24 172.22.42.1 - 172.22.42.3 - 子網路由 172.22.42.4 - 172.22.42.20 - 預留 172.22.42.21 - 172.22.42.104 - 計算節點遠程控制器 172.22.42.105 - 172.22.42.188 - 計算節點管理接口 172.22.42.189 - 172.22.42.208 - Swift proxy遠程控制器 172.22.42.209 - 172.22.42.228 - Swift proxy管理接口 172.22.42.229 - 172.22.42.252 - Swift storage servers遠程控制器 172.22.42.253 - 172.22.42.254 - 預留 172.22.87.0/26: 172.22.87.1 - 172.22.87.3 - 子網路由 172.22.87.4 - 172.22.87.24 - Swift proxy server內部接口 172.22.87.25 - 172.22.87.63 - Swift object server內部接口

也可以使用公網IP地址實現類似方式,建議使用較大範圍段的IP地址。需要注意的是有些Openstack網絡配置下,虛擬機實例的公網IP地址是分配給了nova-compute主機。

網絡拓撲

OpenStack提供了幾種網絡管理方式,每種各自有自己的優缺點。選擇不同的網絡管理管理方式會影響到你網絡拓撲,所以需要謹慎選擇合適方式。 方式 Flat 優點:及其簡單,不需要DHCP廣播 缺點:需要在虛擬機實例中進行文件注入,僅限於有限的Linux發行版,配置困難,不推薦 FlatDHCP 優點:配置相對簡單,標準網絡協議,可用於任意操作系統 缺點:需要有自己的DHCP廣播域 VlanManager 優點:每個租戶可以隔離在自己的VLAn中 缺點:配置較複雜,需要有自己的DHCP廣播域,需要需要許多VLAN配置傳輸端口,有VLAN數量限制,交換機需要支持802.1q VLAN tagging FlatDHCP Multi-host 優點:網絡故障可按照虛擬機進行隔離 缺點:配置複雜 HA 優點:running on the hypervisor affected.(不知道什麼意思?主機上運行,可遷移?),DHCP通訊可以隔離在單個主機,網絡流量可以分佈到不同的計算節點上 缺點:默認計算節點需要分配公網IP地址,在線擴展時在網絡部分需要特別小心的修改配置

VLANs

VLAN的配置可以從簡單到複雜。使用VLAN可以使每個項目有有自己的子網且網絡廣播可以同其他的項目分隔開。爲了讓OpenStack更好的使用VLAN,需要將VLAN進行劃分(每個項目一個VLAN)且每個計算節點連接的交換機端口都需要綁定到VLAN的傳輸端口(trunck port)。

比如:你的雲預計需要支持最多100個項目,選擇一個當前網絡架構中沒有使用的VLAN範圍(如:VLAN 200 - 299),然後配置OpenStack使用該VLAN範圍且交換機端口允許該範圍的VLAN進行通訊。

多個網絡接口

OpenStack可以支持將多個網絡接口分配給一個虛擬機實例。雖然這是一個不常用的高級特性,但通過簡單配置就可支持。需要注意的是第二個網絡接口使用整個子網或VLAN,對於可支持的項目數會減少。

多主機和單主機網絡

nova-network服務可以運行在多主機或單主機模式下。

多主機網絡模式就是每個計算節點上都運行一份nova-network服務,該服務就作爲相同節點上虛擬機實例連接Internet的網關。同時,計算節點也爲本機的虛擬機實例提供了動態IP和安全組(Security Groups)。(獨立連接Internet)

單主機網絡模式是使用集中的服務器,如:雲控制器,獨立運行nova-network服務。所有計算節點都將虛擬機實例的網絡通訊轉發到雲控制器,雲控制器負責連接到Internet。雲中的所有計算節點上所有的虛擬機實例使用的動態IP和安全組(Security Groups)都是由雲控制器支持。

這兩種模式各有優缺點。單主機網絡模式有單點故障的缺點,當雲控制器發生故障,所有虛擬機實例都無法進行網絡通訊。而多主機網絡模式則沒有這個問題,但多主機模式下需要每個計算節點都有一個公網IP用於連接Internet。當沒有足夠的公網IP地址時,則無法使用多主機網絡模式。

網絡服務

OpenStack和其他網絡應用一樣會應用很多標準服務,比如:DNS和NTP

NTP

時間同步是確保OpenStack各個組件能正常工作的一個關鍵因素。虛擬機實例中的調度,對象存儲中的對象複製和日誌中的時間戳匹配都必須要有正確的時間。

所有運行OpenStack組件的服務器都需要能訪問適合的NTP服務。你可以通過在本地搭建一個NTP服務或者是使用公用的NTP服務。通過訪問http://www.pool.ntp.org/可以獲得可用的公用NTP服務。

DNS

除了在安裝nova-network服務器上有運行dnsmasq之外,OpenStack目前並不提供DNS服務。你可以考慮提供一個動態DNS服務用於虛擬機實例更新DNS記錄指向新的IP地址,也可以提供正向或逆向的DNS同虛擬機實例IP地址的映射,如:vm-203-0-113-123.example.com。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章