Openstack雲平台架構
一個良好的架構設計和運維保障措施,能為OpenStack雲平台的穩定健康運行,產生不可估量的積極影響。如果化繁為簡,簡單的來說,要部署一套生產環境級別的OpenStack雲平台,
至少會涉及到四個層次的內容,即物理基礎設施層、存儲層、OpenStack雲服務層和用戶應用層。如下圖所示:
一.物理基礎設施層
首先,從最底層開始說起,即“物理基礎設施層”。一個基本的物理基礎設施IT環境,包括了電力設備、空調和防火設備、網絡設備(如交換機、路由器、防火牆、負載均衡設備等)、存儲設備和服務器等。由於專業知識的限制,這里,只涉及交換機和服務器方面。一個基本的物理IT環境,如下圖所示:
1.交換機
一般地,在OpenStack生產環境上,交換機端口應該做聚合(channel)。也就是將2個或多個物理端口組合在一起成為一條邏輯的鏈路從而增加交換機和網絡節點之間的帶寬,將屬於這幾個端口的帶寬合並,給端口提供一個幾倍於獨立端口的獨享的高帶寬。Trunk是一種封裝技術,它是一條點到點的鏈路,鏈路的兩端可以都是交換機,也可以是交換機和路由器,還可以是主機和交換機或路由器。
2.服務器
(1).品牌: Dell,HP,華為,聯想,浪潮...
(2).配置:CPU,內存,硬盤,網卡
CPU:
OpenStack各計算節點的CPU型號,必須一致,以保證虛擬機的遷移功能正常可用等
內存:
各計算節點的內存大小,應該一致,以保證虛擬機創建管理的均衡調度等。同時,主機的Swap交換分區,應該科學合理的設置,不能使用系統默認創建的。
數據中心中少部分機器用於做控制節點,大部分機器都是需要運行虛擬化軟件的,虛擬化平台上有大量的VM,而宿主機本身的系統也會跑一些服務,
那么這就勢必會造成vm之間資源搶占,vm與宿主機系統之間的資源搶占,我們需要通過設定規則,讓他們在各自的界限內高效運行,減少沖突搶占。
硬盤:
服務器操作系統使用的系統盤,應該用2塊硬盤來做RAID 1,以提供系統存儲的高可靠性。且推薦使用高性能且成本可控的SAS硬盤,
以提高操作系統、MySQL數據庫和Docker容器(如果使用kolla部署openstack)的IO存儲性能。
網卡:
OpenStack雲平台涉及到的網絡有管理網絡(用於OpenStack各服務之間通信)、外部網絡(提供floating ip)、存儲網絡(如ceph存儲網絡)
和虛機網絡(也稱租戶網絡、業務網絡)四種類型。對應到每一種網絡,服務器都應該做網卡Bond,來提供服務器網絡的冗余、高可用和負載均衡的能力,
根據實際需求,可以選擇模式0或模式1。在網絡流量較大的場景下推薦使用bond 0;在可靠性要求較高的場景下推薦使用bond 1。
一般地,在小規模的私有雲環境中,網絡類型對應的帶寬是:
管理網絡:千兆網絡 外部網絡:千兆網絡 存儲網絡:萬兆網絡 租戶網絡:千兆網絡
如果是中大規模的私有雲或公有雲環境,則推薦盡量都使用萬兆網絡。
二.OpenStack雲平台層