原文: http://www.hengtianyun.com/download-show-id-101.html
塊存儲,簡單來說就是提供了塊設(shè)備存儲的接口。用戶需要把塊存儲卷附加到虛擬機(jī)(或者裸機(jī))上后才可以與其交互。這些卷都是持久的,它們可以被從運(yùn)行實(shí)例上解除或者重新附加而數(shù)據(jù)保持完整不變。OpenStack ?中的實(shí)例是不能持久化的,需要掛載 ?volume,在 ?volume ?中實(shí)現(xiàn)持久化。Cinder ?就是提供對 ?volume ?實(shí)際需要的存儲塊單元的實(shí)現(xiàn)管理功能。
1.單機(jī)塊存儲
1.1 LVM
LVM是 ?Logical Volume Manager(邏輯卷管理)的簡寫,它由Heinz Mauelsha- gen在Linux 2.4內(nèi)核上實(shí)現(xiàn)。LVM將一個(gè)或多個(gè)硬盤的分區(qū)在邏輯上集合,相當(dāng)于一個(gè)大硬盤來使用,當(dāng)硬盤的空間不夠使用的時(shí)候,可以繼續(xù)將其它的硬盤的分區(qū)加入其中,這樣可以實(shí)現(xiàn)磁盤空間的動(dòng)態(tài)管理,相對于普通的磁盤分區(qū)有很大的靈活性。
與傳統(tǒng)的磁盤與分區(qū)相比,LVM為計(jì)算機(jī)提供了更高層次的磁盤存儲。它使系統(tǒng)管理員可以更方便的為應(yīng)用與用戶分配存儲空間。在LVM管理下的存儲卷可以按需要隨時(shí)改變大小與移除(可能需對文件系統(tǒng)工具進(jìn)行升級)。LVM也允許按用戶組對存儲卷進(jìn)行管理,允許管理員用更直觀的名稱(如“sales”、 ?“development”)代替物理磁盤名(如“sda”、“sdb”)來標(biāo)識存儲卷。
?
Device-mapper是一種支持邏輯卷管理的通用設(shè)備映射機(jī)制,為存儲資源管理的塊設(shè)備驅(qū)動(dòng)提供了一個(gè)高度模塊化的內(nèi)核架構(gòu)。LVM是基于Device-mapper的用戶程序?qū)崿F(xiàn)。
Device-mapper在內(nèi)核中它通過一個(gè)模塊化的Target Driver插件實(shí)現(xiàn)對IO請求的過濾或者重定向工作,當(dāng)前已經(jīng)實(shí)現(xiàn)的Target Driver插件包括軟Raid、軟加密、邏輯卷?xiàng)l帶、多路徑、鏡像、快照等。整個(gè) ?device mapper ?機(jī)制由兩部分組成–內(nèi)核空間的 ?device mapper ?驅(qū)動(dòng)、用戶空間的device mapper ?庫以及它提供的 ?dmsetup ?工具。內(nèi)核中主要提供完成這些策略所需要的機(jī)制。Device-mapper ?用戶空間相關(guān)部分主要負(fù)責(zé)配置具體的策略和控制邏輯,比如邏輯設(shè)備和哪些物理設(shè)備建立映射,怎么建立這些映射關(guān)系等等,而具體過濾和重定向 ?IO ?請求的工作由內(nèi)核中相關(guān)代碼完成。
LVM使得文件系統(tǒng)可以跨多個(gè)磁盤,因此大小不會(huì)受物理磁盤的限制。可以在系統(tǒng)運(yùn)行狀態(tài)下動(dòng)態(tài)地?cái)U(kuò)展文件系統(tǒng)大小。可以增加新磁盤到 ?LVM ?的存儲池中。可以鏡像的方式冗余重要數(shù)據(jù)到多個(gè)物理磁盤上。還能很方便地導(dǎo)出整個(gè)卷組,并導(dǎo)入到另外一臺機(jī)器上。
然而LVM缺點(diǎn)也是明顯的,當(dāng)卷組中的一個(gè)磁盤損壞時(shí),整個(gè)卷組都會(huì)受影響。僅支持有限個(gè)文件系統(tǒng)類型的減小操作(ext3不支持減少文件系統(tǒng)大小的操作)。因?yàn)榧尤肓祟~外的操作,存儲性能會(huì)受影響。
1.2 SAN
存儲區(qū)域網(wǎng)絡(luò)(SAN)是一種高速網(wǎng)絡(luò)或子網(wǎng)絡(luò),提供在計(jì)算機(jī)與存儲系統(tǒng)之間的數(shù)據(jù)傳輸。存儲設(shè)備是指一張或多張用以存儲計(jì)算機(jī)數(shù)據(jù)的磁盤設(shè)備。一個(gè) ?SAN ?網(wǎng)絡(luò)由負(fù)責(zé)網(wǎng)絡(luò)連接的通信結(jié)構(gòu)、負(fù)責(zé)組織連接的管理層、存儲部件以及計(jì)算機(jī)系統(tǒng)構(gòu)成,從而保證數(shù)據(jù)傳輸?shù)陌踩院土Χ取?
大部分SAN使用SCSI協(xié)議在服務(wù)器和存儲設(shè)備之間傳輸和溝通,通過在SCSI之上建立不同鏡像層,可以實(shí)現(xiàn)存儲網(wǎng)絡(luò)的連接。常見的有iSCSI,F(xiàn)CP,F(xiàn)ibre Channel over Ethernet等。
SAN通常需要在專用存儲設(shè)備中建立,而iSCSI是基于TCP/IP的SCSI映射,通過iSCSI協(xié)議和Linux iSCSI項(xiàng)目我們可以在常見的PC機(jī)上建立SAN存儲。
SAN有兩個(gè)較大的缺陷:成本和復(fù)雜性,特別是在光纖信道中這些缺陷尤其明顯。使用光纖信道的情況下,合理的成本大約是1千兆或者兩千兆大概需要五萬到六萬美金。從另一個(gè)角度來看,雖然新推出的基于iSCSI的SAN解決方案大約只需要兩萬到三萬美金,但是其性能卻無法和光纖信道相比較。在價(jià)格上的差別主要是由于iSCSI技術(shù)使用的是現(xiàn)在已經(jīng)大量生產(chǎn)的吉比特以太網(wǎng)硬件,而光纖通道技術(shù)要求特定的價(jià)格昂貴的設(shè)備。
2.?分布式塊存儲
在面對極具彈性的存儲需求和性能要求下,單機(jī)或者獨(dú)立的SAN越來越不能滿足企業(yè)的需要。分布式塊存儲可以為任何物理機(jī)或者虛擬機(jī)提供持久化的塊存儲設(shè)備,管理塊設(shè)備的創(chuàng)建、刪除和attach/deattach。支持強(qiáng)大的快照功能,快照可以用來恢復(fù)或者創(chuàng)建新的塊設(shè)備。分布式存儲系統(tǒng)能夠提供不同IO性能要求的塊設(shè)備。能夠滿足動(dòng)態(tài)擴(kuò)展的要求。
目前,開源的分布式塊存儲有Ceph,GlusterFS,Sheepdog等。與Ceph相比,最大優(yōu)勢就是代碼短小好維護(hù)和hack的成本很小。Sheepdog也有很多Ceph不支持的特性,比如說Multi-Disk, Cluster-wide Snapshot等。
在文中,日本NTT的研究人員對比了sheepdog,glusterfs以及ceph在各種情況下的讀寫性能,這份測試在今年的5月份的日本openstack大會(huì)上公布。在大部分情況下,sheepdog的讀寫速度都比glusterfs以及ceph表現(xiàn)的出色。
3. openstack塊存儲
3.1 ?存儲架構(gòu)
3.2 Cinder簡介
Cinder是OpenStack中提供塊存儲服務(wù)的API框架。它并沒有實(shí)現(xiàn)對塊設(shè)備的管理和實(shí)際服務(wù),而是為后端不同的存儲結(jié)構(gòu)提供了統(tǒng)一的接口 [2] ,不同的塊設(shè)備服務(wù)廠商在Cinder中實(shí)現(xiàn)其驅(qū)動(dòng)支持以與OpenStack進(jìn)行整合。后端的存儲可以是DAS、NAS、SAN,對象存儲或者分布式文件系統(tǒng)。Cinder的塊存儲數(shù)據(jù)完整性、可用性保障是由后端存儲提供的。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
