您好,登錄后才能下訂單哦!
關(guān)于塊存儲(chǔ)、文件存儲(chǔ)、對(duì)象存儲(chǔ)方面的知識(shí)在知乎上看到了個(gè)很好的解答:https://www.zhihu.com/question/21536660
通俗易懂,查了些資料做了詳細(xì)的補(bǔ)充。
塊存儲(chǔ)
典型設(shè)備:磁盤陣列、硬盤
塊存儲(chǔ)主要是將裸磁盤空間整個(gè)映射給主機(jī)使用的。
就是說(shuō)例如:磁盤陣列里面有5塊硬盤,然后可以通過(guò)劃邏輯盤、做Raid、或者LVM等方式邏輯劃分出N個(gè)邏輯的硬盤。但是邏輯盤和物理盤是兩個(gè)完全不同的概念。假設(shè)每個(gè)硬盤100G,共有5個(gè)硬盤,劃分為邏輯盤也為5個(gè),每個(gè)100G,但是這5個(gè)邏輯盤和原來(lái)的5個(gè)物理盤意義完全不同了。例如第一個(gè)邏輯盤第一個(gè)20G可能來(lái)自物理盤1,第二個(gè)20G來(lái)自物理盤2,所以邏輯盤是多個(gè)物理盤邏輯虛構(gòu)出來(lái)的硬盤。
接著塊存儲(chǔ)會(huì)采用映射的方式將這幾個(gè)邏輯盤映射給主機(jī),主機(jī)上面的操作系統(tǒng)會(huì)識(shí)別到有5塊硬盤,但是操作系統(tǒng)是無(wú)法區(qū)分到底是物理盤還是邏輯盤,它一概就認(rèn)為只是5塊裸的物理硬盤而已,跟直接拿一塊物理硬盤掛載到操作系統(tǒng)沒(méi)區(qū)別,至少操作系統(tǒng)感知上沒(méi)有區(qū)別的。
在此方式下,操作系統(tǒng)還需要對(duì)掛載的裸硬盤進(jìn)行分區(qū)、格式化后,才能使用,與平常主機(jī)內(nèi)置的硬盤無(wú)差異。
優(yōu)點(diǎn)
(1)這種方式的好處當(dāng)然是因?yàn)橥ㄟ^(guò)了Raid與LVM等手段,對(duì)數(shù)據(jù)提供了保護(hù);
(2)可以將多塊廉價(jià)的硬盤組合起來(lái),稱為一個(gè)大容量的邏輯盤對(duì)外提供服務(wù),提高了容量;
(3)寫入數(shù)據(jù)時(shí),由于是多塊磁盤組合出來(lái)的邏輯盤,所以幾塊硬盤可以并行寫入的,提升了讀寫效率;
(4)很多時(shí)候塊存儲(chǔ)采用SAN架構(gòu)組網(wǎng),傳輸速度以及封裝協(xié)議的原因,使得傳輸速度和讀寫效率得到提升
缺點(diǎn)
(1)采用SAN架構(gòu)組網(wǎng)時(shí),需要額外為主機(jī)購(gòu)買光纖通道卡,還要購(gòu)買光纖交換機(jī),造價(jià)成本高;
(2)主機(jī)之間數(shù)據(jù)無(wú)法共享,在服務(wù)器不做集群的情況下,塊存儲(chǔ)裸盤映射給主機(jī),在格式化使用后,對(duì)于主機(jī)來(lái)說(shuō)相當(dāng)于本地盤,那么主機(jī)A的本地盤根本不能給主機(jī)B去使用,無(wú)法共享數(shù)據(jù)
(3)不利于不同操作系統(tǒng)主機(jī)間的數(shù)據(jù)共享:因?yàn)椴僮飨到y(tǒng)使用不同的文件系統(tǒng),格式化后,不同的文件系統(tǒng)間的數(shù)據(jù)是共享不了的。 例如一臺(tái)win7,文件系統(tǒng)是FAT32/NTFS,而linux是EXT4,EXT4是無(wú)法識(shí)別NTFS的文件系統(tǒng)的。
文件存儲(chǔ)
典型設(shè)備:FTP、NFS服務(wù)器
為了克服文件無(wú)法共享的問(wèn)題,所以有了文件存儲(chǔ)。
文件存儲(chǔ)也有軟硬一體化的設(shè)備,但是其實(shí)一臺(tái)普通的PC機(jī),只要裝上合適的操作系統(tǒng)和軟件,就可以假設(shè)FTP與NFS服務(wù)了,架上該類服務(wù)之后的服務(wù)器,就是文件存儲(chǔ)的一種了。
主機(jī)A可以直接對(duì)文件存儲(chǔ)進(jìn)行文件的上傳和下載,與塊存儲(chǔ)不同,主機(jī)A是不需要再對(duì)文件存儲(chǔ)進(jìn)行格式化的,因?yàn)槲募芾砉δ芤呀?jīng)由文件存儲(chǔ)自己搞定了。
優(yōu)點(diǎn)
(1)造價(jià)低:隨便一臺(tái)機(jī)器就可以,另外普通的以太網(wǎng)就可以,根本不需要專用的SAN網(wǎng)絡(luò),所以造價(jià)低
(2)方便文件共享
缺點(diǎn)
(1)讀寫速率低,傳輸速率慢:以太網(wǎng),上傳下載速度較慢,另外所有讀寫都要1臺(tái)服務(wù)器里面的硬盤來(lái)承受,相比起磁盤陣列動(dòng)不動(dòng)就十幾上百塊硬盤同時(shí)讀寫,速率慢了許多。
對(duì)象存儲(chǔ)
典型設(shè)備:內(nèi)置大容量硬盤的分布式服務(wù)器
對(duì)象存儲(chǔ)最常用的方案,就是多臺(tái)服務(wù)器內(nèi)置大容量硬盤,再裝上對(duì)象存儲(chǔ)軟件,然后再額外搞幾臺(tái)服務(wù)作為管理節(jié)點(diǎn),安裝上對(duì)象存儲(chǔ)管理軟件。管理節(jié)點(diǎn)可以管理其他服務(wù)器對(duì)外提供讀寫訪問(wèn)功能。
之所以出現(xiàn)對(duì)象存儲(chǔ)這種東西,是為了克服塊存儲(chǔ)與文件存儲(chǔ)各自的缺點(diǎn),發(fā)揚(yáng)各自的優(yōu)點(diǎn)。簡(jiǎn)單來(lái)說(shuō)塊存儲(chǔ)讀寫快,不利于共享,文件存儲(chǔ)讀寫慢,利于共享。能否弄一個(gè)讀寫塊,利于共享的存儲(chǔ)出來(lái)呢?于是就有了對(duì)象存儲(chǔ)。
首先,一個(gè)文件包含了屬性(術(shù)語(yǔ):metadata,元數(shù)據(jù),例如該文件的大小、修改時(shí)間、存儲(chǔ)路徑等)以及內(nèi)容(數(shù)據(jù))。
像FAT32這種文件系統(tǒng),是直接將一份文件與metadata一起存儲(chǔ)的,存儲(chǔ)過(guò)程先將文件按照文件系統(tǒng)的最小塊大小來(lái)打散(例如4M的文件,假設(shè)文件系統(tǒng)要求一個(gè)塊4K,那么就將文件打散稱為1000個(gè)小塊),再寫進(jìn)硬盤里,過(guò)程中沒(méi)有區(qū)分?jǐn)?shù)據(jù)和metadata的。而每個(gè)塊最后會(huì)告知你下一個(gè)要讀取的塊地址,然后一直這樣順序的按圖索驥,最后完成整份文件的所有塊的讀取。
這種情況下讀寫速率很慢,因?yàn)榫退隳阌?00個(gè)機(jī)械臂在讀寫,但是由于你只有讀取到第一個(gè)塊,才能知道下一個(gè)塊在哪里,其實(shí)相當(dāng)于只能有1個(gè)機(jī)械臂在實(shí)際工作。
而對(duì)象存儲(chǔ)則將元數(shù)據(jù)獨(dú)立出來(lái)了,控制節(jié)點(diǎn)叫元數(shù)據(jù)服務(wù)器(服務(wù)器+對(duì)象存儲(chǔ)管理軟件),里面主要負(fù)責(zé)存儲(chǔ)對(duì)象的屬性(主要是對(duì)象的數(shù)據(jù)被打散存放到了那幾臺(tái)分布式服務(wù)器中的信息)而其他負(fù)責(zé)存儲(chǔ)數(shù)據(jù)的分布式服務(wù)器叫做OSD,主要負(fù)責(zé)存儲(chǔ)文件的數(shù)據(jù)部分。當(dāng)用戶訪問(wèn)對(duì)象,會(huì)先訪問(wèn)元數(shù)據(jù)服務(wù)器,元數(shù)據(jù)服務(wù)器只負(fù)責(zé)反饋對(duì)象存儲(chǔ)在哪里OSD,假設(shè)反饋文件A存儲(chǔ)在B、C、D三臺(tái)OSD,那么用戶就會(huì)再次直接訪問(wèn)3臺(tái)OSD服務(wù)器去讀取數(shù)據(jù)。
這時(shí)候由于是3臺(tái)OSD同時(shí)對(duì)外傳輸數(shù)據(jù),所以傳輸?shù)乃俣染蜁?huì)加快了,當(dāng)OSD服務(wù)器數(shù)量越多,這種讀寫速度的提升就越大,通過(guò)此種方式,實(shí)現(xiàn)了讀寫快的目的。
另一方面,對(duì)象存儲(chǔ)軟件是有專門的文件系統(tǒng)的,所以O(shè)SD對(duì)外又相當(dāng)于文件服務(wù)器,那么就不存在共享方面的困難了,也解決了文件共享方面的問(wèn)題
所以對(duì)象存儲(chǔ)的出現(xiàn),很好的結(jié)合了塊存儲(chǔ)和文件存儲(chǔ)的優(yōu)點(diǎn)
為什么對(duì)象存儲(chǔ)兼具塊存儲(chǔ)和文件存儲(chǔ)的好處,還要使用塊存儲(chǔ)和文件存儲(chǔ)呢?
(1)有一類應(yīng)用是需要存儲(chǔ)直接裸盤映射的,例如數(shù)據(jù)庫(kù)。因?yàn)閿?shù)據(jù)需要存儲(chǔ)樓盤映射給自己后,再根據(jù)自己的數(shù)據(jù)庫(kù)文件系統(tǒng)來(lái)對(duì)裸盤進(jìn)行格式化的,所以是不能夠采用其他已經(jīng)被格式化為某種文件系統(tǒng)的存儲(chǔ)的。此類應(yīng)用更合適使用塊存儲(chǔ)。
(2)對(duì)象存儲(chǔ)的成本比起普通的文件存儲(chǔ)還要較高,需要購(gòu)買專門的對(duì)象存儲(chǔ)軟件以及大容量硬盤。如果對(duì)數(shù)據(jù)量要求不是海量,只是為了做文件共享的時(shí)候,直接用文件存儲(chǔ)的形式好了,性價(jià)比高。
下圖簡(jiǎn)要的總結(jié)了三者之間的差異:
對(duì)象存儲(chǔ)文件系統(tǒng)的關(guān)鍵技術(shù)是什么?
(1)分布元數(shù)據(jù)
(2)并發(fā)數(shù)據(jù)訪問(wèn),對(duì)象存儲(chǔ)體系結(jié)構(gòu)定義了一個(gè)新的、更加智能化的磁盤接口OSD
什么是OSD?
存儲(chǔ)局域網(wǎng)(SAN)和網(wǎng)絡(luò)附加存儲(chǔ)(NAS)是我們比較熟悉的兩種主流網(wǎng)絡(luò)存儲(chǔ)架構(gòu),而對(duì)象存儲(chǔ)是一種新的網(wǎng)絡(luò)存儲(chǔ)架構(gòu),基于對(duì)象存儲(chǔ)技術(shù)的設(shè)備就是對(duì)象存儲(chǔ)設(shè)備,簡(jiǎn)稱:OSD
在存儲(chǔ)對(duì)象中通過(guò)什么對(duì)象方式訪問(wèn)對(duì)象?
在存儲(chǔ)設(shè)備中,所有對(duì)象都有一個(gè)對(duì)象標(biāo)識(shí),通過(guò)對(duì)象標(biāo)識(shí)OSD命令訪問(wèn)對(duì)象
OSD的主要功能是什么?
(1)數(shù)據(jù)存儲(chǔ)。OSD管理對(duì)象數(shù)據(jù),并將它們放置在標(biāo)準(zhǔn)的磁盤系統(tǒng)上,OSD不提供塊接口訪問(wèn)方式,Client請(qǐng)求數(shù)據(jù)時(shí)用對(duì)象ID、偏移進(jìn)行數(shù)據(jù)讀寫;
(2)智能分布。OSD用其自身的CPU和內(nèi)存優(yōu)化數(shù)據(jù)分布,并支持?jǐn)?shù)據(jù)的預(yù)取。由于OSD可以智能的支持對(duì)象的預(yù)取,從而可以優(yōu)化磁盤的性能
(3)每個(gè)對(duì)象元數(shù)據(jù)的管理。OSD管理存儲(chǔ)在其上對(duì)象的元數(shù)據(jù),該元數(shù)據(jù)與傳統(tǒng)的inode元數(shù)據(jù)相似,通常包括對(duì)象的數(shù)據(jù)塊和對(duì)象的長(zhǎng)度。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。