首頁 >常見問題 >物件儲存和區塊儲存的區別是什麼

物件儲存和區塊儲存的區別是什麼

青灯夜游
青灯夜游原創
2021-09-27 16:55:2510711瀏覽

區別:1.使用者不同,區塊儲存的使用者是可以讀寫區塊設備的軟體系統;物件儲存的使用者則是其它電腦軟體。 2.速度不同,快存儲是低延遲(10ms),而物件儲存是「100ms-1s」;3、介面不同;4、適合場景不同。

物件儲存和區塊儲存的區別是什麼

本教學操作環境:windows7系統、Dell G3電腦。

區塊儲存

典型裝置:磁碟陣列、硬碟

區塊儲存主要是將裸磁碟空間整個映射給主機使用的。

就是說例如:磁碟陣列裡面有5塊硬碟,然後可以透過劃邏輯盤、做Raid、或LVM等方式邏輯來劃分N個邏輯的硬碟。但是邏輯盤和實體盤是兩個完全不同的概念。假設每個硬碟100G,共有5個硬碟,分割為邏輯磁碟也為5個,每個100G,但是這5個邏輯磁碟和原來的5個實體碟意義完全不同了。例如第一個邏輯盤第一個20G可能來自物理盤1,第二個20G來自物理盤2,所以邏輯盤是多個物理盤邏輯虛構出來的硬碟。

接著區塊儲存會採用映射的方式將這幾個邏輯盤映射給主機,主機上面的作業系統會辨識到有5塊硬碟,但是作業系統是無法區分到底是實體碟還是邏輯盤,它一概就認為只是5塊裸的實體硬碟而已,跟直接拿一塊實體硬碟掛載到作業系統沒區別,至少作業系統感知上沒有差別的。

在此方式下,作業系統還需要將掛載的裸硬碟進行分割、格式化後,才能使用,與平常主機內建的硬碟無差異。

優點

   (1)這種方式的好處當然是因為透過了Raid與LVM等手段,對資料提供了保護;

    (2)可以將多塊便宜的硬碟組合起來,稱為一個大容量的邏輯碟對外提供服務,提高了容量;

    (3)寫入資料時,由於是多塊磁碟組合出來的邏輯盤,所以幾塊硬碟可以並行寫入的,提升了讀寫效率;

    (4)很多時候區塊儲存採用SAN架構組網,傳輸速度以及封裝協定的原因,使得傳輸速度與讀寫效率提升

缺點

    (1)採用SAN架構網路時,需額外為主機購買光纖通道卡,還要購買光纖交換機,造價成本高;

    (2)主機之間資料無法共享,在伺服器不做叢集的情況下,區塊儲存光碟對應給主機,在格式化使用後,對於主機來說相當於本地盤,那麼主機A的本地盤根本不能給主機B去使用,無法共享資料

    (3)不利於不同作業系統主機間的資料共享:因為作業系統使用不同的檔案系統,格式化後,不同的檔案系統間的資料是共享不了的。例如一台win7,檔案系統是FAT32/NTFS,而linux是EXT4,EXT4是無法辨識NTFS的檔案系統的。

檔案儲存

     典型裝置:FTP、NFS伺服器

    為了克服檔案無法共享的問題,所以有了文件儲存。

    檔案儲存也有軟硬一體化的設備,但是其實一台普通的PC機,只要裝上合適的作業系統和軟體,就可以假設FTP與NFS服務了,架上此類服務之後的伺服器,就是檔案儲存的一種了。

    主機A可以直接對檔案儲存進行檔案的上傳和下載,與區塊儲存不同,主機A是不需要再對檔案儲存進行格式化的,因為檔案管理功能已經由檔案儲存自己搞定了。

優點

     (1)低造價:隨便一台機器就可以,另外普通的乙太網路就可以,根本不需要專用的SAN網絡,所以低造價

     (2)方便檔案分享

缺點

##     (1)讀取和寫入速率低,傳輸速率慢:以太網,上傳下載速度較慢,另外所有讀寫都要1台伺服器裡面的硬碟來承受,相比起磁碟陣列動不動就十幾上百塊硬碟同時讀寫,速率慢了許多。

物件儲存

    典型裝置:內建高容量硬碟的分散式伺服器

    物件儲存最常使用的方案,就是多台伺服器內建大容量硬碟,再裝上物件儲存軟體,然後再額外搞幾台服務作為管理節點,安裝上物件儲存管理軟體。管理節點可以管理其他伺服器對外提供讀寫存取功能。

    之所以出現物件儲存這種東西,是為了克服區塊儲存與檔案儲存各自的缺點,發揚各自的優點。簡單來說塊存儲讀寫快,不利於共享,文件存儲讀寫慢,利於共享。能否弄一個讀寫區塊,利於共享的儲存出來呢?於是就有了對象存儲。

    首先,一個檔案包含了屬性(術語:metadata,元數據,例如該檔案的大小、修改時間、儲存路徑等)以及內容(資料)。

    像FAT32這個檔案系統,是直接將一份文件與metadata一起儲存的,儲存過程先將檔案依照檔案系統的最小區塊大小來打散(例如4M的文件,假設檔案系統要求一個塊4K,那就將檔案打散稱為1000個小塊),再寫進硬碟裡,過程中沒有區分資料和metadata的。而每個區塊最後會告知你下一個要讀取的區塊位址,然後一直這樣順序的按圖索驥,最後完成整份檔案的所有區塊的讀取。

    這種情況下讀寫速率很慢,因為就算你有100個機械手臂在讀寫,但是由於你只有讀取到第一個區塊,才能知道下一個區塊在哪裡,其實相當於只能有1個機械手臂在實際工作。

    而物件儲存則將元資料獨立出來了,控制節點叫元資料伺服器(伺服器物件儲存管理軟體),裡面主要負責儲存物件的屬性(主要是物件的資料被打散存放到了那幾台分散式伺服器中的資訊)而其他負責儲存資料的分散式伺服器叫做OSD,主要負責儲存檔案的資料部分。當使用者存取對象,會先存取元資料伺服器,元資料伺服器只負責回饋對象儲存在哪裡OSD,假設回饋檔案A儲存在B、C、D三台OSD,那麼使用者就會再次直接存取3台OSD伺服器去讀取資料。

    這時候由於是3台OSD同時對外傳輸數據,所以傳輸的速度就會加快了,當OSD伺服器數量越多,這種讀寫速度的提升就越大,透過此種方式,實現了讀寫快的目的。

    另一方面,物件儲存軟體是有專門的檔案系統的,所以OSD對外又相當於檔案伺服器,那麼就不存在共享方面的困難了,也解決了檔案共享方面的問題

    所以物件儲存的出現,很好的結合了區塊儲存和檔案儲存的優點

為什麼物件儲存兼具區塊儲存和檔案儲存的好處,還要使用區塊儲存和文件儲存呢?

    (1)有一類應用程式是需要儲存直接光碟對應的,例如資料庫。因為資料需要儲存樓盤映射給自己後,再根據自己的資料庫檔案系統來對裸盤進行格式化的,所以是不能夠採用其他已經被格式化為某種檔案系統的儲存的。此類應用更合適使用區塊儲存。

    (2)物件儲存的成本比起普通的檔案儲存還要較高,需要購買專門的物件儲存軟體以及大容量硬碟。如果資料量要求不是海量,只是為了做檔案分享的時候,直接用檔案儲存的形式好了,性價比高。

區塊儲存、檔案儲存、物件儲存的區別

物件儲存和區塊儲存的區別是什麼

#更多相關知識,請訪問常見問題欄位!

以上是物件儲存和區塊儲存的區別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn