1. 程式人生 > >(轉)OpenStack —— 原理架構介紹(一、二)

(轉)OpenStack —— 原理架構介紹(一、二)

linu block ORC left tar 4.5 nbsp 管理 計算平臺

原文:http://blog.51cto.com/wzlinux/1961337

http://blog.51cto.com/wzlinux/category18.html-------------OpenStack —— 原理架構介紹(一~九)

一、OpenStack 簡介

Openstack是一個控制著大量計算能力、存儲、乃至於整個數據中心網絡資源的雲操作系統,通過Dashboard這個Web界面,讓管理員可以控制、賦予他們的用戶去提供資源的權限(即:能夠通過Dashboard控制整個Openstack雲計算平臺的運作)。

作為IaaS層的雲操作系統,OpenStack為虛擬機提供並管理三大類資源:計算、網絡和存儲。

Openstack的發展非常快,而且由於其開源的本質,所以導致了即便是前後相隔的兩個不同版本,也可能會出現比較大的區別。所以在我們初習Openstack的時候,應該考慮從一個體系相對成熟,資料相對豐富的版本入手。當然如果你擁有良好的英文閱讀習慣的話,Openstack的官網就提供了非常完善的最新版本的文檔資料。

技術分享圖片

二、OpenStack 組件

OpenStack包含了許多組件。有些組件會首先出現在孵化項目中,待成熟以後進入下一個OpenStack發行版的核心服務中。同時也有部分項目是為了更好地支持OpenStack社區和項目開發管理,不包含在發行版代碼中,主要組件如下:

  • Compute (Nova

    ) 計算服務

  • Identity Service (Keystone) 認證服務

  • Image Service (Glance) 鏡像服務

  • Networking (Neutron) 網絡服務

  • Dashboard (Horizon) 儀表板

  • Object Storage (Swift) 對象存儲

  • Block Storage (Cinder) 塊存儲

  • Orchestration (Heat) 編排

  • Telemetry (Ceilometer) 監控

  • Database Service (Trove) 數據庫服務

  • Data Processing (Sahara) 數據處理

三、OpenStack 架構

OpenStack是由一系列具有RESTful接口的Web服務所實現的,是一系列組件服務集合。如下圖為OpenStack的概念架構,我們看到的是一個標準的OpenStack項目組合的架構。這是比較典型的架構,但不代表這是OpenStack的唯一架構,我們可以選取自己需要的組件項目,來搭建適合自己的雲計算平臺。

技術分享圖片

OpenStack項目並不是單一的服務,其含有子組件,子組件內由模塊來實現各自的功能,如下圖為OpenStack的邏輯架構。通過消息隊列和數據庫,各個組件可以相互調用,互相通信。這樣的消息傳遞方式解耦了組件、項目間的依賴關系,所以才能靈活地滿足我們實際環境的需要,組合出適合我們的架構。每個項目都有各自的特性,大而全的架構並非適合每一個用戶,譬如Glance在最早的A、B版本中並沒有實際出現應用,Nova可以脫離鏡像服務獨立運行。當用戶的雲計算規模大到需要管理多種鏡像時,才需要像Glance這樣的組件。OpenStack的成長是在生產環境中不斷被檢驗,然後再將需求反饋給社區,由社區來實現的一個過程,可以說OpenStack並非脫離實際的理想化開源社區項目,而是與生產實際緊密結合的,可以復制應用的雲計算方案。

OpenStack 本身是一個分布式系統,不但各個服務可以分布部署,服務中的組件也可以分布部署。
這種分布式特性讓 OpenStack 具備極大的靈活性、伸縮性和高可用性。

技術分享圖片

附錄:其他圖

概念架構圖:

技術分享圖片

技術分享圖片

技術分享圖片

邏輯架構圖:

技術分享圖片

技術分享圖片

參考:http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/

https://ilearnstack.com/2013/04/23/introduction-to-openstack-2/

(轉)OpenStack —— 原理架構介紹(一、二)