共計 1874 個字符,預計需要花費 5 分鐘才能閱讀完成。
這篇文章主要介紹如何使用 Linux 命令 fdisk 和 parted 創建磁盤分區對齊,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
存儲系統的磁道區域與 Linux 分區對齊問題:
出于 *** 化性能需求,任何到后端存儲陣列的 I / O 需要通過配置適當的結構化,從而避免任何 I / O 操作跨界現象的發生。如果 I / O 操作跨越多個界限,會帶來額外的資源開銷從而造成性能下降。所以,為了避免因為分區不對齊所造成的性能影響。需要使用工 fdisk 或者 parted 工具創建和對齊分區。
如何選擇一個正確的磁盤分區 offset 值,基本上 EMC 和其他廠商建議的值都是“64KB”。為什么要選擇 64KB 這個值呢,這里解釋一下。首先講一下一個叫做物理磁道區域的概念。因為對于不同類型的保護級別,也可以說叫 Raid 和磁盤類型,這個區域的范圍有所不同的。我們舉兩個個例子:
Symmetrix 緩存中的磁道區域單位大小為一個 Track,即 64 個 Block、32KB 大小。如圖 2 所示,如果磁盤分區沒有被對齊,則任何 32KB 或者更大的 I / O 就需要跨越兩個 Track 來進行,50% 的 16KB 的 I / O 會可能會跨越兩個 Track,25% 的 8KB 也會跨越兩個 Track,造成額外的存儲系統性能開銷。
圖 1
看了 *** 個例子,讀者可能會想,那把起始位右移一個 Block 就好了啊,(MBR+Reserved=63Block),就不會有跨 Track 的 I / O 發生了。接下來我們再看另外一個例子。一個 3 +1 Raid5 的單個條帶大小為四個 Track,即 256 個 Block、128KB 大小。如果對于這類的磁盤,使用第 64 個 block 為起始位置,當 linux I/ O 大小達到 64KB 的時候,如果 I / O 直接從緩存(單個 track 為 32KB),則正好完成兩次讀取。但是如果,兩個連續的 64KB I/O,且需要牽涉到后端 Raid5 的物理磁盤讀寫,如下圖所示,第二個 64KB 就會出現跨越兩個條帶的情況發生,從而倒是讀或者寫的開銷加倍。
圖 2
在這種情況下,需要將起始位置調節成建議配置(64KB),這樣一來,Linux***I/ O 大小的情況也不會發生跨多個條帶的情況發生了。(圖 3)
圖 3
所以說,無論是從存儲系統的緩存從讀取數據,還是 I / O 在緩存中不存在的情況,需要從底層物理磁盤上讀取數據。對于不同類型的磁盤,64KB 的起始為是一個建議配置。
Linux 創建分區對齊方法:
描述了磁盤分區對齊的原理后,下面介紹如何使用 fdisk 創建對齊分區的例子。在 Linux 中,對齊分區操作需要要空數據的情況下進行,因為對齊分區操作會清空分區表并且該 LUN 上的數據會被刪除。在這個例子中,我們對 /dev/emcpowerfw 設備,創建一個大小為 51281 Cylinder(Cylinder 是 Symmetrix 的計量單位,每個 Cylinder 大小為 960KB,所以這個磁盤大小為 50GB 左右)、Offset 錯位大小為 128 個 block 的磁盤設備。方法和命令輸出(圖 4)如下:
方法 1,使用 fdisk 創建分區對齊
Linux 命令提示符下輸入:
# fdisk /dev/emcpowerfw
輸入 n,創建一個分區;
輸入 p,創建分區為主分區;
輸入起始 Cylinder 位置,默認為 *** 個;
輸入 ***Cylinder 位置,默認為該磁盤設備的 *** 一個 Cylinder;
輸入 x 進入 expect mode;
輸入 b,一定分區初始位置;
設定最初位置為 128 個 block(128 block 大小為 64KB);
再次輸入 p 確認分區初始位置信息;
輸入 w 保存退出。
圖 4
方法 2:使用 parted 創建對齊分區。Parted 和 fdisk 相比,支持更多的類型(支持 GPT)和更大的分區尺寸。下面一個例子給出一個給 dev/sdb 磁盤創建 128bloc 分區起始位的例子,方法和命令輸出如下
Linux 命令提示符下輸入:
# parted /dev/sdb
將顯示單位調整為 Sector(大小 512 個字節):
(parted) unit s
列出當前邏輯卷:
(parted) print
將原來 Number1 移除并且創建一個起始位為 128 sector,小為 976735934 sector 的主分區。
(parted) rm 1 (parted) mkpart primary 128 976735934 (parted) print
以上是“如何使用 Linux 命令 fdisk 和 parted 創建磁盤分區對齊”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!