Linux

文件儲存不依賴塊儲存嗎?

  • April 27, 2021

我通常從事軟體方面的工作,並且在儲存方面很弱。我正在閱讀有關塊、文件和對象儲存的內容,我發現的所有內容都將儲存作為一個完全獨立的主題進行討論,而不是包括作業系統會看到的內容——這是我真正感興趣的內容。

讓我困惑的是塊儲存和文件儲存是完全分開的。例如,在 LVM 中,您必須為其提供塊設備進行管理,然後在此之上您擁有各自的 VG 和 LV,並在其之上具有文件系統。這些塊設備不被視為塊儲存嗎?

當儲存人員說文件儲存時,該文件儲存在某些時候是否必然在其下方具有塊儲存?相反,塊儲存是否不需要在其之上的某些東西才有用?是文件系統還是某種對象/專有/特殊醬汁儲存?

例如,如果我理解正確,SAN 有某種控制器,然後提供 LUN(通常),然後由伺服器安裝(視為作業系統中的另一個硬碟驅動器),然後將文件系統放在它們上面。或者這是不正確的?

這似乎很奇怪,因為大多數閱讀材料都將這些內容呈現為看似相互排斥的選項,我不確定我是否誤解了一些基本的東西。

我不是儲存專家,但我會盡力回答您的問題。

塊儲存是您可以以塊為單位寫入和讀取數據的儲存,因此得名,傳統上它曾經是硬碟驅動器的 512 字節扇區,現在現代硬碟驅動器可以是 4096 字節扇區(文件系統塊大小可以更大到 64Kb以 xfs 為例)

塊儲存可以劃分為不同的分區,這是您想要將塊儲存(1 個硬碟驅動器分成不同的邏輯塊)彎曲的作業系統層。一個用於啟動,一個用於遊戲,一個用於數據,一個用於工作。不過,這是可選的,正如您在上面提到的 LVM,您可以將塊儲存單元添加為物理捲而不對其進行分區。

文件儲存是該塊設備上的文件系統的概念,它是一個方便的介面來安排和保存/讀取該設備的數據,它還允許寫入特定的塊,例如 MBR,例如讓 BIOS api 找到如何啟動作業系統,但除此之外,這只是作業系統核心在塊設備上互動和排列數據同時讓使用者在該儲存上具有良好的基於文件的層次結構(unix中的目錄,windows中的文件夾)的邏輯方式

現在您提到 LVM 只是一個程序,它允許您以更有效的方式管理儲存(添加、刪除、鏡像、快照邏輯磁碟)它只是特定作業系統的抽象層,用於與底層硬體儲存設備互動對使用者來說更簡單的方法,類似於 zfs 卷或 Solaris 捲管理器或 linux 軟體 RAID(mdraid),所有這些都是為了方便而創建的。

對象儲存是類似於文件儲存的儲存,只是儲存方式不同,並且具有元數據索引和其他一些機制,可以在不同的硬體中分配數據並儲存數據(git、AWS S3)。

我希望這有幫助。

引用自:https://serverfault.com/questions/1061676