Linux磁盘管理(一)
磁盘管理主要包括以下内容:
-
磁盘结构
-
分区介绍
-
管理分区
-
管理文件系统
-
挂载设备
-
管理虚拟内存
此篇主要介绍磁盘结构和分区介绍,剩余内容将在后续篇中介绍
磁盘结构
1.设备文件
设备类型:
- 块设备:block,存取单位“块”,如磁盘
- 字符设备:char,存取单位“字符”,如键盘
设备文件:
关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信
设备号码:
- 主设备号:major number, 标识设备类型
- 次设备号:minor number, 标识同一类型下的不同设备
磁盘设备的设备文件命名:/dev/DEV_FILE
- SCSI, SATA, SAS,IDE,USB: /dev/sd(在centos5上IDE接口的硬盘被命名为/dev/hd)
- 虚拟磁盘:/dev/vd
- 不同磁盘标识:a-z,aa,ab… 例如 /dev/sda, /dev/sdb, ...
- 同一设备上的不同分区:1,2, ... 例如 /dev/sda1, /dev/sda5...
2.硬盘接口类型
并行:
- IDE:133MB/s
- SCSI:640MB/s
串口:
- SATA:6Gbps
- SAS:6Gbps
- USB:480MB/s
rpm:
rotations per minute,机械硬盘每分钟转速,常见的转速有5400,7200,10000,15000
3.机械硬盘和固态硬盘
机械硬盘(HDD):
Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤
固态硬盘(SSD):
Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致
两者对比:
- 相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD的2倍
- 相较于SSD,HDD在价格、容量、使用寿命上占有绝对优势
- 硬盘有价,数据无价,目前SSD不能完全取代HHD
本篇以介绍机械硬盘为主
4.机械硬盘结构
硬盘存储术语
- 磁头(head):对磁盘的数据进行读写
- 磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。 磁盘上的磁道是一组记录密度不同的同心圆
- 扇区(sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区。硬盘的第一个扇区,叫做引导扇区。 一个扇区的大小为512个字节
- 柱面(cylinder):在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面
5. 寻址方式:CHS和LBA
CHS
- 采用24bit位寻址
- 其中前10位表示cylinder,中间8位表示head,后面6位表示sector
- 最大寻址空间8GB
LBA(logical block addressing)
- LBA是一个整数,通过转换成CHS格式完成磁盘具体寻址
- LBA采用48个bit位寻址
- 最大寻址空间128PB
由于CHS寻址方式的寻址空间在大概8GB以内,所以在磁盘容量小于大概8GB时,可以使用CHS寻址方式或是LBA寻址方式;在磁盘容量大于大概8GB时,则只能使用LBA寻址方式
分区介绍
1.为什么分区
- 优化I/O性能
- 实现磁盘空间配额限制
- 提高修复速度
- 隔离系统和程序
- 安装多个OS
- 采用不同文件系统
2.两种分区方式:MBR和GPT
(1)MBR: Master Boot Record,主引导记录,使用32位表示扇区数,分区不超过2T
- 如何分区:按柱面
- 0磁道0扇区:512bytes
446bytes: boot loader
64bytes:分区表
16bytes: 标识一个分区
2bytes: 55AA
- 4个主分区;3主分区+1扩展(N个逻辑分区)
硬盘主引导记录MBR由4个部分组成
- 主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序
- 出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节
- 分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4
- 结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA
MBR中DPT(分区表)结构
(2)GPT : GUID(Globals Unique Identifiers)partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z (4096Byte/block)
- 使用128位UUID(Universally Unique Identifier) 表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位
- UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动
EFI部分又可以分为4个区域:EFI信息区(GPT头)、分区表、GPT分区、备份区域