CEPH篇 塊儲存 檔案儲存和物件儲存意義和差異

2022-04-01 05:02:06 字數 2698 閱讀 9869

應用場景(王豪邁(麥子邁|wheats))
分布式儲存的應用場景相對於其儲存介面,現在流行分為三種:

按照這三種介面和其應用場景,很容易了解這三種型別的 io 特點,括號裡代表了它在非分布式情況下的對應:

因此,這三種介面分別以非分布式情況下的鍵值資料庫、硬碟和檔案系統的 io 特點來對應即可。至於冷熱、快慢、大小檔案而言更接近於業務。但是因為儲存系統是通用化實現,通常來說,需要盡量滿足各種需求,而介面定義已經一定意義上就砍去了一些需求,如物件儲存會以冷儲存、大檔案為主。

如何選擇(王旭)
首先物件儲存和檔案儲存的區別是不大的,儲存的都是一樣的東西,只是拋棄了統一的命名空間和目錄樹的結構,使得擴充套件起來桎梏少一些。

獨立的網際網路儲存服務一般都是做物件儲存的,因為塊儲存是給計算機用的,物件儲存是給瀏覽器等 http 客戶端用的。獨立服務所提供的儲存系統,訪問都來自網際網路,自然是做物件儲存;與之相對應,大部分類 aws 的主機服務商都會提供乙個塊儲存服務搭配主機服務。

同乙個服務商同時提供兩個服務是有好處的,除了提供的服務比較全這個優點以外,物件儲存還可以支撐塊儲存的快照、主機的系統映象儲存等應用,可以相互結合的。

權衡的因素有很多——可靠性要求、可用性要求、時延要求、一致性要求、使用模式相關要求(包括請求大小、qps/iops、吞吐)等。

比如:對於物件儲存,要求的訪問時延是 100ms - 1s 級的,請求一般是中到大尺寸,低 qps 的,在這種情況下

另外 ssd 隨著成本降低,在塊儲存裡逐漸成為主流了,以便提供更好的 iops,aws 這個月開始,建立的 ebs 卷預設就是 ssd 的了。

對於評價乙個實現,首先是看適合不適合這個用途,然後看這個方案有沒有顯著的缺點,是否有嚴重的影響,然後成本之類的也是乙個因素,做軟體的人總覺的用便宜硬體實現高大上的服務才值得吹牛,呵呵。

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

塊儲存主要是將裸磁碟空間整個對映給主機使用的,就是說例如磁碟陣列裡面有5塊硬碟(為方便說明,假設每個硬碟1g),然後可以通過劃邏輯盤、做raid、或者lvm(邏輯卷)等種種方式邏輯劃分出n個邏輯的硬碟。(假設劃分完的邏輯盤也是5個,每個也是1g,但是這5個1g的邏輯盤已經於原來的5個物理硬碟意義完全不同了。例如第乙個邏輯硬碟a裡面,可能第乙個200m是來自物理硬碟1,第二個200m是來自物理硬碟2,所以邏輯硬碟a是由多個物理硬碟邏輯虛構出來的硬碟。)

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

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

優點:

缺點:

典型裝置:ftpnfs伺服器

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

檔案儲存也有軟硬一體化的裝置,但是其實普通拿一台伺服器/筆記本,只要裝上合適的作業系統與軟體,就可以架設ftp與nfs服務了,架上該類服務之後的伺服器,就是檔案儲存的一種了。

優點:

缺點:

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

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

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

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

而物件儲存則將元資料獨立了出來,控制節點叫元資料伺服器(伺服器+物件儲存管理軟體),裡面主要負責儲存物件的屬性(主要是物件的資料被打散存放到了那幾台分布式伺服器中的資訊),而其他負責儲存資料的分布式伺服器叫做osd,主要負責儲存檔案的資料部分。當使用者訪問物件,會先訪問元資料伺服器,元資料伺服器只負責反饋物件儲存在哪些osd,假設反饋檔案a儲存在b、c、d三颱osd,那麼使用者就會再次直接訪問3臺osd伺服器去讀取資料。

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

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

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

最後為什麼物件儲存兼具塊儲存與檔案儲存的好處,還要使用塊儲存或檔案儲存呢?

ceph物件儲存,檔案儲存

簡述一下物件儲存,檔案儲存,和塊儲存的區別,以物件儲存為重點 1.塊儲存 讀寫快,不利於共享,以塊作為資料儲存的基本單元 2.檔案儲存 讀寫慢,利於共享,以檔案作為資料儲存的基本單元 3.物件儲存 讀寫快,利於共享,以物件作為資料儲存的基本單元 物件儲存,下圖是塊儲存和物件儲存的形象比較 物件儲存和...

塊儲存 檔案儲存 物件儲存

塊儲存主要是對磁碟陣列 內含多塊硬碟 做raid操作或者lvm操作,邏輯劃分出n塊logic盤並對映給主機使用,作業系統會識別到n塊硬碟,但是無法感知到底是邏輯盤還是物理盤,所以還是會對其進行分割槽和格式化 無法共享資料 每塊邏輯盤實際上是由多塊硬碟共同組成,在讀寫資料的時候,幾塊物理硬碟可以並行定...

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

儲存的目的就是提供空間 硬碟為儲存的載體 把資料存放在硬碟上的 塊儲存 檔案儲存 物件儲存為使用硬碟儲存資料手段或方法 怎樣將主機 伺服器 主機 虛機 上的資料存到硬碟?作業系統中會有乙個負責管理和儲存檔案系統的軟體既檔案系統。塊儲存與檔案儲存相比最主要的差別就是儲存端是否有檔案系統。塊儲存使用時,...