中間菱形是虛擬機,圍繞 VM 的那些長方形表明 OpenStack 不一樣的模塊(OpenStack 叫服務,後面都用服務這個術語),下面來分別介紹。數據庫
Nova:管理 VM 的生命週期,是 OpenStack 中最核心的服務。網絡
Neutron:爲 OpenStack 提供網絡鏈接服務,負責建立和管理L二、L3 網絡,爲 VM 提供虛擬網絡和物理網絡鏈接。架構
Glance:管理 VM 的啓動鏡像,Nova 建立 VM 時將使用 Glance 提供的鏡像。分佈式
Cinder:爲 VM 提供塊存儲服務。Cinder 提供的每個 Volume 在 VM 看來就是一塊虛擬硬盤,通常用做數據盤。ide
Swift:提供對象存儲服務。VM 能夠經過 RESTful API 存放對象數據。做爲可選的方案,Glance 能夠將鏡像存放在 Swift 中;Cinder 也能夠將 Volume 備份到 Swift 中。對象
Keystone:爲 OpenStack 的各類服務提供認證和權限管理服務。簡單的說,OpenStack 上的每個操做都必須經過 Keystone 的審覈。blog
Ceilometer:提供 OpenStac k監控和計量服務,爲報警、統計或計費提供數據。生命週期
Horizon:爲 OpenStack 用戶提供一個 Web 的自服務 Portal。隊列
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 具有極大的靈活性、伸縮性和高可用性。