OpenStack簡介

OpenStack

 

簡介
OpenStack是一個美國國家航空航天局和Rackspace合作研發的,以Apache許可證授權,並且是一個自由軟件和開放源代碼項目。
OpenStack是一個雲平臺管理的項目,它不是一個軟件。這個項目由幾個主要的組件組合起來完成一些具體的工作。
OpenStack是一個旨在爲公共及私有云的建設與管理提供軟件的開源項目。它的社區擁有超過130家企業及1350位開發者,這些機構與個人都將OpenStack作爲基礎設施即服務(簡稱IaaS)資源的通用前端。OpenStack項目的首要任務是簡化雲的部署過程併爲其帶來良好的可擴展性。本文希望通過提供必要的指導信息,幫助大家利用OpenStack前端來設置及管理自己的公共雲或私有云。
OpenStack 是由 Rackspace 和 NASA 共同開發的雲計算平臺,幫助服務商和企業內部實現類似於 Amazon EC2 和 S3 的雲基礎架構服務(Infrastructure as a Service, IaaS)。OpenStack 包含兩個主要模塊:Nova 和 Swift,前者是 NASA 開發的虛擬服務器部署和業務計算模塊;後者是 Rackspack 開發的分佈式雲存儲模塊,兩者可以一起用,也可以分開單獨用。OpenStack 是開源項目,除了有 Rackspace 和 NASA 的大力支持外,後面還有包括 Dell、Citrix、 Cisco、 Canonical 這些重量級公司的貢獻和支持,發展速度非常快,有取代另一個業界領先開源雲平臺 Eucalyptus 的態勢。
運用範圍
OpenStack是IaaS(基礎設施即服務)組件,讓任何人都可以自行建立和提供雲端運算服務。
此外,OpenStack也用作建立防火牆內的“私有云”(Private Cloud),提供機構或企業內各部門共享資源。
廠商支援
美國國家航空航天局的Nebula運算平臺。

美國國家航空航天局的Nebula運算平臺。
美國國家航空航天局的Nebula運算平臺。
現時已表示支持OpenStack項目的大型硬件廠商包括:AMD、Intel和戴爾等[1]。
微軟在2010年10月表示支持OpenStack與Windows Server 2008 R2的整合。
2011年2月,思科系統正式加入OpenStack項目,重點研製OpenStack的網絡服務。
Ubuntu未來在堆棧方面的雲網絡化方案。
技術資料
以Python編程語言編寫
整合Tornado網頁服務器、Nebula運算平臺
使用Twisted軟件框架
遵循Open Virtualization Format、AMQP、SQLAlchemy等標準
虛擬機器軟件支援包括:KVM、Xen、VirtualBox 、QEMU、 LXC 等。
項目
Nova運算項目
Swift面向對象數據存貯項目
Glance虛擬機器磁盤映像檔(Virtual Machine Image)傳送服務
市場趨向
Rackspace以OpenStack爲基礎的私有云業務每年7億美元,增長率超過了20%。
大型用戶
美國國家航空航天局
加拿大半官方機構CANARIE網絡的DAIR(Digital Accelerator for Innovation and Research)項目,向大學與中小型企業提供研究和開發雲端運算環境;DAIR用戶可以按需要快速建立網絡拓撲[2]。
惠普雲(使用Ubuntu Linux)
MercadoLibre的IT基礎設施雲,現時以OpenStack管理超過6000 臺虛擬機器。
AT&T的“Cloud Architect”,將在美國的達拉斯、聖地亞哥和新澤西州對外提供雲端服務。
內容詳解
OpenStack Compute (Nova)是一套控制器,用於爲單個用戶或使用羣組啓動虛擬機實例。它同樣能夠用於爲包含着多個實例的特定項目設置網絡。OpenStack Compute在公共雲處理方面堪與Amazon EC2相提並論;而在私有云方面也毫不遜色於VMware的產品。在公共雲中,這套管理機制將提供預製的鏡像或是爲用戶創建的鏡像提供存儲機制,這樣用戶就能夠將鏡像以虛擬機的形式啓動。
OpenStack 對象存儲(Swift)是一套用於在大規模可擴展系統中通過內置冗餘及容錯機制實現對象存儲的系統。這些對象能夠通過一個REST API或是像Cyberduck這樣可以對接對象存儲API的客戶端加以恢復。
OpenStack鏡像服務 (Glance)是一套虛擬機鏡像查找及檢索系統。它能夠以三種形式加以配置:利用OpenStack對象存儲機制來存儲鏡像;利用Amazon的簡單存儲解決方案(簡稱S3)直接存儲信息;或者將S3存儲與對象存儲結合起來,作爲S3訪問的連接器。OpenStack鏡像服務支持多種虛擬機鏡像格式,包括VMware(VMDK)、Amazon鏡像(AKI、ARI、AMI)以及VirtualBox所支持的各種磁盤格式。鏡像元數據的容器格式包括Amazon的AKI、ARI以及AMI信息,標準OVF格式以及二進制大型數據。[3]
OpenStack構建私有云
[4]第一步是設置正確的硬件和網絡環境。儘管OpenStack允許在一個單一的平面網絡上部署一切,從安全的角度來看並不安全。取決於你所使用的管理程序以及虛擬網絡接口,它會允許guest虛擬機嗅探管理流量。建議至少使用兩個網絡:一個用來管理流量,一個用來進行虛擬機之間的對話。這意味着所有的雲計算結點中你需要兩個網卡(一個運行實例)和網絡管理者。這些應該運行在不同的IP範圍中。計算結點和實例的網絡也需要支持VLAN標記,因爲這是在“項目”之間隔絕流量所使用的機制。一個項目等價於你的亞馬遜EC2賬戶,除了你不能按照你所希望的數目創建和分配之外。每一個項目都有自己的管理員和用戶,在既定項目中的所有實例可以彼此通信。通過指派每一個項目自己的VLAN以及內部和外部的IT地址池來執行。
一旦硬件和網絡設置好,下一步就是確定在哪裏部署所有的OpenStack組件。標準部署穎有一個控制器和一系列計算結點。控制器運行消息服務器,數據庫和其他的組件來編排雲,同時計算幾點運行實例。但是你也可以分解控制器爲地理的部分,從而改善性能,像把MySQL放在不同的物理盒中。對於安全而言,最關鍵的是確保每一部分都安裝在安全的主機上,你只需要將其附加在網絡上,讓雲運轉即可。
只有兩部分需要暴露給外面的世界(即使那只是你的企業網絡):API服務器/Web 控制檯(如果開啓)和網絡管理者。這些服務器需要過硬,你甚至可以使用第三方網絡接口來隔離後端管理用戶連接產生的流量。
如果你遵循默認安裝說明書,可能這些部分並不如他們應該的那樣安全。下面是一些具體的改變:
* MySQL服務器使用指定的用戶賬戶,不是根MySQL管理賬戶。這個賬戶和密碼將會暴露在每一個雲結點上,即使使用基於證書的認證,因此所有結點需要訪問這個數據庫服務器。
* MySQL配置文件中,限制訪問服務器,OpenStack用戶賬戶爲唯一授權IP地址。
* 移除任何不需要的OS組件並確保你所設置的服務器只支持通過SSH的基於密鑰的登陸。
* 默認MySQL和RabbitMQ(消息服務器)流量不加密。如果你隔離了管理網絡和堅固的主機,這就不應該是一個很糟糕的風險。如果你的雲網絡易於嗅探(例如,它和其他服務器共享網絡),你需要加密流量。你可以使用OpenSSL來進行MySQL 和RabbitMQ處理。(我個人還沒進行測試,因此配置可能有點難。)
下一步,記住如果支持Web管理控制檯,默認不適用SSL。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章