自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux磁盤分區(qū)對齊詳解與配置

系統(tǒng) Linux
許多系統(tǒng)管理員可能不曾聽過”磁盤分區(qū)對齊“之說,甚至一些有經驗的存儲管理員對分區(qū)對齊也不甚了解。磁盤分區(qū)不對齊現象是什么,為什么會造成比較嚴重的性能下降?相反,配置正確的分區(qū)起始位置(Offset)設置會使存儲系統(tǒng)發(fā)揮更大的性能潛力。文章就磁盤分區(qū)對齊進行的介紹,并且給出了在Windows平臺上如何配置的方法。

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

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

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

A-1.jpg

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

     出于***化性能需求,任何到后端存儲陣列的I/O需要通過配置適當的結構化,從而避免任何I/O操作跨界現象的發(fā)生。如果I/O操作跨越多個界限,會帶來額外的資源開銷從而造成性能下降。所以,為了避免因為分區(qū)不對齊所造成的性能影響。需要使用工fdisk或者parted工具創(chuàng)建和對齊分區(qū)。

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

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

l1.jpg 

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

l2.jpg

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

l3.jpg

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

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

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

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

Linux命令提示符下輸入:

# fdisk /dev/emcpowerfw

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

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

輸入起始Cylinder位置,默認為***個:

輸入***Cylinder位置,默認為該磁盤設備的***一個Cylinder:

輸入x進入expect mode:

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

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

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

輸入w保存退出:

l4-2.JPG

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

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

Linux命令提示符下輸入:

# parted /dev/sdb

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

(parted) unit s

列出當前邏輯卷:

(parted) print

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

(parted) rm 1

(parted) mkpart primary 128 976735934

(parted) print

l5-2.JPG

參考

Parted命令手冊及參數:http://www.gnu.org/software/parted/manual/parted.html#unit

Fdisk命令手冊及參數:http://manpages.courier-mta.org/htmlman8/fdisk.8.html 

磁盤分區(qū)對齊詳解與配置 - Windows篇 : https://community.emc.com/docs/DOC-18571 

磁盤分區(qū)對齊詳解與配置 – Linux篇 : https://community.emc.com/docs/DOC-18666 

本文地址:http://linux.cn/article-3167-1.html

責任編輯:彭凡 來源: EMC中文支持論壇
相關推薦

2014-06-06 13:51:36

磁盤分區(qū)IO分析

2014-05-30 09:44:18

磁盤分區(qū)Windows平臺

2013-08-23 14:07:45

磁盤分區(qū)

2011-01-18 09:51:59

Linux磁盤分區(qū)

2011-01-18 10:25:19

Linux磁盤分區(qū)

2009-10-19 18:01:35

Linux磁盤分區(qū)

2011-01-18 10:00:59

Linux磁盤分區(qū)

2017-03-09 14:58:19

GPartedLinux磁盤分區(qū)

2023-01-31 14:00:01

TIAPUUID

2010-02-25 13:34:24

Linux磁盤分區(qū)

2019-02-11 14:50:21

Linux分區(qū)命令

2010-03-02 15:09:26

Linux mount

2018-06-25 11:58:23

Linuxparted磁盤分區(qū)

2022-04-12 17:39:14

Linux磁盤分區(qū)

2010-06-24 15:53:10

Linux指令

2017-09-13 09:23:04

磁盤分區(qū)bash

2020-01-11 19:00:01

GParted磁盤分區(qū)工具開源

2009-11-24 09:28:11

linux分區(qū)大磁盤分區(qū)

2017-05-10 07:00:20

磁盤分區(qū)dcfldd工具備份分區(qū)

2009-12-15 08:50:58

Windows 7系統(tǒng)分區(qū)
點贊
收藏

51CTO技術棧公眾號