1. 程式人生 > >沈澱再出發:openstack初探

沈澱再出發:openstack初探

.cn 實現類 計費 進行 任務 驅動器 中間 框架 初始

沈澱再出發:OpenStack初探

一、前言

OpenStack是IaaS的一種平臺,通過各種虛擬化來提供服務。我們主要看一下OpenStack的基本概念和相應的使用方式。

二、OpenStack的框架和使用

2.1、OpenStack簡介

OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發並發起的,以Apache許可證授權的自由軟件和開放源代碼項目。OpenStack是一個開源的雲計算管理平臺項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的雲環境,項目目標是提供實施簡單、可大規模擴展、豐富、標準統一的雲計算管理平臺。OpenStack通過各種互補的服務提供了基礎設施即服務(IaaS)的解決方案,每個服務提供API以進行集成。


OpenStack雲計算平臺,幫助服務商和企業內部實現類似於 Amazon EC2 和 S3 的雲基礎架構服務(Infrastructure as a Service, IaaS)。OpenStack 包含兩個主要模塊:Nova 和 Swift前者是 NASA 開發的虛擬服務器部署和業務計算模塊;後者是 Rackspace開發的分布式雲存儲模塊,兩者可以一起用,也可以分開單獨用。

2.2、OpenStack的架構

技術分享圖片

技術分享圖片

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

技術分享圖片

2.3、OpenStack的組成

OpenStack開源項目由社區維護,包括OpenStack計算(代號為Nova),OpenStack對象存儲(代號為Swift),OpenStack鏡像服務(代號Glance)的集合。 OpenStack提供了一個操作平臺,或工具包,用於編排雲。整個OpenStack是由控制節點,計算節點,網絡節點,存儲節點四大部分組成。這四個節點也可以安裝在一臺機器上,單機部署。

1 控制節點負責對其余節點的控制,包含虛擬機建立,遷移,網絡分配,存儲分配等等
2 計算節點負責虛擬機運行
3 網絡節點負責對外網絡與內網絡之間的通信
4 存儲節點負責對虛擬機的額外存儲管理等等

控制節點包括以下服務:

(1)管理支持服務包含MySQL與Qpid兩個服務

1  MySQL:數據庫作為基礎/擴展服務產生的數據存放的地方
2  Qpid:消息代理(也稱消息中間件)為其他各種服務之間提供了統一的消息通信服務

(2)基礎管理服務包含Keystone,Glance,Nova,Neutron,Horizon五個服務

1    Keystone:認證管理服務,提供了其余所有組件的認證信息/令牌的管理,創建,修改等等,使用MySQL作為統一的數據庫。
2    Glance:鏡像管理服務,提供了對虛擬機部署的時候所能提供的鏡像的管理,包含鏡像的導入,格式,以及制作相應的模板。
3    Nova:計算管理服務,提供了對計算節點的Nova的管理,使用Nova-API進行通信。
4    Neutron:網絡管理服務,提供了對網絡節點的網絡拓撲管理,同時提供Neutron在Horizon的管理面板。
5    Horizon:控制臺服務,提供了以Web的形式對所有節點的所有服務的管理,通常把該服務稱為DashBoard。

(3)擴展管理服務包含Cinder,Swift,Trove,Heat,Centimeter五個服務

1 Cinder:提供管理存儲節點的Cinder相關,同時提供Cinder在Horizon中的管理面板
2 Swift:提供管理存儲節點的Swift相關,同時提供Swift在Horizon中的管理面板
3 Trove:提供管理數據庫節點的Trove相關,同時提供Trove在Horizon中的管理面板
4 Heat:提供了基於模板來實現雲環境中資源的初始化,依賴關系處理,部署等基本操作,也可以解決自動收縮,負載均衡等高級特性。
5 Centimeter:提供對物理資源以及虛擬資源的監控,並記錄這些數據,對該數據進行分析,在一定條件下觸發相應動作

網絡節點

網絡節點僅包含Neutron服務,Neutron負責管理私有網段與公有網段的通信,以及管理虛擬機網絡之間的通信/拓撲,管理虛擬機之上的防火等等。網絡節點包含三個網絡端口:

1 eth0:用於與控制節點進行通信
2 eth1:用於與除了控制節點之外的計算/存儲節點之間的通信
3 eth2:用於外部的虛擬機與相應網絡之間的通信

計算節點

計算節點包含Nova,Neutron,Telemeter三個服務。計算節點包含最少兩個網絡端口:

1 eth0:與控制節點進行通信,受控制節點統一調配
2 eth1:與網絡節點,存儲節點進行通信
1 基礎服務:
2 Nova:提供虛擬機的創建,運行,遷移,快照等各種圍繞虛擬機的服務,並提供API與控制節點對接,由控制節點下發任務
3 Neutron:提供計算節點與網絡節點之間的通信服務
4 擴展服務:
5 Telmeter:提供計算節點的監控代理,將虛擬機的情況反饋給控制節點,是Centimeter的代理服務。

存儲節點

存儲節點包含Cinder,Swift等服務。存儲節點包含最少兩個網絡接口:

1 eth0:與控制節點進行通信,接受控制節點任務,受控制節點統一調配
2 eth1:與計算/網絡節點進行通信,完成控制節點下發的各類任務

Cinder:塊存儲服務,提供相應的塊存儲,簡單來說,就是虛擬出一塊磁盤,可以掛載到相應的虛擬機之上,不受文件系統等因素影響,對虛擬機來說,這個操作就像是新加了一塊硬盤,可以完成對磁盤的任何操作,包括掛載,卸載,格式化,轉換文件系統等等操作,大多應用於虛擬機空間不足的情況下的空間擴容等等。
Swift:對象存儲服務,提供相應的對象存儲,簡單來說,就是虛擬出一塊磁盤空間,可以在這個空間當中存放文件,也僅僅只能存放文件,不能進行格式化,轉換文件系統,大多應用於雲磁盤/文件。

2.4、OpenStack的組件和關系

 1  Compute (Nova) 計算服務
 2  Identity Service (Keystone) 認證服務
 3  Image Service (Glance) 鏡像服務
 4  Networking (Neutron) 網絡服務
 5  Dashboard (Horizon) 儀表板
 6  Object Storage (Swift) 對象存儲
 7  Block Storage (Cinder) 塊存儲
 8  Orchestration (Heat) 編排
 9  Telemetry (Ceilometer) 監控
10  Database Service (Trove) 數據庫服務
11  Data Processing (Sahara) 數據處理

技術分享圖片

Openstack 包含以下服務:

 1 1)Dashboard
 2      該服務的工程名為Horizon,目的是提供基於Web的自服務門戶,來實現用戶與底層服務的交互,比如啟動實例,分配IP地址,配置訪問控制策略等等。
 3 2)Compute
 4     該服務的工程名為Nova,目的是管理運行在Openstack環境中的計算實例,比如按需創建,調度和銷毀虛擬機。
 5 3)Networking
 6     該服務的工程名為Neutron,目的是為Openstack的服務,比如計算服務,提供網絡連接服務。提供了API供用戶定義網絡及其相關內容。基於"插件式"的架構,支持眾多主流的網絡提供商和技術。
 7 4)Object Storage
 8      該服務工程名為Swift。目的是通過REST API的形式存儲和檢索非結構化數據。由於采用了數據復制和高擴展性架構,所以具有很高的容錯性。該項目的實現並不像具有可掛載目錄的文件服務器,Object Storage通過寫對象和文件到多個驅動器的實現方式,確保了數據能夠在群集之間復制。
 9 5)Block Storage
10     該服務的工程名為Cinder。提供一個持久化的塊存儲來運行實例。該服務的"可插拔驅動器"模式,提升了創建和管理塊存儲設備的能力。
11 6)Identity Service
12     該服務的工程名為Keystone。為Openstack服務提供認證和授權,為Openstack服務提供了服務端點目錄。
13 7)Image Service
14     該服務的工程名為Glance。存儲和檢索虛擬機磁盤鏡像,Openstack 計算服務在實例配置的過程中會使用到這個服務。
15 8)Telemetry
16     該服務的工程名為Ceilometer。監控和計量Openstack雲服務,為Openstack提供計費,閥值管理,擴展和分析等服務。
17 9)Orchestration
18     該服務的工程名為Heat。通過本地的HOT模板格式或者AWS CloudFormation模板格式,甚至Openstack本地REST API和兼容CloudFormation的Query API,來編排多個混合的基於雲的應用。
19 10)Database Service
20    該服務的工程名為Trove。為數據庫引擎提供了可靠的,高擴展性的"雲數據庫即服務"21 11)Data Processing Service
22    該服務的工程名為Sahara。提供了在Openstack中配置和擴展Hadoop群集的能力,而實現這一點只需要傳hadoop版本,群集拓撲結構和節點的硬件信息即可。

2.5、OpenStack的部署

技術分享圖片

技術分享圖片

三、總結

簡單的認識了OpenStack的一些組件以及之間的聯系,後續將在虛擬機上安裝一下OpenStack,對於安裝有著相應的工具fuel可以加快安裝。

參考文獻:http://blog.51cto.com/wzlinux/1961337

https://www.cnblogs.com/kevingrace/p/5733508.html

沈澱再出發:openstack初探