Linux
誰負責將數據劃分為 PE 或塊?
當我們創建 LVM 或 RAID 分區時,我們保存在分區中的數據分別被劃分為 PE 或塊,而不是傳統的 ext3 或 ext4 塊。
我懷疑誰的責任(RAM、處理器、作業系統)將數據劃分為 PE 或塊,以便數據以該格式儲存在硬碟上。
此外,是否可以更改預設 PE 或塊大小?如果是這樣,我們通常如何以及何時獲得更改尺寸的要求?
我對 LVM PE 的理解如下: LVM 中的 PE 大小為 4MB。通常一個扇區在硬碟上是 512 字節。並且在使用 LVM 格式化分區時,預設情況下保存在該分區中的每個文件佔用 4MB 最小空間和連續扇區,儘管如果在該 4MB 中剩餘任何可用空間,它將不允許另一個文件適合相同的空間。新文件必須再次用於新的 PE。類似於 RAID 塊的情況。
如果我理解錯誤,請糾正我。
LVM 中的物理範圍與儲存在邏輯卷中的文件大小無關。邏輯卷中的文件至少不需要4MB(或任何 LV 的塊大小)。就文件系統而言,邏輯卷與任何其他塊設備(例如普通磁碟分區)沒有什麼不同。
LVM 塊定義了邏輯卷的塊設備是如何從底層塊設備的一部分(也稱為“物理卷”,通常是磁碟分區)建構的。如果你要讀取邏輯卷的全部內容——原始塊設備——你會得到塊 0 中的所有字節,然後是塊 1 中的所有字節,然後是塊 2 中的所有字節,依此類推. 這些塊在底層磁碟分區上可能不連續,但是當您從邏輯卷讀取時它們看起來是連續的。(這幾乎就是 LVM 的全部意義所在。)
因此,4MB 的塊大小基本上只是意味著當您為邏輯卷分配空間時,它必須以 4MB 的倍數進行。但這只會影響邏輯卷本身的大小;當您在其中創建文件系統時,文件系統會進行自己的簿記以將空間劃分為文件,並且它不知道或不關心邏輯卷實際上如何是底層物理卷的塊序列。