Linux

linux支持的最大分區是多少?

  • July 23, 2021

我可以知道 Linux 系統支持的最大分區大小嗎?我們可以在 linux 系統安裝的磁碟中創建多少邏輯和主分區?

多少個分區

我相信其他更快更好的人已經完美地回答了這個問題。:)

總有一個限制

對於以下討論,請始終記住限制是理論上的。實際限制通常小於理論限制,因為

  • 其他理論限制限制了事物。(如今,PC 確實是非常非常複雜的東西)
  • 總是有更多的錯誤。(不排除這個答案)

違反限制時

違反這些限制時會發生什麼也不簡單。例如,在 10GB 磁碟的時代,您可以擁有數 GB 的分區,但有些機器無法引導儲存在第 1,024 個柱面之後的程式碼。這就是為什麼這麼多 Linux 安裝程序仍然堅持在磁碟的開頭有一個單獨的小 /boot 分區的原因。一旦你設法啟動,一切都很好。

分區大小:MS-DOS 分區表 (MBR)

MS-DOS 以 (start,size) 格式儲存分區,每個分區都是 32 位寬。過去用於編碼氣缸蓋扇區座標的每個數字。現在它只包含一個任意扇區號(磁碟管理從該扇區號到特定介質座標的轉換)。‘MS-DOS’ 分區類型的核心原始碼建議分區大小為 32 位寬,以扇區為單位。這給了我們 2^32 * 512,或 2^41 字節,或 2^21 二進制 MB,或 2,097,152 MB,或 2,048 GB,或 2 TB(減去一個扇區)。

GUID 分區表 (GPT)

如果您使用的是 GUID 分區表 (GPT) 磁碟標籤,則您的分區表將儲存為 (start,end) 對。兩者都是 8 字節長(64 位),這比您可能使用的要多得多:2^64 512 字節扇區,或 2^73 字節(8 個二進制 zettabytes),或 2^33 TB .

如果您從 UEFI ROM 而不是傳統的 CP/M 時代 BIOS 啟動,那麼您已經擁有 GPT。如果不是,您總是可以選擇使用 GPT 作為您的磁碟標籤。如果你有一個新的磁碟,你真的應該。

扇區大小

一個扇區已經有 512 字節很長一段時間了。這設置為更改為 4,096 字節。許多磁碟已經有這個,但模擬 512 字節扇區。當變化出現在前台並且分配單元變為 4,096 字節扇區,並且 LBA 定址 4,096 字節扇區時,上述所有大小將改變 3 個二進制數量級:將它們全部乘以 8 以獲得新的、可怕的值。

邏輯捲管理器

如果您使用 LVM,則您創建的任何卷也必須受 LVM 支持,因為它位於您的分區和文件系統之間。根據LVM2 FAQ,LVM2 在 64 位架構的 Linux 2.6 上最多支持 8EB(艾字節);在 32 位架構上執行的 Linux 2.6 上為 16TB(TB);和 Linux 2.4 上的 2TB。

文件系統限制

當然,這些是每個分區(或 LVM 卷)的大小限制,這就是您要問的。但是擁有分區的目的通常是儲存文件系統,而文件系統有其自身的限制。事實上,文件系統有哪些類型的限制取決於文件​​系統本身!唯一的全域限制是文件系統的最大大小和其中每個文件的最大大小。

EXT4 允許每個文件最多 16TB 的分區和每個卷 1EB (exabyte) 的分區。但是,它使用 32 位塊編號,因此您需要增加預設的 4,096 字節塊大小。這在您的核心和架構上可能是不可能的,因此每卷 16TB 在 PC 上可能更現實。

ZFS 允許 16EB 文件和 16EB 卷,但無疑它也有其自己的其他不可預見的限制。

Wikipedia為人類已知的大多數文件系統提供了這些限制的非常好的表格。

在實踐中

如果您在 64 位機器和 GPT 分區上使用 Linux 2.6 或更新版本,看起來您應該只擔心文件系統的選擇及其限制。即使那樣,它真的不應該讓你那麼擔心。無論如何,您可能不應該創建 16TB 的單個文件,而1 艾字節(1,048,576 TB) 在一段時間內將是一個超現實的限制。如果您使用的是 MBR,並且需要超過 2 TB 的二進制數據,則應該切換到 UEFI 和 GPT,因為您在每個分區 2TB 的限制下執行(這在已經部署的電腦上可能不那麼簡單)

請注意,我是個老屁,我在計算 2 的冪的倍數時使用二進制單位。磁碟製造商喜歡通過使用十進制單位來欺騙(並說服我們他們總是這樣做,即使我們知道他們沒有這樣做)。所以最大的“2TB”磁碟仍然小於 2 TB,你不會有麻煩。

除非您使用邏輯捲管理器或 RAID-0。

引用自:https://unix.stackexchange.com/questions/33555