1.OpenStack 架構
中間菱形是虛擬機,圍繞 VM 的那些長方形代表 OpenStack 不同的模塊(OpenStack 叫服務,后面都用服務這個術語),下面來分別介紹。
Nova:管理 VM 的生命周期,是 OpenStack 中最核心的服務。
Neutron:為 OpenStack 提供網絡連接服務,負責創建和管理L2、L3 網絡,為 VM 提供虛擬網絡和物理網絡連接。
Glance:管理 VM 的啟動鏡像,Nova 創建 VM 時將使用 Glance 提供的鏡像。
Cinder:為 VM 提供塊存儲服務。Cinder 提供的每一個 Volume 在 VM 看來就是一塊虛擬硬盤,一般用作數據盤。
Swift:提供對象存儲服務。VM 可以通過 RESTful API 存放對象數據。作為可選的方案,Glance 可以將鏡像存放在 Swift 中;Cinder 也可以將 Volume 備份到 Swift 中。
Keystone:為 OpenStack 的各種服務提供認證和權限管理服務。簡單的說,OpenStack 上的每一個操作都必須通過 Keystone 的審核。
Ceilometer:提供 OpenStac k監控和計量服務,為報警、統計或計費提供數據。
Horizon:為 OpenStack 用戶提供一個 Web 的自服務 Portal。
2.OpenStack的核心服務
Nova 管理計算資源,是核心服務。
Neutron 管理網絡資源,是核心服務。
Glance 為 VM 提供 OS 鏡像,屬於存儲范疇,是核心服務。
Cinder 提供塊存儲,VM怎么也得需要數據盤吧,是核心服務。
Swift 提供對象存儲,不是必須的,是可選服務。
Keystone 認證服務,沒它 OpenStack 轉不起來,是核心服務。
Ceilometer 監控服務,不是必須的,可選服務。
Horizon 大家都需要一個操作界面吧。
在 Logical Architecture 中,可以看到每個服務又由若干組件組成。
以 Neutron 為例,包含
Neutron Server、Neutron plugins 和 Neutron agents
Network provider
消息隊列 Queue
數據庫 Neutron Database
上面是 Logical Architecture,描述的是 Neutron 服務各個組成部分以及各組件之間的邏輯關系。
而在實際的部署方案上,各個組件可以部署到不同的物理節點上。
OpenStack 本身是一個分布式系統,不但各個服務可以分布部署,服務中的組件也可以分布部署。
這種分布式特性讓 OpenStack 具備極大的靈活性、伸縮性和高可用性。