Linux磁盘管理

硬盘基本知识

track:

磁道是有厂商划分好的,一个磁道能存多少数据跟盘片的密度有关系。磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。

sector:

磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512个字节的信息,磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位。

平均寻道时间:

磁盘是固定角速度的设备,所以在外道上扫过的时间比内道上长磁头在任意磁道上的任意扇区,读取的平均时间称为平均寻道时间。

柱面cylinder:

每个盘面都被划分为数目相等的磁道,并从外缘的"0"开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。磁盘的柱面数与一个盘面上的磁道数是相等的。


分区:第0个扇区存放的是磁盘的分区信息


MBR:硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。

它由三个部分组成:主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志。


在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为0xAA55或0x55AA


512bytes:

bootloader: 446bytes引导加载区,用来引导启动操作系统。

fat: 64bytes(文件系统分配标), 16bytes(每个分区16字节), 4(最多有4个主分区)

MBR有效性标记:5A



基本硬盘的分区:

1、最多4个主分区

2、可分3个主分,1个扩展分区,在扩展分区上创建多个逻辑分区


GPT:大于2TB使用的分区技术



磁盘接口类型:

IDE:(ATA): 133MB/s

SCSI: 320MB/s

SATA(Serial):串口,300Mbps, 600Mbps, 6Gbps

SAS: SAS:6Gbps

USB:


:每个磁盘上可以划分多个分区,每个分区在系统看来是一个独立的设备。

被独立控制和访问,所以每个分区都有设备访问入口(设备文件)。


硬盘设备文件: /dev/sd

标记不同的硬盘设备: /dev/sd[a-z]

标记同一设备上的不同分区: /dev/sd[a-z][1-n]

1-4: 主或扩展分区标识

5+: 逻辑分区标识



这些分区信息在一个硬盘设备接入当前系统以后,会被内核所识别,并保存在内核的文件当中。

/proc/partitions


设备文件:特殊文件

设备号:

major, minor

major: 设备类型

minor: 同一类型下的不同设备



分区:分隔符存储空间为多个小的空间,每个空间可独立使用文件系统。



分区工具:fdisksfdiskcfdisk

 

fdisk命令

功能

对硬盘进行创建分区、删除分区,修改分区ID,查看硬盘的使用情况等

 

格式:

fdisk [options] <disk>    change partition table

fdisk [options] -l <disk> list partition table(s)

 

d: 删除分区

n: 新建分区

p: 列出已存在分区

t: 修改分区标记(ID)

l: 列出内核支持的分区ID

w: 保存退出

q: 不保存退出



实例:

//创建一个扩展分区,并在扩展分区上创建一个15G的逻辑分区

使用fdisk -l可列出当前系统上的硬盘已有分区

Linux磁盘分区管理(转载)_sfdisk 



//键入fdisk 设备名,即可对硬盘操作,键入m显示菜单帮助信息

Linux磁盘分区管理(转载)_cfdisk_02



//键入n 创建分区,之后会提示需要创建主分区还是扩展分区,键入e,创建扩展分区。

接下来提示起始输入扇区。这里直接把硬盘上所有剩余空间都分配给扩展分区。

接下里键入p,可列出所有分区信息,最后键入w,保存并退出

 Linux磁盘分区管理(转载)_fdisk_03

 


//创建完扩展分区后,在扩展分区上新建逻辑分区,大小为15G

Linux磁盘分区管理(转载)_fdisk_04



//创建完成之后,查看内核是否已经识别新的分区:

# cat /proc/partitions,可见虽然分区已经创建,但是内核仍未识别到

Linux磁盘分区管理(转载)_cfdisk_05



//重读分区表,让内核能够识别,partx -a 是读取硬盘上的所有分区,

并把分区表信息传递给Kernel

在CentOS 5上常用命令: partprobe

在CentOS 6上常用: partx, kpartx

Linux磁盘分区管理(转载)_fdisk_06