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: 同一类型下的不同设备
分区:分隔符存储空间为多个小的空间,每个空间可独立使用文件系统。
分区工具:fdisk、sfdisk、cfdisk
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可列出当前系统上的硬盘已有分区
//键入fdisk 设备名,即可对硬盘操作,键入m显示菜单帮助信息
//键入n 创建分区,之后会提示需要创建主分区还是扩展分区,键入e,创建扩展分区。
接下来提示起始输入扇区。这里直接把硬盘上所有剩余空间都分配给扩展分区。
接下里键入p,可列出所有分区信息,最后键入w,保存并退出
//创建完扩展分区后,在扩展分区上新建逻辑分区,大小为15G
//创建完成之后,查看内核是否已经识别新的分区:
# cat /proc/partitions,可见虽然分区已经创建,但是内核仍未识别到
//重读分区表,让内核能够识别,partx -a 是读取硬盘上的所有分区,
并把分区表信息传递给Kernel
在CentOS 5上常用命令: partprobe
在CentOS 6上常用: partx, kpartx