溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux磁盤分區(qū)對(duì)齊問題與配置方式

發(fā)布時(shí)間:2021-07-28 17:37:44 來(lái)源:億速云 閱讀:364 作者:chen 欄目:系統(tǒng)運(yùn)維

這篇文章主要講解了“Linux磁盤分區(qū)對(duì)齊問題與配置方式”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Linux磁盤分區(qū)對(duì)齊問題與配置方式”吧!

什么是磁盤分區(qū)對(duì)齊(Disk Alignment、Partition Alignment)

Windows的磁盤有一種結(jié)構(gòu)叫做Master Boot Record(MBR), 它的默認(rèn)大小為63個(gè)Block(每個(gè)大小為512字節(jié))。它的存在使得磁盤的初始位置和的磁盤上***個(gè)分區(qū)的初始位置有63個(gè)Block的錯(cuò)位。如果磁盤的單個(gè)Track大于63個(gè)Block的話。這就會(huì)導(dǎo)致默認(rèn)的初始的位置是從第64個(gè)開始。使文件系統(tǒng)的中的Track和位于磁盤中的兩個(gè)Track之上。這種不對(duì)齊現(xiàn)象會(huì)導(dǎo)致存儲(chǔ)系統(tǒng)的性能下降,原因是單個(gè)I/O請(qǐng)求會(huì)跨越多個(gè)磁盤上的Track,從而導(dǎo)致存儲(chǔ)系統(tǒng)的額外性能開銷。特別是對(duì)于一些隨機(jī)I/O比較較大的應(yīng)用程序,影響將更大。

Linux磁盤分區(qū)對(duì)齊問題與配置方式

而對(duì)于Windows 2003以后支持的GPT Disk,也會(huì)存在磁盤分區(qū)不對(duì)齊的現(xiàn)象,但是結(jié)構(gòu)有所不同。如圖1所示(圖中單位為Block,512字節(jié)),所有的分區(qū)由1MB大?。?048 Block)構(gòu)成,***個(gè)分區(qū)從LBA 34開始,即17KB大小位置。這也就意味著所有的分區(qū)會(huì)有17KB的不對(duì)齊的情況發(fā)生。同樣會(huì)導(dǎo)致I/O讀寫性能影響。

Linux磁盤分區(qū)對(duì)齊問題與配置方式

存儲(chǔ)系統(tǒng)的磁道區(qū)域與Linux分區(qū)對(duì)齊問題

出于***化性能需求,任何到后端存儲(chǔ)陣列的I/O需要通過配置適當(dāng)?shù)慕Y(jié)構(gòu)化,從而避免任何I/O操作跨界現(xiàn)象的發(fā)生。如果I/O操作跨越多個(gè)界限,會(huì)帶來(lái)額外的資源開銷從而造成性能下降。所以,為了避免因?yàn)榉謪^(qū)不對(duì)齊所造成的性能影響。需要使用工fdisk或者parted工具創(chuàng)建和對(duì)齊分區(qū)。

如何選擇一個(gè)正確的磁盤分區(qū)offset值,基本上EMC和其他廠商建議的值都是“64KB”。為什么要選擇64KB這個(gè)值呢,這里解釋一下。首先講一下一個(gè)叫做物理磁道區(qū)域的概念。因?yàn)閷?duì)于不同類型的保護(hù)級(jí)別,也可以說叫Raid和磁盤類型,這個(gè)區(qū)域的范圍有所不同的。我們舉兩個(gè)個(gè)例子:

Symmetrix緩存中的磁道區(qū)域單位大小為一個(gè)Track,即64個(gè)Block、32KB大小。如圖2所示,如果磁盤分區(qū)沒有被對(duì)齊,則任何32KB或者更大的I/O就需要跨越兩個(gè)Track來(lái)進(jìn)行,50%的16KB的I/O會(huì)可能會(huì)跨越兩個(gè)Track,25%的8KB也會(huì)跨越兩個(gè)Track,造成額外的存儲(chǔ)系統(tǒng)性能開銷。

Linux磁盤分區(qū)對(duì)齊問題與配置方式

看了***個(gè)例子,讀者可能會(huì)想,那把起始位右移一個(gè)Block就好了啊,(MBR+Reserved=63Block),就不會(huì)有跨Track的I/O發(fā)生了。接下來(lái)我們?cè)倏戳硗庖粋€(gè)例子。一個(gè)3+1 Raid5的單個(gè)條帶大小為四個(gè)Track,即256個(gè)Block、128KB大小。如果對(duì)于這類的磁盤,使用第64個(gè)block為起始位置,當(dāng)linux I/O大小達(dá)到64KB的時(shí)候,如果I/O直接從緩存(單個(gè)track為32KB),則正好完成兩次讀取。但是如果,兩個(gè)連續(xù)的64KB I/O,且需要牽涉到后端Raid5的物理磁盤讀寫,如下圖所示,第二個(gè)64KB就會(huì)出現(xiàn)跨越兩個(gè)條帶的情況發(fā)生,從而倒是讀或者寫的開銷加倍。

Linux磁盤分區(qū)對(duì)齊問題與配置方式

   在這種情況下,需要將起始位置調(diào)節(jié)成建議配置(64KB),這樣一來(lái),Linux***I/O大小的情況也不會(huì)發(fā)生跨多個(gè)條帶的情況發(fā)生了。(圖3)

Linux磁盤分區(qū)對(duì)齊問題與配置方式

所以說,無(wú)論是從存儲(chǔ)系統(tǒng)的緩存從讀取數(shù)據(jù),還是I/O在緩存中不存在的情況,需要從底層物理磁盤上讀取數(shù)據(jù)。對(duì)于不同類型的磁盤,64KB的起始為是一個(gè)建議配置。

Linux創(chuàng)建分區(qū)對(duì)齊方法

描述了磁盤分區(qū)對(duì)齊的原理后,下面介紹如何使用fdisk創(chuàng)建對(duì)齊分區(qū)的例子。在Linux中,對(duì)齊分區(qū)操作需要要空數(shù)據(jù)的情況下進(jìn)行,因?yàn)閷?duì)齊分區(qū)操作會(huì)清空分區(qū)表并且該LUN上的數(shù)據(jù)會(huì)被刪除。在這個(gè)例子中,我們對(duì)/dev/emcpowerfw設(shè)備,創(chuàng)建一個(gè)大小為51281 Cylinder(Cylinder是Symmetrix的計(jì)量單位,每個(gè)Cylinder大小為960KB,所以這個(gè)磁盤大小為50GB左右)、Offset錯(cuò)位大小為128個(gè)block的磁盤設(shè)備。方法和命令輸出(圖4)如下

方法1,使用fdisk創(chuàng)建分區(qū)對(duì)齊

Linux命令提示符下輸入:

# fdisk /dev/emcpowerfw

輸入n,創(chuàng)建一個(gè)分區(qū):

輸入p,創(chuàng)建分區(qū)為主分區(qū):

輸入起始Cylinder位置,默認(rèn)為***個(gè):

輸入***Cylinder位置,默認(rèn)為該磁盤設(shè)備的***一個(gè)Cylinder:

輸入x進(jìn)入expect mode:

輸入b,一定分區(qū)初始位置:

設(shè)定最初位置為128個(gè)block(128 block大小為64KB):

再次輸入p確認(rèn)分區(qū)初始位置信息:

輸入w保存退出:

Linux磁盤分區(qū)對(duì)齊問題與配置方式

方法2:使用parted創(chuàng)建對(duì)齊分區(qū)

Parted和fdisk相比,支持更多的類型(支持GPT)和更大的分區(qū)尺寸。下面一個(gè)例子給出一個(gè)給dev/sdb磁盤創(chuàng)建128bloc分區(qū)起始位的例子,方法和命令輸出如下(圖5)

Linux命令提示符下輸入:

# parted /dev/sdb

將顯示單位調(diào)整為Sector(大小512個(gè)字節(jié)):

(parted) unit s

列出當(dāng)前邏輯卷:

(parted) print

將原來(lái)Number1移除并且創(chuàng)建一個(gè)起始位為128 sector,小為976735934 sector的主分區(qū)。

(parted) rm 1

(parted) mkpart primary 128 976735934

(parted) print

Linux磁盤分區(qū)對(duì)齊問題與配置方式

感謝各位的閱讀,以上就是“Linux磁盤分區(qū)對(duì)齊問題與配置方式”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Linux磁盤分區(qū)對(duì)齊問題與配置方式這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI