1、磁盘的接口类型与命名方式
磁盘接口分为SATA、SCSI、SAS、PCI-E、光纤FC通道。常见的设备在Linux中的命名如下:
设备 | 设备在Linux内的文件名 |
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
U盘 | /dev/sd[a-p] |
软驱 | /dev/fd[0-1] |
打印机 | 25针:/dev/lp[0-2] USB:/dev/usb/lp[0-15] |
当前CD ROM/DVD ROM | /dev/cdrom |
1.1 IDE接口
IDE的接口是40个针39个口,防插反。一个IDE扁平线缆可以连接两个IDE设备,通常主机提供两个IDE接口,所以最多连接4个IDE设备。这两个IDE接口又被称为IDE1(primary)和IDE2(secondary)。每条IDE扁平线缆上的IDE设备被分为Master(主设备)和Slave(从设备)。这四个IDE设备的文件名如下表:
IDE/Jumper | Master | Slave |
IDE1(Primary) | /dev/hda | /dev/hdb |
IDE2(Secondary) | /dev/hdc | /dev/hdd |
1.2SATA接口
SATA口的磁盘又叫串口磁盘。
SATA接口磁盘的命名方式不同于IDE的顺序命名,而是依照Linux内核检测到磁盘的顺序。例如:
一个PC有两个SATA盘和一个USB盘,主板上有6个SATA插槽,将这两个SATA盘分别插在主板上的SATA1和SATA5,那么这三块盘在Linux中的文件名依次是:
SATA1插槽上磁盘的文件名:/dev/sda
SATA2插槽上磁盘的文件名:/dev/sdb
USB盘(需要开机完成后才能被识别):/dev/sdc
2、磁盘的组成
磁盘主要由机械臂、机械轴、盘片、磁头、主轴组成。数据的写入实在盘片上,盘片分为扇区(Sector)和柱面(Cylinder)。
每个扇区的大小为512bytes。在磁盘的最外圈,离主轴最远的磁道为0磁道,磁盘存放数据是从0磁道开始的。其中第一个扇区记录了磁盘的重要信息。磁盘的第一个扇区主要记录了:
- 主引导记录(Main Boot Record):安装引导加载程序的地方。共446bytes。在0磁头0磁道1扇区。
- 分区表(partition table):记录整块磁盘的分区状态。共64bytes。
- 分区结束标识(55AA):其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。
标准MBR结构如下:
地址 | 描述 | 长度(字节) |
0 | 代码区 | 440(最大446) |
440 | 选用磁盘标志 | 4 |
444 | 一般为空值; 0x0000 | 2 |
446 | 标准MBR分区表规划(四个16 byte的主分区表入口) | 64 |
511 | MBR有效标志:0x55AA | 2 |
磁盘分区表
文件系统是以柱面为单位存储数据的。分区的最小单位也是柱面。
扇区和柱面:
- 磁头数等于盘面数,一块磁盘由2-14个盘片
- 同一个盘面,以盘片中心为圆心,每个不同半径的圆形轨迹就是一个磁道
- 不同盘面相同磁道组成一个圆柱体就是柱面
- 不同盘面的磁道被划分成多个扇形区域,每个区域就是一个扇区
- 一个柱面包含多个磁道,一个磁道包含多个扇区
- 数据信息记录可表示为三个条件:某磁头、某磁道(柱面)、某扇区
分区表:
默认的分区表只能写入4组分区信息,即:4个主分区(Primary)或3个主分区(Primary)和一个扩展分区(Extend),扩展分区里面可以分出逻辑分区。
分区的重要性:
1、数据的安全性:在整理数据时,可以将待整理分区的数据移动到其他分区,避免数据丢失。
2、系统性能:由于数据存储的最小单位是柱面,所以当需要读取存储在同一柱面的数据时,只会读取这一柱面,提高了读取速度和性能。
扩展分区和逻辑分区:
扩展分区的目的是使用额外的扇区记录分区信息
扩展分区不能被格式化,只有主分区和逻辑分区可以格式化后作为数据访问的分区。逻辑分区的编号从5开始,逻辑分区的数量限制依据操作系统的不同,在Linux中,IDE硬盘最多有59个逻辑分区(编号5-63),SATA盘最多有11个逻辑分区(编号5-15)。
注意:主分区和逻辑分区是不能整合在一起的。除非将扩展分区全部破坏,但是会影响到其他的逻辑分区。