深入了解磁盘结构

一、     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 08:45
下一篇 2016-08-29 08:45

相关推荐

  • Nginx 基础 (IO模型、编译安装、几大块配置文件详解)

    Nginx基础 前言 apache在设计的时候已经考虑了并发访问模型,select()机制可以响应1024个访问,但是当数量再大,千万级别的时候http就响应不过来了。这个时候,nginx的出现解决了这一个问题。nginx是一个安装简单、配置文件简单、占用内存少、稳定性高、处理并发能力非常强、灵活好用等有点聚集于一身的轻量级服务器。在Linux操作系统中,N…

    Linux干货 2016-12-24
  • 第五周 N21 总有刁民想害朕

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; egrep "^[[:space:]]+" /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; egrep "^#[[:space:]]+…

    Linux干货 2016-07-16
  • nginx的模块应用

    1.location的定义 (1)当location中午定义时,默认使用server中的相关定义。 (2)当locating中有了相关定义,此时则启用location中的定义的内容。 nginx -t检查配置文件是否有语法错误 nginx -s reload重载nginx (3)即使server中的root中的目录下有了/admin的目录,但是同时又在loc…

    Linux干货 2016-10-30
  • 网络班27期第五周作业

    N27_网络班 第五周作业 1、 显示当前系统上root、fedora或user1用户的默认shell [root@localhost ~]# grep -E ‘^(root|fedora|user1)’ /etc/passwd | cut -d: -f1,7 2、 找出/etc/rc.d/init.d/function文件中某单词后面跟一组小括号的行,形如…

    Linux干货 2017-08-28
  • LVS

    LVS概念 LVS(Linux Virtual Server):Linux 虚拟服务器  LVS是个负载均衡设备,它不提供任何服务,用户请求到这里的时候,它是将客户需求转发至后端真正提供服务的服务,所以说后端的服务称作real server。LVS分为两段,前一段称为ipvsadm(管理集群服务的命令行工具),后面一段叫做ipvs(内核模块) LVS的类型 …

    Linux干货 2017-02-17
  • 磁盘管理之LVM

    1、什么是LVM     LVM(Logical Volume Manager)逻辑卷管理,是linux环境下将一种将一个或多个硬盘的分区在逻辑上集合来呈现给上层应用,对磁盘实现动态管理的机制。相对于普通的磁盘分区有很大的灵活性,使用LVM在一定程度上就可以解决普通磁盘分区带来的问题。 2、专业术语     &nbsp…

    Linux干货 2016-09-02