區(qū)別:1、用戶(hù)不同,塊存儲(chǔ)的用戶(hù)是可以讀寫(xiě)塊設(shè)備的軟件系統(tǒng);對(duì)象存儲(chǔ)的用戶(hù)則是其它計(jì)算機(jī)軟件。2、速度不同,快存儲(chǔ)是低延遲(10ms),而對(duì)象存儲(chǔ)是“100ms-1s”;3、接口不同;4、適合場(chǎng)景不同。
本教程操作環(huán)境:windows7系統(tǒng)、Dell G3電腦。
塊存儲(chǔ)
典型設(shè)備:磁盤(pán)陣列、硬盤(pán)
塊存儲(chǔ)主要是將裸磁盤(pán)空間整個(gè)映射給主機(jī)使用的。
就是說(shuō)例如:磁盤(pán)陣列里面有5塊硬盤(pán),然后可以通過(guò)劃邏輯盤(pán)、做Raid、或者LVM等方式邏輯劃分出N個(gè)邏輯的硬盤(pán)。但是邏輯盤(pán)和物理盤(pán)是兩個(gè)完全不同的概念。假設(shè)每個(gè)硬盤(pán)100G,共有5個(gè)硬盤(pán),劃分為邏輯盤(pán)也為5個(gè),每個(gè)100G,但是這5個(gè)邏輯盤(pán)和原來(lái)的5個(gè)物理盤(pán)意義完全不同了。例如第一個(gè)邏輯盤(pán)第一個(gè)20G可能來(lái)自物理盤(pán)1,第二個(gè)20G來(lái)自物理盤(pán)2,所以邏輯盤(pán)是多個(gè)物理盤(pán)邏輯虛構(gòu)出來(lái)的硬盤(pán)。
接著塊存儲(chǔ)會(huì)采用映射的方式將這幾個(gè)邏輯盤(pán)映射給主機(jī),主機(jī)上面的操作系統(tǒng)會(huì)識(shí)別到有5塊硬盤(pán),但是操作系統(tǒng)是無(wú)法區(qū)分到底是物理盤(pán)還是邏輯盤(pán),它一概就認(rèn)為只是5塊裸的物理硬盤(pán)而已,跟直接拿一塊物理硬盤(pán)掛載到操作系統(tǒng)沒(méi)區(qū)別,至少操作系統(tǒng)感知上沒(méi)有區(qū)別的。
在此方式下,操作系統(tǒng)還需要對(duì)掛載的裸硬盤(pán)進(jìn)行分區(qū)、格式化后,才能使用,與平常主機(jī)內(nèi)置的硬盤(pán)無(wú)差異。
優(yōu)點(diǎn)
(1)這種方式的好處當(dāng)然是因?yàn)橥ㄟ^(guò)了Raid與LVM等手段,對(duì)數(shù)據(jù)提供了保護(hù);
(2)可以將多塊廉價(jià)的硬盤(pán)組合起來(lái),稱(chēng)為一個(gè)大容量的邏輯盤(pán)對(duì)外提供服務(wù),提高了容量;
(3)寫(xiě)入數(shù)據(jù)時(shí),由于是多塊磁盤(pán)組合出來(lái)的邏輯盤(pán),所以幾塊硬盤(pán)可以并行寫(xiě)入的,提升了讀寫(xiě)效率;
(4)很多時(shí)候塊存儲(chǔ)采用SAN架構(gòu)組網(wǎng),傳輸速度以及封裝協(xié)議的原因,使得傳輸速度和讀寫(xiě)效率得到提升
缺點(diǎn)
(1)采用SAN架構(gòu)組網(wǎng)時(shí),需要額外為主機(jī)購(gòu)買(mǎi)光纖通道卡,還要購(gòu)買(mǎi)光纖交換機(jī),造價(jià)成本高;
(2)主機(jī)之間數(shù)據(jù)無(wú)法共享,在服務(wù)器不做集群的情況下,塊存儲(chǔ)裸盤(pán)映射給主機(jī),在格式化使用后,對(duì)于主機(jī)來(lái)說(shuō)相當(dāng)于本地盤(pán),那么主機(jī)A的本地盤(pán)根本不能給主機(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ù)了,架上該類(lèi)服務(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)就可以,根本不需要專(zhuān)用的SAN網(wǎng)絡(luò),所以造價(jià)低
(2)方便文件共享
缺點(diǎn)
(1)讀寫(xiě)速率低,傳輸速率慢:以太網(wǎng),上傳下載速度較慢,另外所有讀寫(xiě)都要1臺(tái)服務(wù)器里面的硬盤(pán)來(lái)承受,相比起磁盤(pán)陣列動(dòng)不動(dòng)就十幾上百塊硬盤(pán)同時(shí)讀寫(xiě),速率慢了許多。
對(duì)象存儲(chǔ)
典型設(shè)備:內(nèi)置大容量硬盤(pán)的分布式服務(wù)器
對(duì)象存儲(chǔ)最常用的方案,就是多臺(tái)服務(wù)器內(nèi)置大容量硬盤(pán),再裝上對(duì)象存儲(chǔ)軟件,然后再額外搞幾臺(tái)服務(wù)作為管理節(jié)點(diǎn),安裝上對(duì)象存儲(chǔ)管理軟件。管理節(jié)點(diǎn)可以管理其他服務(wù)器對(duì)外提供讀寫(xiě)訪問(wèn)功能。
之所以出現(xiàn)對(duì)象存儲(chǔ)這種東西,是為了克服塊存儲(chǔ)與文件存儲(chǔ)各自的缺點(diǎn),發(fā)揚(yáng)各自的優(yōu)點(diǎn)。簡(jiǎn)單來(lái)說(shuō)塊存儲(chǔ)讀寫(xiě)快,不利于共享,文件存儲(chǔ)讀寫(xiě)慢,利于共享。能否弄一個(gè)讀寫(xiě)塊,利于共享的存儲(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,那么就將文件打散稱(chēng)為1000個(gè)小塊),再寫(xiě)進(jìn)硬盤(pán)里,過(guò)程中沒(méi)有區(qū)分?jǐn)?shù)據(jù)和metadata的。而每個(gè)塊最后會(huì)告知你下一個(gè)要讀取的塊地址,然后一直這樣順序的按圖索驥,最后完成整份文件的所有塊的讀取。
這種情況下讀寫(xiě)速率很慢,因?yàn)榫退隳阌?00個(gè)機(jī)械臂在讀寫(xiě),但是由于你只有讀取到第一個(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)用戶(hù)訪問(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,那么用戶(hù)就會(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ù)量越多,這種讀寫(xiě)速度的提升就越大,通過(guò)此種方式,實(shí)現(xiàn)了讀寫(xiě)快的目的。
另一方面,對(duì)象存儲(chǔ)軟件是有專(zhuān)門(mén)的文件系統(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)有一類(lèi)應(yīng)用是需要存儲(chǔ)直接裸盤(pán)映射的,例如數(shù)據(jù)庫(kù)。因?yàn)閿?shù)據(jù)需要存儲(chǔ)樓盤(pán)映射給自己后,再根據(jù)自己的數(shù)據(jù)庫(kù)文件系統(tǒng)來(lái)對(duì)裸盤(pán)進(jìn)行格式化的,所以是不能夠采用其他已經(jīng)被格式化為某種文件系統(tǒng)的存儲(chǔ)的。此類(lèi)應(yīng)用更合適使用塊存儲(chǔ)。
(2)對(duì)象存儲(chǔ)的成本比起普通的文件存儲(chǔ)還要較高,需要購(gòu)買(mǎi)專(zhuān)門(mén)的對(duì)象存儲(chǔ)軟件以及大容量硬盤(pán)。如果對(duì)數(shù)據(jù)量要求不是海量,只是為了做文件共享的時(shí)候,直接用文件存儲(chǔ)的形式好了,性?xún)r(jià)比高。
塊存儲(chǔ)、文件存儲(chǔ)、對(duì)象存儲(chǔ)的區(qū)別