深入了解磁盘结构

一、     linux中常见的磁盘:

  无论什么操作系统,归根还是要落实与磁盘上的,对于磁盘的管理也是linux管理必备的一项技能。在linux中“一切皆文件”的思想贯彻整个linux的学习中,包括像是磁盘等的硬件也是在linux的/dev/目录下类似于文件形式的存放,常见的SATA口USB优盘或是SCSI口的硬盘在linux中是以/dev/sd[a-p]开头的文件,早期的IDE硬盘现在已经很少见了,这种硬盘在linux中是以/dev/hd[a-d],CDROM是以/dev/cdrom开头的文件,磁带机/dev/st0(SCSI口的),/dev/ht0(IDE口)。每一种设备都有特定的主设备号和次设备号,主设备号用来标识设备类型,次设备号标识同一类型设备的不同设备。

  不同类型的接口的设备速度也是有很大差别的,像是并口的IDE的接口理论值为133MB/s,SCSI硬盘速度为640MB/s 。串口的SATA和SAS口的硬盘速度都是6Gbps,在转化为同一单位的情况下后者的速度还是远远优于前者。串口的USB速度也能达到480MB/s

二、     磁盘结构与术语:

  硬盘的物理结构一般由磁头与盘片、电动机、主控芯片与排线等部件组成;当主电动机带动盘片旋转时,副电动机带动一组( 磁头)到相对应的盘片上并确定读取正面还是反面的碟面,磁头悬浮在碟面上画出一个与盘片同心的圆形轨道( 磁轨或称 柱面),这时由磁头的磁感线圈感应碟面上的磁性与使用硬盘厂商指定的读取时间或数据间隔定位 扇区,从而得到该扇区的数据内容; 深入了解磁盘结构深入了解磁盘结构

磁头(head):对磁盘的数据进行读写

磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。 磁盘上的磁道是一组记录密度不同的同心圆

扇区(sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区。硬盘的第一个扇区,叫做引导扇区。 一个扇区的大小为512个字节。

柱面(cylinder):在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面。

三、     分区类型:

1.      磁盘分区的优点:

    (1) 优化I/O性能

    (2)实现磁盘的空间配额限制

    (3)提高修复速度

    (4)隔离系统和程序

    (5)分区可以安装多个OS

2.      两种分区方式:MBR和GPT

MBR:(master  boot recorder )传统的分区都是以MBA的方式分区的使用32位作为扇区数,分区大小不差过2T,分区是按照柱面来分区(CHS:cylinder,head,sector),在MBR中有LBA地址用来和CHS转换,LBA地址是统一的逻辑区块地址作为寻址方式,这种寻址模式取代了原先 操作系统必须面对存储设备硬件构造的方式。在硬盘上的0磁道0扇区共512个字节存放MBR硬盘分区分区表和主引导程序,其中前446个字节存放引导程序,64个字节存放4个大小为16个字节的分区表,最后还有两个字节(0x55AA)是分区结束标志。

3.bmp

(可以通过十六进制查看器查看,先通过dd命令将硬盘的前512个字节备份成一个二进制文件,在通过hexdump 查看)

[root@centos7 ~]# dd if=/dev/sdc  of=sdc  count=512  bs=1
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.00509351 s, 101 kB/s
[root@centos7 ~]# hexdump -C sdc
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001b0  00 00 00 00 00 00 00 00  91 83 ce 77 00 00 00 20  |...........w... |
000001c0  21 00 83 9d 11 4c 00 08  00 00 00 c0 12 00 00 9d  |!....L..........|
000001d0  12 4c 83 db 29 72 00 c8  12 00 00 60 09 00 00 00  |.L..)r.....`....|
000001e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000001f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 55 aa  |..............U.|
00000200
[root@centos7 ~]# dd if=sdc_head  of=/dev/sdc bs=1 count=64 skip=446 seek=446    //skip表示源文件跳过多少开始复制,seek表示目标跳过多少开始
64+0 records in
64+0 records out
64 bytes (64 B) copied, 0.0170671 s, 3.7 kB/s

    注释:其中4个分区最多可以建立4个主分区,或者3个主分区加一个扩展分区,主分区结构如上,第一个字节表示此分区是否处于活动分区状态,80表示活动,00表
示非活动,活动分区可以用来存放操作系统。第二个字节表示磁头号,第3和4字节存放扇区号第5个字节表示分区类型,0表示分区未使用。5,6,7字节表示
分区结束的磁头号,扇区和柱面号。后面的八个字节用来存放LBA地址,用来做CHS和LBA地址转化用的。

  扩展分区中存放着逻辑分区的地址,在逻辑分区的第一个扇区也是存放着EBR表,结构与MBR类似,只不过前面的446字节都空着,存放64字节的表中第一个表项的16个字节指向本个逻辑分区,下一个16个字节的表项中存放指向下一个扩展分区的EBR,接下来便是两个空白的表项和类似于MBR的结束标志0x55AA。

3.      GPT分区:

  GPT分区是新一代的分区方式,可支持多分区(最多128个分区)和大分区(磁盘块大小为512字节时可支持8Z,4096字节的块大小时可以达到64Z。注Z的数量级为270­)。GPT使用128位的UUID作为磁盘和分区的同一唯一标识符,并且在GPT分区表自动备份在头尾两部分,并伴有CRC校验位,在GPT分区的首部有一个伪MBR,用于向下兼容MBR,因为MBR是不能理解GPT分区的,在GPT分区首部放置一个伪MBR首部可以防止MBR认为当前磁盘没有分区,而将GPT分区覆盖。

4.bmp

原创文章,作者:jack_cui,如若转载,请注明出处:http://www.178linux.com/41275

(4)
jack_cuijack_cui
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • 题外:自制小linux

    自制小linux 系统 制作环境的概述 首先你的有VMware的虚拟机软件,其次安装了centos6/centos7的linux系统 而且你需要写一个复制相关命令以及依赖库文件的的脚本(主要是为了省时间,脚本写法会在后面备注)准备好以上环境,便可以制作一个小linux系统了,具体步骤如下 1)  在虚拟机设置中,在原有基础上在挂载一个20G大小的硬…

    2017-04-04
  • PHP中引用的详解(引用计数、写时拷贝)

    《PHP5中文手册》内容中"引用的解释"一文的摘要: 1. PHP中引用的特性 PHP中引用意味着用不同的名字访问同一个变量内容,引用不是C的指针(C语言中的指针里面存储的是变量的内容,在内存中存放的地址),是变量的另外一个别名或者映射。注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字。最接近的比喻是 Uni…

    Linux干货 2015-04-10
  • 初识linux内核编译

    编译内核前提:        1、准备开发环境。        2、获取目标主机上硬件设备的相关信息。        3、获取目标主机系统功能的相关信息,例如要启用的文件系统。 &…

    Linux干货 2016-09-13
  • Centos系统 本地自动安装

    §·Centos系统光盘安装的流程 大概的了解下Centos的光盘系统安装流程: 1.插入光盘,出现菜单选择界面;通常情况下我们选择第一项: 第一项 : Install  or upgrade an existing system   2.默认进入图形界面安装并且进行一些必要的环境设置(安装前的配置阶段) 需要我们手工设置的项目…

    Linux干货 2016-09-15
  • N26-第三周博客

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只 显示一次即可。 [yang@localhost /]$ who | cut -d" " -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [root@localhost tmp]# last | head -1 3、取出当前系…

    Linux干货 2017-02-08
  • 【26期】Linux第七周学习小总结

        今天给大家的分享是本周的一个有趣的小内容,LVM逻辑卷相关的,为什么分享这个内容呢?主要是刚没有接触或者说深入接触Linux时,有人在群里提问,如果不用虚拟机,那Centos本身有快照吗?当时说的答案很热闹,不过大部分还是倾向于没有快照,本周学习的逻辑卷管理器章节里,就这个问题给了一个准确答案,那我们一起来看一下吧!  …

    2017-08-26