磁盘的接口类型
硬盘正面图
硬盘背面图
硬盘内部图磁盘常用的接口类型IDE ,SCSI,光纤通道 ,SATA(家庭常用,转速慢,便宜,容量大),SAS(服务器常用,容量比SATA小,一般一万多转,在2T以下)
大硬盘3.5寸小硬盘2.5寸
磁盘接口:IDE和SATA接口图光纤通道和SCSI接口
磁盘的结构
硬盘的术语:盘面 ,磁道 ,扇区 ,柱面 ,CHS盘面
硬盘一般会有一个或多个盘片,每个盘片可以有两个面(Side) ,即第1个盘片的正面称为0面,反面称为1面;第2个盘片的正面称为2面,反面称为3面…依次类推。每个盘面对应一个磁头(head)用于读写数据。第一个盘片的正面的磁头称为0磁头,背面称为1磁头;第二个盘片正面的磁头称为2磁头,背面称为3磁头,以此类推。盘面数和磁头数是相等的。
一张单面的盘片需要一个磁头,双面的盘片则需要两个磁头。硬盘采用高精度、轻型磁头驱动和定位系统。这种系统能使磁头在盘面上快速移动,读写硬盘时,磁头依靠磁盘的高速旋转引起的空气动力效应悬浮在盘面上,与盘面的距离不到1微米(约为头发直径的百分之一),可以在极短的时间内精确定位到计算机指令指定的磁道上。早期由于定位系统限制,磁头传动臂只能在盘片的内外磁道之间移动。因此,不管开机还是关机,磁头总在盘片上。所不同的是,关机时磁头停留在盘片启停区,开机时磁头“飞行”在磁盘片上方。
磁道
每个盘片的每个盘面被划分成多个狭窄的同心圆环,数据就是存储在这样的同心圆环上,我们将这样的圆环称为磁道(Track),每个盘面可以划分多个磁道。关机时磁头停留在硬盘的着陆区(Landing Zone),这个着陆区以前是位于离盘心最近的区域,不存放任何数据。在后期的硬盘工艺中有些硬盘生产厂商将这个区域被移动到了盘片的外面 。在每个盘面的最外圈,离盘心最远的地方是“0”磁道,向盘心方向依次增长为1磁道,2磁道,等等。硬盘数据的存放就是从最外圈开始。 扇区
根据硬盘规格的不同,磁道数可以从几百到成千上万不等。每个磁道上可以存储数KB的数据,但计算机并不需要一次读写这么多数据。在这一这基础上,又把每个磁道划分成若干弧段,每段称为一个扇区(Sector)。扇区是硬盘上存储的物理单位,从DOS时代起,每扇区是512字节,现在已经成了业界不成文的规定,也没有哪个硬盘厂商试图去改变这种约定。也就是说即使计算机只需要硬盘上存储的某个字节,也须一次把这个字节所在的扇区中的全部512字节读入内存,再选择所需的那个字节。扇区的编号是从1开始,而不是0,这一点需要注意。
另外硬盘磁道中,扇区号是按照某个间隔跳跃着编排。比如,2号扇区并不是1号扇区后的按顺序的第一个而是第二个,3号扇区又是2号扇区后的按顺序的第二个,依此类推,这个“二”称为交叉因子。这个交叉因子的来历有必要详述一下,我们知道,数据读取经常需要按顺序读取一系列相邻的扇区(逻辑数据相邻)。如对磁道扇区按物理顺序进行编号,很有可能出现当磁头读取完第一个扇区后,由于盘片转速过快来不及读取下一个扇区,(要知道物理相邻扇区位置距离是极小的),必须等待转完一圈,这极大浪费了时间。所以就用交叉来解决这个问题。 柱面
柱面其实是我们抽象出来的一个逻辑概念,前面说过,离盘心最远的磁道为0磁道,依此往里为1磁道,2磁道,3磁道…,不同盘面上相同编号磁道则组成了一个圆柱面,即所称的柱面(Cylinder)。这里要注意,硬盘数据的读写是按柱面进行,即磁头读写数据时首先在同一柱面内从0磁头开始进行操作,依次向下在同一柱面的不同盘面(即磁头上)进行操作,只有在同一柱面所有的磁头全部读写完毕后磁头才转移到下一柱面,因为选取磁头只需通过电子切换即可,而选取柱面则必须通过机械切换。电子切换比从在机械上磁头向邻近磁道移动快得多。因此,数据的读写按柱面进行,而不按盘面上的不同磁道进行。 读写数据都是按照这种方式进行,尽可能提高了硬盘读写效率。 CHS (硬盘读取数据的一种方式)
现代硬盘寻道都是采用CHS(Cylinder Head Sector)的方式,硬盘读取数据时,磁头会移动到要读取的扇区所在磁道的上方,这段时间称为寻道时间(seek time)。因读写磁头的起始位置与目标位置之间的距离不同,寻道时间也不同。目前硬盘一般为2到30毫秒,平均约为9毫秒。磁头到达指定磁道后,然后通过盘片的旋转,使得要读取的扇区转到读写磁头的下方,这段时间称为旋转延迟时间(rotational latencytime)。
一个7200(转/每分钟)的硬盘,每旋转一周所需时间为60×1000÷7200=8.33毫秒,则平均旋转延迟时间为8.33÷2=4.17毫秒(平均情况下,需要旋转半圈)。平均寻道时间+平均旋转延迟称为平均读写时间。
所以,最后看一下硬盘的容量计算公式:
硬盘容量= 512字节x扇区数(磁道)x柱面数x盘面数
磁盘的基本参数
容量 ,转速 ,缓存 ,传输速率 ,平均寻道时间(买电脑的关注这些)
固态硬盘左边为固态硬盘右边为机械硬盘
MBR是什么?
答:1):Master Boot Record:主引导记录
硬盘的0柱面、0磁头、1扇区称为主引导扇区
每个硬盘都有MBR2):MBR大小512字节,分为三个部分
主引导程序:446字节
硬盘分区表DPT:64字节
分区结束标记也叫硬盘有效标志 :2字节,固定为55AA
3):DPT:磁盘分区表
DPT大小64字节
每个主分区要占用16个字节(编号1-4)
扩展分区也要占用16个字节的主分区空间MBR相关命令
- dd命令
功能:从指定文件中抽取指定长度的数据,可以从底层复制数据进行备份
格式:dd if=输入文件 of=输出文件 bs=单位大小 count=数目
例如:dd if=/dev/sda of=/sdb1/sda_mbr.bak bs=512 count=1
将/dev/sda备份到/sdb1/sda_mbr.bak 一次备份512个字节 备份一次
-
备份MBR
dd if=/dev/sda of=mbr.bak bs=512 count=1 -
还原MBR(需要用光盘的救援模式还原)
dd if=mbr.bak of=/dev/sda bs=512 count=1 -
创建10M的文件
dd if=/dev/zero of=test bs=1M count=10
管理磁盘的分区
主分区可以引导操作系统
一个磁盘上最多可以建立四个主分区磁盘分区需要超过4个时
可将剩余空间作为1个扩展分区
扩展分区会占用一个主分区位置
扩展分区不能直接存储文件
划分成逻辑分区来存储文件
1个扩展分区可以划分成多个逻辑分区常见的分区方式
逻辑分区从5开始编号
1-4分配给主分区或者扩展分区Linux磁盘分区表示
1):Linux中将硬盘、分区等设备均表示为文件补充:逻辑分区从5开始编号1-4分配给主分区或者扩展分区
2):硬盘和分区的结构查看分区信息
1):fdisk命令
格式:fdisk -l [磁盘设备]
fdisk -l可以查看当前linux所有硬盘的分区 还可以知道当前有哪些硬盘可以使用(或者使用ls/dev 查看设备文件)
注:fdisk只支持小容量的硬盘(<=2T)可以查看到总容量信息, 磁头信息 ,扇区信息, 柱面信息, 硬盘分区信息
2):partprobe命令
格式:partprobe
修改磁盘分区后不用重启,使用partprobe更新磁盘分区的变化
3):parted命令
格式:parted 磁盘或分区
支持大容量的硬盘
用途:创建分区,查看分区创建分区
1):fdisk命令建立分区
用途:在交互式的操作环境中管理磁盘分区
格式:fdisk [磁盘设备]
2):交互模式中的常用指令
m:查看操作指令的帮助信息
p:列表查看分区信息
n:新建分区
d:删除分区
t:变更分区类型
w:保存分区设置并退出
q:放弃分区设置并退出
3):Linux常用分区ID补充:
- 一个硬盘需要分区格式化挂载才能用
2.格式化命令mkfs.ext4 /dev/sdb1(表示将sdb1格式化)
3.挂载命令mount /dev/sdb1 /sdb1(需要挂载到一个空目录,当前表示将sdb1挂载到/sdb1目录下)
分区表的类型
msdos 是fdisk创建分区表的一种类型,最大支持的容量2T,4个主分区,
gpt 支持大容量的硬盘是parted创建分区表的一种类型,支持大硬盘
分区的时候至少包含一个柱面(8M)