可以正確對齊 GPT 分割區的 Linux 工具

可以正確對齊 GPT 分割區的 Linux 工具

正確的分區對齊可確保資料存取期間的理想效能。不正確的分割區對齊會導致效能下降,特別是對於 SSD(例如內部頁大小為 4,096 或 8,192 位元組)、具有 4 KB(4,096 位元組)磁區的硬碟和 RAID 磁碟區而言。

--http://www.thomas-krenn.com/en/wiki/Partition_Alignment

您可能仍然想知道正確的分區對齊有多重要。然後檢查一下這個 http://www.ibm.com/developerworks/library/l-4kb-sector-disks/#benchmarks

最好的 Linux 磁碟分割區和對齊檢查實用程式是sfdisk。我使用它已經有 10 多年了,直到現在,它還無法處理 GPT 分割區。

我知道事實上的 Linux 磁碟分割工具是gparted,它可以處理 GPT 磁碟。但恕我直言,它沒有正確處理它,因為預設的對齊選項是MiB,恕我直言,這是錯誤的。好吧,嚴格來說並沒有錯,但至少不是最佳的,即沒有正確完成。

根據我的發現(來自 MS,http://support.microsoft.com/kb/300415/en-us),

所有膜生物反應器磁碟,大小或偏移參數是四捨五入至汽缸對齊。在GPT磁碟,大小或偏移參數是四捨五入至扇區對齊

如果是 true,則gpartedGPT 的預設對齊選項是錯誤的。但問題是,唯一的其他明智選擇是與柱面對齊,這有點過分了,並且沒有與扇區對齊的選項。這就是我的問題,因為我需要去別處尋找。

我找到了一個

如何使用parted對齊分區以獲得最佳效能
http://rainbow.chard.org/2013/01/30/how-to-align-partitions-for-best-performance-using-parted/

它有一個良好的開始,但最終將 GPT 磁碟作為一個整體進行分割 (100%),這無法解釋如何對齊分割區以獲得其他/普通分割區的最佳效能。

那麼,哪些 Linux 工具可以正確對齊 GPT 分割區呢?

答案1

最好的 Linux 磁碟分割區和對齊檢查實用程式是sfdisk。我使用它已經有 10 多年了,直到現在,它還無法處理 GPT 分割區。

你沒有說你是如何做到這一點的,所以我有點困惑,因為據我所知sfdisk沒有任何對齊選項可言。 (不過,您可以以 KiB、MiB 等為單位指定某些值。)請注意,要設定的選項柱面/磁頭/扇區 (CHS)如今,幾何值 100% 無用。 CHS 在 20 世紀 70 年代和 1980 年代很有用,但到了 90 年代中期,它只不過是一個方便的虛構。到了 20 世紀 90 年代末,它已經成為一種令人不快的虛構,而今天,它要么毫無用處,要么無關緊要,這取決於你在 CHS 上做什麼。這既是因為高級格式、RAID 和 SSD 配置的新對齊需求,也是因為 CHS 的最大容量約為 8GiB,這意味著它在大多數現代磁碟上都會被忽略。

我知道事實上的 Linux 磁碟分割工具是gparted,它可以處理 GPT 磁碟。但恕我直言,它沒有正確處理它,因為預設的對齊選項是MiB,恕我直言,這是錯誤的。好吧,嚴格來說並沒有錯,但至少不是最佳的,即沒有正確完成。

最小最佳對齊值因磁碟而異,但在大多數磁碟上,最佳對齊是 2 的冪倍數,例如 4KiB、256KiB 或 512KiB。因此,就效能而言,使用 1MiB 對齊對於大多數磁碟來說是最佳選擇,儘管少數磁碟(主要是 SSD)的值高於此值。

請注意,在需求較小的內容上設定 1MiB 對齊值最多會導致磁碟開頭的空間浪費略低於 1MiB(分割區之間可能會浪費更多空間,但這並不確定)。現代磁碟上 1MiB 的浪費空間微不足道。例如,在 1TB 磁碟上,如果我的算術正確的話,1MiB 相當於總磁碟空間的 0.0001%。我不會擔心浪費這麼少量的磁碟空間。

根據我的發現(來自 MS,http://support.microsoft.com/kb/300415/en-us),

所有膜生物反應器磁碟,大小或偏移參數是四捨五入至汽缸對齊。在GPT磁碟,大小或偏移參數是四捨五入到扇區對齊。

我對 Microsoft 工具不太熟悉,但我知道自 Windows Vista 以來,Windows GUI 工具預設在所有磁碟上使用 1MiB 對齊。如果該頁面上描述的文字模式DISKPART仍在進行圓柱對齊,那麼在我看來,它已嚴重損壞。沒有什麼今天應該使用 CHS 或氣缸對齊,除了可能打算使用它來支援的工具非常舊作業系統。 (我最後檢查了一下,Linuxcfdisk仍然使用柱面對齊。因此,我說它壞了。)

我懷疑對“扇區對齊”的引用意味著默認指定扇區中的值。當然,使用未對齊的分割區(這就是「磁區對齊」的真正含義)可能會導致大多數現代磁碟的效能下降。

如何使用parted對齊分區以獲得最佳效能 http://rainbow.chard.org/2013/01/30/how-to-align-partitions-for-best-performance-using-parted/

它有一個良好的開始,但最終將 GPT 磁碟作為一個整體進行分割 (100%),這無法解釋如何對齊分割區以獲得其他/普通分割區的最佳效能。

不,該網站描述了對齊單分區在磁碟上。您只需將相同的原則應用於所有後續分割區即可。換句話說,如果您發現磁碟的最佳值是 2048 磁區對齊,則需要確保每個分割區都從該值的倍數開始,例如 2,097,152 或 15,403,008。

為了回答這個帖子標題中隱含的問題,我自己GPT fdisk(gdisk、、sgdiskcgdisk)、大多數 Linux 發行版中都提供了gdiskgptfdisk軟體包,支援設定您喜歡的任何對齊值。預設值為 1MiB(大多數磁碟上為 2048 個磁區),但您可以使用l專家選單上的選項來調整它(在gdisk;詳細資訊因該系列中的其他工具而異)。不幸的是,我發現應該傳回對齊資料的 Linux 系統呼叫並不可靠(儘管它們最近比幾年前變得更加可靠)。因此,您可能需要查找型號規格或檢查您的 RAID 設定以了解最適合您的磁碟的設定。

相關內容