(1).OpenStack概述
OpenStack是一個由NASA(美國國家航空航天局)和Rackspace合作研發並發起的,以Apache許可證授權的自由軟件和開放源代碼項目。
OpenStack是一個旨在為公共及私有雲的建設與管理提供軟件的開源項目,支持幾乎所有類型的雲環境,項目目標是提供實施簡單、可大規模擴展、豐富、標准統一的雲計算管理平台。OpenStack能夠將諸如計算能力、存儲、網絡和軟件等資源抽象成服務,以便讓用戶可以通過互聯網遠程來享用,付費的形式也變得因需而定,調整方便,擁有極強的虛擬可擴展性。
(2).OpenStack的作用
OpenStack是一個開源的雲計算管理平台項目,由幾個主要的組件組合起來完成具體工作。它的社區擁有超過130家企業及1350位開發者,這些機構與個人都將OpenStack作為基礎設施即服務(IaaS)資源的通用前端。
1)IaaS
IaaS(Infrastructure as a Service),即基礎設施即服務。消費者通過Internet可以從完善的計算機基礎設施獲取服務,這類服務稱為基礎設施即服務。基於 Internet 的服務(如存儲和數據庫)是 IaaS的一部分。
例如:前往阿里雲、騰訊雲、百度雲、華為雲購買一台雲主機,選擇基礎設施(CPU、內存、硬盤)。
2)PaaS
PaaS是Platform as a Service的縮寫,是指平台即服務。 把服務器平台或開發環境作為服務進行提供就成了PaaS。
例如:OpenShift,紅帽的雲開發平台即服務;新浪雲應用SAE(https://www.sinacloud.com/sae.html)
OpenShift是自由和開放源碼的於計算平台,它可以使開發人員能夠創建、測試和運行他們的應用程序,並且可以把它們部署到雲中。Openshift廣泛支持多種編程語言和框架,如Java,Ruby和PHP等。另外它還提供了多種集成開發工具如Eclipse integration,JBoss Developer Studio和 Jenkins等。OpenShift 基於一個開源生態系統為移動應用,數據庫服務等,提供支持。
3)SaaS
SaaS是Software as a Service的縮寫名稱,意思為軟件即服務,即通過網絡提供軟件服務。
SaaS平台供應商將應用軟件統一部署在自己的服務器上,客戶可以根據工作實際需求,通過互聯網向廠商定購所需的應用軟件服務,按定購的服務多少和時間長短向廠商支付費用,並通過互聯網獲得Saas平台供應商提供的服務。SaaS 應用軟件有免費、付費和增值三種模式。付費通常為“全包”費用,囊括了通常的應用軟件許可證費、軟件維護費以及技術支持費,將其統一為每個用戶的月度租用費。
例如:http://www.edusoho.com/(EduSoho在線網校系統)
4)總結
三種雲平台架構:IaaS、PaaS、SaaS是三種不同的商業模式
5)雲的其他分類
按擁有者分類:公有雲(Public Cloud)、私有雲(Private Cloud)、混合雲(Hybrid Cloud)
按技術廠商分類:微軟雲計算解決方案、亞馬遜AWS、OpenStack等
注意:國內雲平台以OpenStack的二次開發較多,社區貢獻國內最高的是華為雲。
(3).OpenStack版本命名規則以及各組件關系
1)命名規則
版本發布以A-Z順序發布,大約半年左右發布一次,目前已經發布到Stein版本(https://releases.openstack.org/)
查看最新OpenStack yum源:https://repos.fedorapeople.org/repos/openstack/
2)核心組件
OpenStack的核心組件:Keystone(身份認證)、Nova(計算)、Neutron(網絡)、Glance(鏡像存儲)、Cinder(塊存儲)、Swift(對象存儲)、Horizon(web UI界面)、Ceilometer(計量)、Heat(部署編排)、Trove(數據庫)。
詳細說明:
身份認證(Keystone):統一的授權、認證管理。所有組件都依賴亍Keystone提供3A(認證Authentication,授權Authorization,記賬Account)服務。
計算管理(Nova):Nova是OpenStack雲中的計算組織控制器。Nova自身並沒有提供任何虛擬化能力,相反它使用libvirt API來與被支持的虛擬技術Hypervisors交互,如:kvm、Xen、VMware等虛擬化技術。
網絡(Neutron):實現虛擬機的網絡資源管理,如:網絡連接、ip管理、公網映射。
鏡像管理(Glance): 主要存儲和管理系統鏡像, 如:cento鏡像。
塊存儲(Cinder):為虛擬機提供存儲空間, 比如硬盤、分區,目前支持LVM、ip-san、fc-san等。
對象存儲(Swift):OpenStack Swift 開源項目提供了彈性可伸縮、高可用的分布式對象存儲服務,適合存儲大規模非結構化數據。通過key/value的方式式實現對文件的存儲,現在的雲盤就是這樣的,和MFS、HDFS類似。注:如果客戶需要一個1000T的存儲空間,使用Cinder就不行,因為效率太低,這時就用Swift。
界面(Horizon):安裝好后,openstack的web界面控制台DashBoard
計量(Ceilometer):Ceilometer是OpenStack中的一個子項目,它像一個漏斗一樣,能把OpenStack內部發生的幾乎所有的事件都收集起來,然后為計費和監控以及其它服務提供數據支撐。
部署編排(Heat):是一個編排引擎,它可以基於文本文件形式的模板啟動多個復合雲應用程序(這些文件可以被視為代碼)。簡單來說,Heat為OpenStack用戶提供了一種自動創建雲組件(如網絡、實例、存儲設備等)的方法。
數據庫(Trove):為關系型數據庫和非關系型數據庫引擎提供可擴展的和可靠的雲數據庫服務,並繼續改進其功能齊全、可擴展的開源框架。
擴展:3A認證
1、認證(Authentication),驗證用戶的身份不可使用的網絡服務;
2、授權(Authorization):依據認證結果開放網絡服務給用戶;
3、計帳(Accounting):記錄用戶對各種網絡服務的用量,幵提供給計費系統。整個系統在網絡管理不安全問題中十分有效。
例如:寬帶收費就是3A認證的典型例子:輸入帳號密碼(認證)-->開100M帶寬(授權)-->在營業廳(計帳)
(4).OpenStack的網絡模式
Local模式:一般測試時使用,只需一台物理機即可
GRE模式:隧道模式,VLAN數量沒有限制,性能有點問題
VLAN(虛擬局域網)模式:vlan數量上限為4096
VXLAN(虛擬擴展局域網)模式:vlan數量沒有限制,且性能比GRE好
Flat模式:管理員創建租戶直接到外網,不需要NAT
(5).擴展:VXLAN
1)VXLAN概述
VXLAN中文名虛擬擴展局域網,它是一種在UDP中封裝MAC的簡單機制,可以創建跨多個物理IP子網的虛擬2層子網。例如,可以通過VXLAN技術,使得北京與上海的服務器處於同一個局域網。(有點類似VPN隧道)
2)VXLAN為什么被開發出來?
雖然現在不只一種標准可以在IP中封裝MAC(包括EtherIP和GRE通道橋接),但是它們都無法做到VLAN邏輯標記,因此只能使用上限為4096的VLAN。另外,即使可以使用這些標准(可以在IP中封裝MAC的標准)來分隔邏輯網,也必須在負載時深入分析MAC頭信息,以便查找出虛擬分片ID。
思科和VMware提出了VXLAN,它可以通過一個24位分片ID,在一個數據中心內部署百萬個虛擬網。而且,VXLAN數據包格式很容易在硬件中實現,所以它以后也許可以更緊密的與物理網絡設備集成。
3)VXLAN的使用情景
只有在需要大量邏輯網時,才會考慮VXLAN。如果只是少量的邏輯網,那么還是使用VLAN。
4)更多VXLAN相關信息,請參考:https://blog.csdn.net/octopusflying/article/details/77609199
(6).OpenStack相關網站
github:https://github.com/openstack
官方文檔:https://docs.openstack.org/train/
中文官網(此時為開源基礎設施峰會):https://www.openstack.cn/