1. 如何跑openstack的cinder單元測試
單元測試工具小結
Keystone的單元測試框架
使用tox進行測試環境管理
使用testrepository管理測試的運行
單元測試用例的代碼架構
2. 如何基於openstack管理配置數據
OpenStack軟體包括許多不同的模塊,針對雲環境中各個方面:
Swift:對象存儲
Cinder:塊存儲
Nova:虛擬機計算
Neutron:網路
Horizon: 儀表盤
Keystone:認證服務
Glance:鏡像服務
Ceilometer:遙測
Heat:編排
Trove:資料庫即服務
隨著每一個OpenStack的代碼發布(目前是第九個版本,叫做IceHouse),新項目被創建或者從已有的項目上「分支」出來或者開一個全新的分支,包括用於裸機管理的Ironic以及會在OpenStack的Juno版本中發布的Sahara,用於彈性MapRece。
數據服務由以上的五個組件來提供。Swift是一個子項目,為OpenStack基礎架構提供對象存儲的功能。塊存儲由Cinder提供,使用標準的象iSCSI和NFS這樣的IP存儲協議。Glance為VM鏡像提供一個知識庫,使用底層的基本文件系統或者Swift作為存儲。Trove提供資料庫即服務 (DBaaS) 的能力,而Sahara提供彈性MapRece的功能,後者也被稱為Hadoop集群存儲。這篇文章,我們將著重講述Cinder和Swift這兩大主要的存儲平台。
Cinder塊存儲
塊存儲是虛擬基礎架構中必不可少的組件,是存儲虛擬機鏡像文件及虛擬機使用的數據的基礎。直到2012年OpenStack Folsom的發布才引入了Cinder,VM鏡像是短暫的,它們的存儲只維持在那台虛擬機的生命周期。Cinder提供對塊存儲的管理支持,通過使用iSCSI, 光纖通道或者NFS協議,以及若干私有協議提供後端連接,展現給計算層(Nova)。
Cinder介面提供了一些標准功能,允許創建和附加塊設備到虛擬機,如「創建卷」,「刪除卷」和「附加卷」。還有更多高級的功能,支持擴展容量的能力,快照和創建虛擬機鏡像克隆。
許多廠商在他們現有的硬體平台上提供對Cinder塊的支持,通過使用一個Cinder驅動將Cinder API轉換成廠商特定的硬體命令。提供Cinder支持的廠商包括了EMC(VMAX和VNX),惠普(3PAR StoreServ和StoreVirtual),日立數據系統,IBM(跨所有存儲平台),NetApp,Pure Storage和SolidFire。還有一些基於軟體的解決方案,比如EMC(ScaleIO)和Nexenta。
另外,許多軟體存儲實現,包括開源平台,都可以用於提供對Cinder的支持,這些軟體中包括紅帽的Ceph和GlusterFS。Ceph已經被集成到Linux內核中,使其成為最簡單的一種為OpenStack部署環境提供塊存儲的方法。
NFS的支持是在2013年OpenStack的第七個版本引入的,又叫Grizzly,盡管之前Folsom有提供「試驗性的」技術支持。在NFS的環境中,VM磁碟分區被當作單個的文件,這和在VMware ESXi虛擬程序或者微軟的Hyper-V的VHD所使用的方法相似。將VM磁碟分區封裝成文件可以實現類似快照和克隆這樣的功能。
存儲功能已引入Cinder的後續版本,之後一直被存儲廠商們支持。支持的各種廠商平台和功能的完整列表可以在OpenStack的關於OpenStack塊存儲驅動器的Wiki頁面找到。
Swift對象存儲
OpenStack中的對象存儲通過Swift來達成,Swift實現了分布在OpenStack的集群節點的橫向擴展的對象存儲。對象存儲將數據以二進制對象的方式存儲,沒有特別的格式要求。Swift使用簡單的類似PUT或GET(基於HTTP網路協議,也被稱為RESTful API)的命令對對象進行存取操作。
Swift架構被分割成一些邏輯服務,包括對象伺服器,代理伺服器,容器伺服器和帳戶伺服器,整個一起被稱作一個ring。數據同其他用於追蹤與每個存儲對象相關的元數據和管理數據訪問的組件一起存儲在對象伺服器上。
在Swift中使用zone的概念來管理數據的彈性。一個zone是一個ring的子部件,用於提供數據的一個拷貝,多個zone則用來存儲冗餘的數據拷貝,被稱為replica(默認最少3個)。Swift能用一個單獨的磁碟或者伺服器來代表一個zone,包括數據中心之間的數據地理分布。
同許多對象存儲一樣,Swift使用最終一致性的思想來實現數據的彈性。這意味著數據不是象塊存儲那樣以同步的方式在整個OpenStack集群里復制,而是在zone之間以一個後台任務的形式進行復制,這在系統高負載的情況下也許會掛起或者失敗。
與塊存儲的同步復制提供高級別的可靠性功能相比,最終一致性也許看起來會更具風險。但是,在可擴展性,性能和彈性中總是得做出取捨。最終一致性使得一個記錄歸檔比在一個基於塊存儲的系統更容易具備可擴展性,就Swift而言,代理伺服器會確保取得最近一次的數據拷貝,即便在該集群里的一些伺服器無法訪問的時候。
和所有的OpenStack項目一起,隨著每個版本的發布,Swift不斷被開發出新的功能和功能增強。OpenStack Grizzly引入了更細粒度的replica控制,允許ring能夠調整replica的數量。另外,通過基於對象伺服器的時間排序的思想,改善了對象讀取的性能。使得數據能夠通過最快響應速度的對象伺服器傳遞,這對於擴展到廣域網很重要。
由於Swift使用HTTP協議,這樣在OpenStack里使用第三方存儲方案,包括Cleversafe,Scality的產品或者類似於Amazon Web Service簡單存儲服務(S3)這樣的公有雲,進行對象存儲的做法會非常實用。
Swift還是Cinder?做出正確的選擇
很顯然Swift和Cinder為完全不同類型的數據需求服務。對象存儲(通過Swift)被設計成專門針對諸如媒體,鏡像和文件之類的對象型數據的高可擴展性存儲。這些系統的重點在於能夠大量擴展數據而不依賴於那些類似RAID的傳統存儲擁有的特性。但是,最終的一致性模型意味著Swift不適合存儲像虛擬機這樣的數據。
盡管Swift使用元數據來追蹤對象和他們的版本,對象存儲仍然需要額外的邏輯來追蹤所存的對象上的用戶元數據。這部分將需要用戶自己來構建到應用程序中去。
Cinder提供塊存儲組件來存儲持久化對象,比如虛擬機和定期在資料庫中更新的數據。塊存儲的功能可以在整個OpenStack集群中實現,通過一些商用組件,使用內置的工具,如伺服器邏輯盤管理器或者NFS,來傳輸存儲資源。另外,開源解決方案如Ceph的和GlusterFS,提供從OpenStack的主代碼中單獨打包OpenStack存儲模塊的能力,同時仍保留可以使用開源軟體的靈活性。
隨著Cinder的廣泛支持,現有的傳統存儲方案可以用到OpenStack部署環境中來提供存儲服務。當一個IT組織已經具備了這種技術並且硬體平台也到位的情況下,這也許是他們更願意採用的方式。現有的存儲平台技術已經很發達,並且支持一些存儲優化的高級功能,比如精簡配置,重復數據刪除和壓縮。許多現在還提供服務質量(比如HP的3PAR StoreServ和SolidFire的平台),讓它們適合在混合工作負載下而不是單純的用於OpenStack的部署。其結果帶來的一個顯著的益處就是,可以將「繁重」的任務卸載到一個外部存儲陣列。
在做出使用一個特定平台的決策中,系統架構師們需要權衡風險與使用OpenStack「」方案(仍然需要硬體)或者使用專屬硬體提供的功能所花費的成本。
OpenStack存儲備份
最後,我們應該考慮在OpenStack里備份數據的需求。備份OpenStack環境中的關鍵配置組件的具體細節已經有很好的文檔描述,但是備份在一個OpenStack集群里的數據被視為用戶自己的責任。備份可以通過使用外部存儲供應商來輕松實現,比如說,SolidFire提供將整個集群備份到AmazonS3或者Swift兼容的對象存儲中的功能。或者,用戶將需要查看現有的支持他們的OpenStack虛擬機管理程序的備份產品。
Raksha是一個新的項目提議,將備份即服務的功能集成到OpenStack的框架中。會同時支持完全及增量的虛擬機備份到一個Swift「端」,並能讓應用保持一致性。Raksha目前是一個獨立的項目,不屬於核心OpenStack框架。要將它集成到一般的類似VSphere和Hyper-V這樣的虛擬化平台中會需要花一些功夫,但是至少可以提供一個更整合的解決方案來對OpenStack環境中的數據進行保護。
3. 簡述OpenStack的各核心項目及相應用途
OpenStack覆蓋了網路、虛擬化、操作系統、伺服器等各個方面。它是一個正在開發中的雲計算平台項目,根據成熟及重要程度的不同,被分解成核心項目、孵化項目,以及支持項目和相關項目。每個項目都有自己的委員會和項目技術主管,而且每個項目都不是一成不變的,孵化項目可以根據發展的成熟度和重要性,轉變為核心項目。截止到Icehouse版本,下面列出了10個核心項目(即OpenStack服務)。
計算(Compute):Nova。一套控制器,用於為單個用戶或使用群組管理虛擬機實例的整個生命周期,根據用戶需求來提供虛擬服務。負責虛擬機創建、開機、關機、掛起、暫停、調整、遷移、重啟、銷毀等操作,配置CPU、內存等信息規格。自Austin版本集成到項目中。
對象存儲(Object Storage):Swift。一套用於在大規模可擴展系統中通過內置冗餘及高容錯機制實現對象存儲的系統,允許進行存儲或者檢索文件。可為Glance提供鏡像存儲,為Cinder提供卷備份服務。自Austin版本集成到項目中
鏡像服務(Image Service):Glance。一套虛擬機鏡像查找及檢索系統,支持多種虛擬機鏡像格式(AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD、VMDK),有創建上傳鏡像、刪除鏡像、編輯鏡像基本信息的功能。自Bexar版本集成到項目中。
身份服務(Identity Service):Keystone。為OpenStack其他服務提供身份驗證、服務規則和服務令牌的功能,管理Domains、Projects、Users、Groups、Roles。自Essex版本集成到項目中。
網路&地址管理(Network):Neutron。提供雲計算的網路虛擬化技術,為OpenStack其他服務提供網路連接服務。為用戶提供介面,可以定義Network、Subnet、Router,配置DHCP、DNS、負載均衡、L3服務,網路支持GRE、VLAN。插件架構支持許多主流的網路廠家和技術,如OpenvSwitch。自Folsom版本集成到項目中。
塊存儲 (Block Storage):Cinder。為運行實例提供穩定的數據塊存儲服務,它的插件驅動架構有利於塊設備的創建和管理,如創建卷、刪除卷,在實例上掛載和卸載卷。自Folsom版本集成到項目中。
UI 界面 (Dashboard):Horizon。OpenStack中各種服務的Web管理門戶,用於簡化用戶對服務的操作,例如:啟動實例、分配IP地址、配置訪問控制等。自Essex版本集成到項目中。
測量 (Metering):Ceilometer。像一個漏斗一樣,能把OpenStack內部發生的幾乎所有的事件都收集起來,然後為計費和監控以及其它服務提供數據支撐。自Havana版本集成到項目中。
部署編排 (Orchestration):Heat [2] 。提供了一種通過模板定義的協同部署方式,實現雲基礎設施軟體運行環境(計算、存儲和網路資源)的自動化部署。自Havana版本集成到項目中。
資料庫服務(Database Service):Trove。為用戶在OpenStack的環境提供可擴展和可靠的關系和非關系資料庫引擎服務。自Icehouse版本集成到項目中。
4. openstack組件問題
OpenStack其實有三個與存儲相關的組件,這三個組件被人熟知的程度和組件本身出現時間的早晚是相符的,按熟悉程度排列如下:
Swift——提供對象存儲 (Object Storage),在概念上類似於Amazon S3服務,不過swift具有很強的擴展性、冗餘和持久性,也兼容S3 API
Glance——提供虛機鏡像(Image)存儲和管理,包括了很多與Amazon AMI catalog相似的功能。(Glance的後台數據從最初的實踐來看是存放在Swift的)。
Cinder——提供塊存儲(Block Storage),類似於Amazon的EBS塊存儲服務,目前僅給虛機掛載使用。
(Amazon一直是OpenStack設計之初的假象對手和挑戰對象,所以基本上關鍵的功能模塊都有對應項目。除了上面提到的三個組件,對於AWS中的重要的EC2服務,OpenStack中是Nova來對應,並且保持和EC2 API的兼容性,有不同的方法可以實現)
三個組件中,Glance主要是虛機鏡像的管理,所以相對簡單;Swift作為對象存儲已經很成熟,連CloudStack也支持它。Cinder是比較新出現的塊存儲,設計理念不錯,並且和商業存儲有結合的機會,所以廠商比較積極。
Swift
關於Swift的架構和部署討論,除了官方網站,網上也有很多文章,這里就不重復.(也可以參考我之前在OpenStack中國行活動中上海站演講的PPT)。從開發上看,最近也沒有太大的結構性調整,所以我想主要說說比較適用的應用領域好了。
從我所了解的實際案例來看,Swift出現的領域有4個,(應該還有更多,希望大家看到實際用例能夠指教)
1.網盤。
Swift的對稱分布式架構和多proxy多節點的設計導致它從基因里就適合於多用戶大並發的應用模式,最典型的應用莫過於類似Dropbox的網盤應用,Dropbox去年底已經突破一億用戶數,對於這種規模的訪問,良好的架構設計是能夠支撐的根本原因。
Swift的對稱架構使得數據節點從邏輯上看處於同級別,每台節點上同時都具有數據和相關的元數據。並且元數據的核心數據結構使用的是哈希環,一致性哈希演算法對於節點的增減都只需重定位環空間中的一小部分數據,具有較好的容錯性和可擴展性。另外數據是無狀態的,每個數據在磁碟上都是完整的存儲。這幾點綜合起來保證了存儲的本身的良好的擴展性。
另外和應用的結合上,Swift是說HTTP協議這種語言的,這使得應用和存儲的交互變得簡單,不需要考慮底層基礎構架的細節,應用軟體不需要進行任何的修改就可以讓系統整體擴展到非常大的程度。
2.IaaS公有雲
Swift在設計中的線性擴展,高並發和多租戶支持等特性,使得它也非常適合做為IaaS的選擇,公有雲規模較大,更多的遇到大量虛機並發啟動這種情況,所以對於虛機鏡像的後台存儲具體來說,實際上的挑戰在於大數據(超過G)的並發讀性能,Swift在OpenStack中一開始就是作為鏡像庫的後台存儲,經過RACKSpace上千台機器的部署規模下的數年實踐,Swift已經被證明是一個成熟的選擇。
另外如果基於IaaS要提供上層的SaaS 服務,多租戶是一個不可避免的問題,Swift的架構設計本身就是支持多租戶的,這樣對接起來更方便。
3.備份歸檔
RackSpace的主營業務就是數據的備份歸檔,所以Swift在這個領域也是久經考驗,同時他們還延展出一種新業務--「熱歸檔」。由於長尾效應,數據可能被調用的時間窗越來越長,熱歸檔能夠保證應用歸檔數據能夠在分鍾級別重新獲取,和傳統磁帶機歸檔方案中的數小時而言,是一個很大的進步。
4. 移動互聯網和CDN
移動互聯網和手機游戲等產生大量的用戶數據,數據量不是很大但是用戶數很多,這也是Swift能夠處理的領域。
至於加上CDN,如果使用Swift,雲存儲就可以直接響應移動設備,不需要專門的伺服器去響應這個HTTP的請求,也不需要在數據傳輸中再經過移動設備上的文件系統,直接是用HTTP 協議上傳雲端。如果把經常被平台訪問的數據緩存起來,利用一定的優化機制,數據可以從不同的地點分發到你的用戶那裡,這樣就能提高訪問的速度,我最近看到Swift的開發社區有人在討論視頻網站應用和Swift的結合,竊以為是值得關注的方向。
Glance
Glance比較簡單,是一個虛機鏡像的存儲。向前端nova(或者是安裝了Glance-client的其他虛擬管理平台)提供鏡像服務,包括存儲,查詢和檢索。這個模塊本身不存儲大量的數據,需要掛載後台存儲(Swift,S3。。。)來存放實際的鏡像數據。
Glance主要包括下面幾個部分:
l API service: glance-api 主要是用來接受Nova的各種api調用請求,將請求放入RBMQ交由後台處理,。
l Glacne-registry 用來和MySQL資料庫進行交互,存儲或者獲取鏡像的元數據,注意,剛才在Swift中提到,Swift在自己的Storage Server中是不保存元數據的,這兒的元數據是指保存在MySQL資料庫中的關於鏡像的一些信息,這個元數據是屬於Glance的。
l Image store: 後台存儲介面,通過它獲取鏡像,後台掛載的默認存儲是Swift,但同時也支持Amazon S3等其他的鏡像。
Glance從某種角度上看起來有點像虛擬存儲,也提供API,可以實現比較完整的鏡像管理功能。所以理論上其他雲平台也可以使用它。
Glance比較簡單,又限於雲內部,所以沒啥可以多展開討論的,不如看看新出來的塊存儲組件Cinder,目前我對Cinder基本的看法是總體的設計不錯,細節和功能還有很多需要完善的地方,離一個成熟的產品還有點距離。
Cinder
OpenStack到F版本有比較大的改變,其中之一就是將之前在Nova中的部分持久性塊存儲功能(Nova-Volume)分離了出來,獨立為新的組件Cinder。它通過整合後端多種存儲,用API介面為外界提供塊存儲服務,主要核心是對卷的管理,允許對卷,卷的類型,卷的快照進行處理。
Cinder包含以下三個主要組成部分
API service:Cinder-api 是主要服務介面, 負責接受和處理外界的API請求,並將請求放入RabbitMQ隊列,交由後端執行。 Cinder目前提供Volume API V2
Scheler service: 處理任務隊列的任務,並根據預定策略選擇合適的Volume Service節點來執行任務。目前版本的cinder僅僅提供了一個Simple Scheler, 該調度器選擇卷數量最少的一個活躍節點來創建卷。
Volume service: 該服務運行在存儲節點上,管理存儲空間,塔處理cinder資料庫的維護狀態的讀寫請求,通過消息隊列和直接在塊存儲設備或軟體上與其他進程交互。每個存儲節點都有一個Volume Service,若干個這樣的存儲節點聯合起來可以構成一個存儲資源池。
Cinder通過添加不同廠商的指定drivers來為了支持不同類型和型號的存儲。目前能支持的商業存儲設備有EMC 和IBM的幾款,也能通過LVM支持本地存儲和NFS協議支持NAS存儲,所以Netapp的NAS應該也沒問題,好像華為也在努力中。我前段時間還在Cinder的blueprints看到IBM的GPFS分布式文件系統,在以後的版本應該會添加進來
到目前為止,Cinder主要和Openstack的Nova內部交互,為之提供虛機實例所需要的卷Attach上去,但是理論上也可以單獨向外界提供塊存儲。
部署上,可以把三個服務部署在一台伺服器,也可以獨立部署到不同物理節點
現在Cinder還是不夠成熟,有幾個明顯的問題還沒很好解決,一是支持的商業存儲還不夠多,而且還不支持FC SAN,另外單點故障隱患沒解決,內部的schele調度演算法也太簡單。另外由於它把各種存儲整合進來又加了一層,管理倒是有辦法了,但是效率肯定是有影響,性能肯定有損耗,但這也是沒辦法的事了。
Openstack通過兩年多發展,變得越來越龐大。目前光存儲就出現了三種:對象存儲、鏡像存儲和塊存儲。這也是為了滿足更多不同的需求,體現出開源項目靈活快速的特性。總的說來,當選擇一套存儲系統的時候,如果考慮到將來會被多個應用所共同使用,應該視為長期的決策。Openstack作為一個開放的系統,最主要是解決軟硬體供應商鎖定的問題,可以隨時選擇新的硬體供應商,將新的硬體和已有的硬體組成混合的集群,統一管理,當然也可以替換軟體技術服務的提供商,不用動應用。這是開源本身的優勢!
5. openstack cinder lvm 掛載出錯。
如果直接在 /etc/fstab 中寫上掛載點沒用,系統認為還沒這個設備
QUOTE:
Mounting local filesystems: mount: special device /dev/mapper/VolGroup-lvol0 does not exist
[FAILED]
Mounting filesystems: mount: special device /dev/mapper/VolGroup-lvol0 does not exist
[FAILED]
有人是在啟動文件中寫入
vgchange -ay
lvcganhe -ay
等命令才實現自動掛載的。
6. OpenStack選用哪種後端存儲系統比較好
和openstack融合度較好的就是ceph,國內大多數雲環境都使用ceph作為openstack的唯一後端存儲。國內使用ceph開發出分布式存儲系統的廠商有深圳元核雲、北京xsky等,性能都還不錯的。
7. 《OpenStack從零開始學》pdf下載在線閱讀全文,求百度網盤雲資源
《OpenStack從零開始學》(盧萬龍)電子書網盤下載免費在線閱讀
鏈接:
書名:OpenStack從零開始學
作者:盧萬龍
豆瓣評分:4.2
出版社:電子工業出版社
出版年份:2016-11
頁數:352
內容簡介:
OpenStack作為開源雲計算技術首當其沖,有著廣泛的受眾、活躍的社區和良好的傳播,尊為雲計算技術的領導者。
《OpenStack從零開始學》由淺入深,從設計理論到實際操作,帶領讀者認識OpenStack雲計算的全貌,輕松步入OpenStack雲計算的世界。其內容涵蓋了OpenStack雲計算設計理論,虛擬化技術KVM和Xen的原理與應用,4種OpenStack網路架構(Flat、Local、GRE和VXLAN)模式和網路OSI 7層模型介紹,Ceph分布式存儲, OpenStack安裝配置(Nova、Cinder、Neutron、Horizon、Swift和Keystone等服務組件)、應用場景和實際操作(卷管理、創建網路和實例、實例熱遷移和冷遷移)等多個方面,使讀者讀後如沐春風,真正喜歡雲計算這項技術。
《OpenStack從零開始學》適合剛剛或者計劃進入雲計算領域的初級讀者學習,也適合已經進入雲計算領域並且有一定相關知識或認識的中級讀者閱讀。對於一些從事售前工作的讀者,《OpenStack從零開始學》也非常適用。
作者簡介:
盧萬龍
現就職於聯想集團,近十年來一直專注於虛擬化、雲計算和基礎設施架構方面,參與建設企業眾多重要項目的可行性研究、設計、實施和運維等工作,學習和積累了豐富的技術和項目管理經驗,對KVM虛擬化、OpenStack雲計算、分布式文件系統和IBM PowerVM有深入研究
周萌
2007年加入中油瑞飛,現任部門經理、技術架構師。擁有10多年行業從業經驗,作為技術負責人參與了中石油多個統建項目的實施,對雲計算有深入的理解,發表了多篇文章,研究領域包括分布式計算、項目管理和系統架構,積累了深厚的技術專業知識和豐富的管理經驗。
8. 如何進行 OpenStack 的性能測試及平台功能性測試
1,openstack包含nova、cinder、neutron等模塊,具體的模塊壓測行為不同,通用的工具就是用lr或者jmeter進行介面壓測,或者基於mock框架 模擬大數據批量壓測;
2,平台功能性測試有很多方法,第一:最笨的方法就是人工驗證;第二:可以藉助自動化工具進行驗證,例如seleniumn等自動化框架,前提是你的平台功能性比較穩定。
打字不易,希望的回答能幫到你,謝謝。
9. openstack中的三種基礎資源是那三種
openstack中的三種基礎資源是:計算服務、存儲服務、鏡像服務。
它負責管理OpenStack集群中的鏡像,可以創建、刪除、編輯鏡像基本信息,支持多種虛擬機鏡像格式。但是,Glance本身並不存儲信息,它只保存描述鏡像的元數據和狀態信息,存儲工作由cinder和swift等項目負責。
工作流程:
Open Stack的各個服務之間通過統一的REST風格的API調用,實現系統的松耦合。它內部組件的工作過程是一個有序的整體。諸如計算資源分配、控制調度、網路通信等都通過AMQP實現。 Open Stack的上層用戶是程序員、一般用戶和 Horizon界面等模塊。
這三者都是採用 Open Stack各個組件提供的API介面進行交互,而它們之間則是通過AMQP進行互相調用,它們共同利用底層的虛擬資源為上層用戶和程序提供雲計算服務。
10. 在openstack中swift和cinder中的區別
swift是object storage(對象存儲),將object(可以理解為文件)存儲到bucket(可以理解為文件夾)里,你可以用swift創建container,然後上傳文件,例如視頻,照片,這些文件會被replication到不同伺服器上以保證可靠性,swift可以不依靠虛擬機工作。所謂的雲存儲,OpenStack就是用swift實現的,類似於Amazon AWS S3(Simple Storage Service).
cinder是block storage(塊存儲),你可以把cinder當做優盤管理程序來理解。你可以用cinder創建volume,然後將它接到(attach)虛擬機上去,這個volume就像虛擬機的一個存儲分區一樣工作。如果你把這個虛擬機terminate了,這個volume和里邊的數據依然還在,你還可以把它接到其他虛擬機上繼續使用里邊的數據。cinder創建的volume必須被接到虛擬機上才能工作。類似於Amazon AWS EBS(Elastic Block Storage).