近些年新出的硬盘由于既要增加每个扇区的存储空间,又要保证和现有操作系统的兼容,所以出现了物理扇区和逻辑扇区的概念。而這(zhè)样的硬盘可能(néng)會(huì)产生分区對(duì)齐问题。沒(méi)有做分区對(duì)齐的硬盘性能(néng)會(huì)受到一定的影响。
下面(miàn)写文章来說(shuō)明不做分区對(duì)齐對(duì)分区性能(néng)的影响和如何做分区對(duì)齐。
几个概念:
physical sector:磁盘的一个物理扇区,目前大硬盘一般为4096bytes(4KB),其他的有512bytes(0.5KB)的logical sector:现在physical sector是4096的硬盘往往會(huì)把一个physical sector分成(chéng)8个logical sector,每个512bytes(0.5KB),系统实际操作logical sector:划分logical sector的原因是有些系统调用還(hái)不支持sector为4096bytes(4KB)的磁盘。
LBA:逻辑块寻址方法,实际中表现为系统中用来定位磁盘的logical sector的一个逻辑地址。
block size:系统内對(duì)分区格式化後(hòu)划分的最小磁盘单元。
以一个2T的硬盘为例
查看磁盘physical sector size、logical sector size和容量
- # hdparm -I /dev/sdj|egrep -i "physical|logical|device size with M"
- Logical Sector size: 512 bytes
- Physical Sector size: 4096 bytes
- device size with M = 1024*1024: 1907729 MBytes
- device size with M = 1000*1000: 2000398 MBytes (2000 GB)
說(shuō)明每个physical sector 裡(lǐ)有8个logical sector。
查看文件系统的block size:
- # tune2fs -l /dev/sdj1|grep "Block size:"
- Block size: 4096
我们在给這(zhè)个磁盘做分区的時(shí)候,如果选择0-100%,则會(huì)提示”warning:partition is not properly aligned for best performance“,說(shuō)明這(zhè)種(zhǒng)分区方法使分区的性能(néng)损失,为什麼(me)呢?
如下图所示,一圈代表一个物理扇区,用黑线分割成(chéng)了8个逻辑扇区。沒(méi)有做分区對(duì)齐的分区就(jiù)类似于把分区起(qǐ)始LBA放置在了红线位置。這(zhè)样會(huì)导致什麼(me)後(hòu)果?有100%的block跨越物理扇区,处理任何该分区下的文档都(dōu)會(huì)包含至少一个跨越物理扇区的block,磁盘跨扇区访问每个block,這(zhè)样势必會(huì)影响文件系统的I/O性能(néng)。0-100%的分区行为就(jiù)是因为分区的起(qǐ)始位置沒(méi)有在单个扇区的起(qǐ)始位置才會(huì)产生waring。
我们需要把分区的起(qǐ)始位置放置在扇区的0,才能(néng)保证每个block占用一个独立的扇区,访问单独的block就(jiù)不需要跨越扇区了。可不要小看這(zhè)访问block跨扇区的动作,在有大量磁盘I/O操作時(shí),對(duì)磁盘性能(néng)的影响還(hái)是很显著的。
對(duì)于以上磁盘的情况,我们可以如下分区:
- #parted /dev/sdj
- unit s
- mkpart
- ext4
- 40s
- 100%
注意這(zhè)裡(lǐ)40s的意思是起(qǐ)始LBA位置为40 logical sector,恰好(hǎo)是一个physical的開(kāi)始(40/8=5)。
對(duì)于physical sector size = logical sector size的磁盘,一般不用考虑分区對(duì)齐问题。
版权所有:兴化市妙妙网络技术有限公司 Copyright 2012 lfwl.com.cn All right reserved
地址:兴化市九洲城中城2号6-064商铺(老長(cháng)途汽车站對(duì)面(miàn),金融大厦西50米) 电话:18001423889