OpenStack 管理的資源不是單機的而是一個分佈的系統,把分佈的計算、存儲、網絡、設備、資源組織起來,造成一個完整的雲計算系統;OpenStack 也提供一個 UI,這裏包括一個圖形化的 UI:Horizon,也提供命令行的界面,還提供了一套 API 支持用戶開發本身的軟件…服務器
OpenStack 是一套框架,有下面這兩個特色:網絡
一個成功的開源平臺,有三個要素組成,技術 + 生態 + 用戶; OpenStack 誕生於2010年;框架
瞭解一下:分佈式
每一個項目通過孵化階段之後纔可以集成發佈,OpenStack 爲項目的孵化提供了一整套的基礎設施和資源,包括代碼和文檔的管理,還有配置管理,版本控制等等工具;這些基礎設施可以支持全球範圍內的大規模的協做開發,這些基礎設施和工具自己也是表明了 IT 領域先進的生產工具;工具
每半年發佈一個版本,會由技術委員會和版本發佈經理以及項目的 TPL 來共同決定每一個版本中間要發佈哪些 Feature。oop
OpenStack 做爲一個操做系統,管理資源是它的首要任務;OpenStack 管理資源主要有三個方面:計算、存儲 和 網絡。雲計算
OpenStack 對資源進行管理,而且以服務的形式提供給上層應用或者用戶去使用。這些資源的管理是經過 OpenStack 中的各個項目來實現的。其中計算資源管理相關的項目是 Nova(又稱爲 OpenStack Compute);存儲相關的主要有塊存儲服務 Cinder、對象存儲服務 Swift、鏡像存儲服務 Glance 這三種;操作系統
與網絡相關的主要是一個和軟件定義網絡相關的項目叫做 Neutron;另外,Nova 中間有一個管理網絡的模塊叫做 Nova Network,做爲一個比較穩定的遺留組件仍在 OpenStack 裏面和 Neutron 並存,咱們在小規模部署裏面常常爲了追求這種穩定,而且減小工做量會去使用 Nova Network 這樣的一個組件來對網絡資源進行管理。命令行
OpenStack 提供的這些服務和公有云上的服務每每有一種對應關係,這裏以亞馬遜的公有云 AWS 爲例,看一下 OpenStack 的服務和亞馬遜的服務之間的對應的關係:設計
與aws的部分功能作對應:
Nova - EC2;Cinder - EBS;Neutron - VPC;Swift - S3;Glance - VM Import/Export 等;
OpenStack 核心的項目:Nova 、 Cinder、 Neutron、 Swift、 Keystone、 Glance、 Horizon
又被稱爲 OpenStack Compute,主要做用是控制虛擬機的建立,以及改變它的容量和配置,還能夠作虛擬機的銷燬,虛擬機的整個生命週期都是由 Nova 來控制的;
Nova 的部署運行通常有兩種狀況:一類是 Nova 做爲 Controller 節點去運行,Controller 節點是用來控制其它的一些計算節點的;另一類節點就是 Compute 節點,是計算節點,上面是運行實際的虛擬機的;
[ 那麼有什麼區別呢?]
Cinder 組件主要的用途是提供塊存儲服務,最核心的兩個部分是 Scheduler 和 Cinder Volume。有讀寫存儲服務請求的時候,Scheduler 決定經過哪一個 Cinder Volume 進行讀取操做,Cinder Volume 是實際控制存儲的設備。
有一個很是火的概念叫做 SDN,軟件定義網絡,Neutron 是在 OpenStack 裏邊的一個實現, 有一個很大的特色就是提供 Plugin 模塊,這個是用戶能夠本身去寫的。
Swift 是一個比較有趣的組件,從 OpenStack 的誕生之初就已經有 Swift 的這個項目了,可是它發展到如今仍是比較獨立的,和其它組件的交互關係比較少,是一個相對獨立的發展套路,美國有一個公司叫做 SwiftStack,是專門用 Swift 來作的一個公司,Swift 是提供對象存儲服務的 ,提供一個相似於像亞馬遜 S3 或者像國內的七牛這樣的一個存儲服務。 其餘的組件若是要用到對象存儲的時候,就去 Swift 裏邊去寫數據,讀數據; Swift 能夠利用 Keystone 來作認證。
須要使用 Swift 最多的一個組件,主要是用 Swift 來存虛擬機的鏡像、快照等等這樣一些東西。
主要是爲各個組件提供用戶的認證、建權等等這樣的一些服務。
圖形界面。
是用來作各個服務的編排的。
把 Hadoop 可以放在 OpenStack 上去運行的一個組件。