分割槽4K對齊那些事,你想知道的都在這裡

2022-07-18 00:57:14 字數 4157 閱讀 7171

在對磁碟進行分割槽時,有乙個很重要的注意事項,就是要將分割槽對齊,不對齊可能會造成磁碟效能的下降。尤其是固態硬碟ssd,基本上都要求4k對齊。磁碟讀寫速度慢還找不到原因?可能就是4k對齊的鍋。那麼分割槽對齊究竟是怎麼回事?為什麼要對齊?如何才能對齊?如何檢測是否對齊呢?今天,我們就來說說分割槽4k對齊這些事。你想知道的都在這裡了。

物理扇區的概念

分割槽及其格式化

為什麼要分割槽對齊

如何才能對齊

如何檢測是否對齊

如何檢測物理扇區大小

對齊到多少個扇區才正確

為什麼大家都說4k對齊

劃分分割槽時如何具體操作分割槽對齊

如何糾正未對齊的分割槽

分割槽對齊,是指將分割槽起始位置對齊到一定的扇區。我們要先了解對齊和扇區的關係。我們知道,硬碟的基本讀寫單位是「扇區」。對於硬碟的讀寫操作,每次讀寫都是以扇區為單位進行的,最少乙個扇區,通常是512個位元組。由於硬碟資料儲存結構的限制,單獨讀寫1個或幾個位元組是不可能的。通過系統提供的介面讀寫檔案資料時,看起來可以單獨讀寫少量位元組,實際上是經過了作業系統的轉換才實現的。硬碟實際執行時讀寫的仍然是整個扇區。

近年來,隨著對硬碟容量的要求不斷增加,為了提高資料記錄密度,硬碟廠商往往採用增大扇區大小的方法,於是出現了扇區大小為4096位元組的硬碟。我們將這樣的扇區稱之為「物理扇區」。但是這樣的大扇區會有相容性問題,有的系統或軟體無法適應。為了解決這個問題,硬碟內部將物理扇區在邏輯上劃分為多個扇區片段並將其作為普通的扇區(一般為512位元組大小)報告給作業系統及應用軟體。這樣的扇區片段我們稱之為「邏輯扇區」。實際讀寫時由硬碟內的程式(韌體)負責在邏輯扇區與物理扇區之間進行轉換,上層程式「感覺」不到物理扇區的存在。

邏輯扇區是硬碟可以接受讀寫指令的最小操作單元,是作業系統及應用程式可以訪問的扇區,多數情況下其大小為512位元組。我們通常所說的扇區一般就是指的邏輯扇區。物理扇區是硬碟底層硬體意義上的扇區,是實際執行讀寫操作的最小單元。是只能由硬碟直接訪問的扇區,作業系統及應用程式一般無法直接訪問物理扇區。乙個物理扇區可以包含乙個或多個邏輯扇區(比如多數硬碟的物理扇區包含了8個邏輯扇區)。當要讀寫某個邏輯扇區時,硬碟底層在實際操作時都會讀寫邏輯扇區所在的整個物理扇區。

這裡說的「硬碟」及其「扇區」的概念,同樣適用於儲存卡、固態硬碟(ssd)。接下來我們統稱其為「磁碟」。它們在使用上的基本原理是一致的。其中固態硬碟在實現上更加複雜,它有「頁」和「塊」的概念,為了便於理解,我們可以簡單的將其視同為邏輯扇區和物理扇區。另外固態硬碟在寫入資料之前必須先執行擦除操作,不能直接寫入到已存有資料的塊,必須先擦除再寫入。所以固態硬碟(ssd)對分割槽4k對齊的要求更高。如果沒有對齊,額外的動作會增加更多,造成讀寫效能下降。

磁碟在使用之前必須要先分割槽並格式化。簡單的理解,分割槽就是指從磁碟上劃分出來的一大片連續的扇區。格式化則是對分割槽範圍內扇區的使用進行規劃。比如檔案資料的儲存如何安排、檔案屬性儲存在**、目錄結構如何儲存等等。分割槽經過格式化後,就可以儲存檔案了。格式化程式會將分割槽裡面的所有扇區從頭至尾進行分組,劃分為固定大小的「簇」,並按順序進行編號。每個「簇」可固定包含乙個或多個扇區,其扇區個數總是2的n次方。格式化以後,分割槽就會以「簇」為最小單位進行讀寫。檔案的資料、屬性等等資訊都要儲存到「簇」裡面。

為磁碟劃分分割槽時,是以邏輯扇區為單位進行劃分的,分割槽可以從任意編號的邏輯扇區開始。如果分割槽的起始位置沒有對齊到某個物理扇區的邊緣,格式化後,所有的「簇」也將無法對齊到物理扇區的邊緣。如下圖所示,每個物理扇區由4個邏輯扇區組成。分割槽是從3號扇區開始的。格式化後,每個簇占用了4個扇區,這些簇都沒有對齊到物理扇區的邊緣,也就是說,每個簇都跨越了2個物理扇區。

由於磁碟總是以物理扇區為單位進行讀寫,在這樣的分割槽情況下,當要讀取某個簇時,實際上總是需要多讀取乙個物理扇區的資料。比如要讀取0號簇共4個邏輯扇區的資料,磁碟實際執行時,必須要讀取0號和1號兩個物理扇區共8個邏輯扇區的資料。同理,對「簇」的寫入操作也是這樣。顯而易見,這樣會造成讀寫效能的嚴重下降。

下面再看對齊的情況。如下圖所示,分割槽從4號扇區開始,剛好對齊到了物理扇區1的邊緣,格式化後,每個簇同樣占用了4個扇區,而且這些簇都對齊到了物理扇區的邊緣。

在這樣對齊的情況下,當要讀取某個簇,磁碟實際執行時並不需要額外讀取任何扇區,可以充分發揮磁碟的讀寫效能。顯然這正是我們需要的。

由此可見,對於物理扇區大小與邏輯扇區大小不一致的磁碟,分割槽4k對齊才能充分發揮磁碟的讀寫效能。而不對齊就會造成磁碟讀寫效能的下降。

通過前述圖示的兩個例子可以看到,只要將分割槽的起始位置對齊到物理扇區的邊緣,格式化程式就會將每個簇也對齊到物理扇區的邊緣,這樣就實現了分割槽的對齊。其實對齊很簡單。

劃分分割槽時,要想實現4k對齊,必須首先知道磁碟物理扇區的大小。那麼如何查詢呢?

開啟diskgenius軟體,點選要檢測的磁碟,在軟體介面右側的磁碟參數列中,可以找到「扇區大小」和「物理扇區大小」。其中「扇區大小」指的是邏輯扇區的大小。如圖所示,這個磁碟的物理扇區大小為4096位元組,通過計算得知,它包含了8個邏輯扇區。

知道了「扇區大小」和「物理扇區大小」,用「物理扇區大小」除以「扇區大小」就能得到每個物理扇區所包含的邏輯扇區個數。這個數值就是我們要對齊的扇區個數的最小值。只要將分割槽起始位置對齊到這個數值的整數倍就可以了。舉個例子,比如物理扇區大小是4096位元組,邏輯扇區大小是512位元組,那麼4096除以512,等於8。我們只要將分割槽起始位置對齊到8的整數倍扇區就能滿足分割槽對齊的要求。比如對齊到8、16、24、32、... 1024、2048等等。只要這個起始扇區號能夠被8整除就都可以。並不是這個除數數值越大越好。windows系統預設對齊的扇區數是2048。這個數值基本上能滿足幾乎所有磁碟的4k對齊要求了。

習慣而已。因為開始出現物理扇區的概念時,多數磁碟的物理扇區大小都是4096即4k位元組,習慣了就俗稱4k對齊了。實際劃分分割槽時還是要檢測一下物理扇區大小,因為有些磁碟的物理扇區可能包含4個、8個、16個或者更多個邏輯扇區(總是2的n次方)。知道物理扇區大小後,再按照剛才說的計算方法,以物理扇區包含的邏輯扇區個數為基準,對齊到實際的物理扇區大小才是正確的。如果物理扇區大小是8192位元組,那就要按照8192位元組來對齊,嚴格來講,這就不能叫4k對齊了。

以diskgenius軟體為例,建立新分割槽時,在「建立新分割槽」對話方塊中勾選「對齊到下列扇區數的整數倍」,然後選擇需要對齊的扇區數目,點「確定」後建立的分割槽就是對齊的了。如下圖所示:

軟體在「扇區數目」下拉框中列出了很多的選項,從中選擇任意乙個大於物理扇區大小的扇區數都是可以的,都能滿足對齊要求。軟體列出那麼多的扇區數選項只是增加了選擇的自由度,並不是數值越大越好。使用過大的數值可能會造成磁碟空間的浪費。軟體預設的設定已經能夠滿足幾乎所有磁碟的 4k對齊要求。

除了「建立新分割槽」對話方塊,diskgenius軟體還有乙個「快速分割槽」功能,其中也有相同的對齊設定。如下圖所示:

作為一款強大的分割槽管理軟體,diskgenius同樣提供了分割槽4k對齊檢測的功能。你可以用它檢測一下自己硬碟的分割槽是否對齊了。使用方法很簡單,開啟軟體後,首先在軟體左側選中要檢測的磁碟,然後選擇「工具」選單中的「分割槽4kb扇區對齊檢測」,軟體立即顯示檢測結果,如下圖所示:

最右側「對齊」一欄是「y」的分割槽就是對齊的分割槽,否則就是沒有對齊。沒有對齊的分割槽會用紅色字型顯示。

對於分割槽已有資料但是又沒有對齊的情況,diskgenius軟體目前還沒有提供直接的解決方案(相信以後的版本會提供)。大家可以通過diskgenius軟體,採用分步的方法實現4k對齊。具體步驟如下:

1、用「備份分割槽」的功能將未對齊的分割槽備份到映象檔案中。

2、刪除未對齊的分割槽,然後重新建立,建立時選擇4k對齊。

3、用「從映象檔案還原分割槽」的功能通過第一步備份的映象檔案還原分割槽資料。

對於沒有對齊又沒有資料的分割槽就很簡單了,刪除再重建就好。

怎麼樣?通過上面的介紹,你是否對分割槽4k對齊有了乙個比較全面的認識呢?

**:

關於 MySQL 慢日誌,你想知道的都在這

mysql 的慢查詢日誌是 mysql 提供的一種日誌記錄,它用來記錄在 mysql 中響應時間超過閥值的語句,具體指執行時間超過long query time值的 sql,則會被記錄到慢查詢日誌中。long query time的預設值為10,意思是執行10s以上的語句。預設情況下,mysql 資...

各種線 你想知道的都在這裡

uart iic spi都是一種具有協議特徵的收發器 介面 匯流排,它規定資料按照什麼的時序傳輸,rs232,rs485是傳輸時候的電平標準,規定了按照上述協議傳輸的高電平與低電平的電壓都應該是多少 rs232與rs485一般都預設跑的uart協議。以uart協議 時序 通過uart收發器的收發端 ...

你想知道的大資料知識都在這裡

毋庸置疑,現如今是屬於大資料 big data 的,革命性的時代。從社交 到企業,每時每刻都在產生大量的資料。無所作為,從而把這樣的寶藏白白浪費掉是及其愚蠢的。企業已經學會了收集大資料以獲取更高的利潤,並提供更好的服務以及更深入地了解其目標客戶。大資料主要是指企業中日常生成的,大量的有組織以及無組織...