硬盘结构详解;详解MBR和GPT分区结构;详解raid磁盘阵列 |
您所在的位置:网站首页 › 破坏机械硬盘的引导系统 › 硬盘结构详解;详解MBR和GPT分区结构;详解raid磁盘阵列 |
目录 思维导图硬盘的物理结构硬盘读写过程寻址方式 CHS寻址LBA寻址 硬盘的分区结构 MBR分区结构 0号扇区内容扩展分区 GPT分区结构 文件系统 文件系统的定义文件系统的结构 raid磁盘阵列技术 raid -0raid -1raid -5raid -10 和raid -01 思维导图
硬盘的物理结构是比较复杂的,这里我们只需要知道最常用到的几个术语即可,也就是chs寻址中所涉及到的结构 磁头(Heads):每张磁片的正反两面各有一个磁头,一个磁头对应一张磁片的一个面。因此,用第几磁 头就可以表示数据在哪个磁面。柱面(Cylinder):所有磁片中半径相同的同心磁道构成“柱面”,意思是这一系列的磁道垂直叠在一起,就形成一个柱面的形状。简单地理解,柱面数=磁道数。扇区(Sector):将磁道划分为若干个小的区段,就是扇区。虽然很小,但实际是一个扇子的形状,故称为扇区。每个扇区的容量为512字节。 硬盘结构图解:系统将文件存储到磁盘上时,按柱面、磁头、扇区的方式进行,即最先是第1磁道的第一磁头下(也就是第1盘面的第一磁道)的所有扇区,然后,是同一柱面的下一磁头,……,一个柱面存储满后就推进到下一个柱面,直到把文件内容全部写入磁盘。 所以,数据的读/写按柱面进行,而不按盘面进行。也就是说,一个磁道写满数据后,就在同一柱面的下一个盘面来写,一个柱面写满后,才移到下一个扇区开始写数据。读数据也按照这种方式进行,这样就提高了硬盘的读/写效率。 寻址方式首先,我们需要了解寻址是在干嘛? 当需要从磁盘读取数据时,系统会将数据逻辑地址传给磁盘,磁盘的控制电路按照寻址逻辑将逻辑地址翻译成物理地址,即确定要读的数据在哪个磁道,哪个扇区。 所以当我们需要对磁盘进行读写操作时就涉及到了对磁盘进行定位操作,我们要去找到要存储数据或者取数据的这个扇区,而寻址就是一种定位。更恰当的讲,寻址就是利用CHS告诉你,你住在某栋楼几层几房 CHS寻址由硬盘结构图我们可以清楚地了解到硬盘三大件的含义,利用这三大件催生出了一种以扇区为单位的寻址方式CHS.知道了磁头数、柱面数、扇区数,就可以很容易地确定数据保存在硬盘的哪个位置。也很容易确定硬盘的容量,其计算公式是: 硬盘容量=磁头数×柱面数×扇区数×512字节 CHS是一个三元组,组成如下: 1. 一共24个 bit位。 2. 其中前10位表示cylinder,中间8位表示head,后面6位表示sector。 3. 最大寻址空间 LBA寻址计算机技术日新月异,由于CHS寻址技术最多只能用于8G大小的硬盘,所以,在如今的生活中我们使用LBA进行寻址。对于LBA寻址,我们只需要知道以下内容 LBA采用48个bit位寻址,最大寻址空间128PB。LBA编址方式将CHS这种三维寻址方式转变为一维的线性寻址,它把硬盘所有的物理扇区的C/H/S编号通过一定的规则转变为一线性的编号。简单来讲,原本你需要的信息是5栋7层02户,但是现在LBA通过一定的运算,你现在只需要知道你要去第N个房间就好了,由三维的定位,变成了现在的一围定位 计算公式 LBA(逻辑扇区号)=磁头数 × 每磁道扇区数 × 当前所在柱面号 + 每磁道扇区数 × 当前所在磁头号 + 当前所在扇区号 – 1 硬盘的分区结构 我们在linux下经常使用两种分区结构,一种是MBR分区结构,一种是GPT分区结构 MBR分区结构我们来看下面这张图,当我们对磁盘以MBR的结构进行分区的时候,磁盘的结构就如下图所示 在分区表中记录分区的起始地址和结束地址(既可以使用CHS寻址也可以使用LBA进行寻址),这两个地址相减就是我们这个分区的实际容量 扩展分区由于MBR仅仅为分区表保留了64字节的存储空间,而每个分区则占用16字节的空间,也就是只能分4个分区,而4个分区在实际情况下往往是不够用的。因此就有了扩展分区,扩展分区中的每个逻辑分区的分区信息都存在一个类似MBR的扩展引导记录(简称EBR)中,扩展引导记录包括分区表和结束标志“55 AA”,没有引导代码部分。也就是EBR中的前446个字节是空的 扩展分区的结构如下图所示 GPT磁盘分区结构解决了MBR只能分4个主分区的的缺点,理论上说,GPT磁盘分区结构对分区的数量好像是没有限制的。但某些操作系统可能会对此有限制。 GPT的分区结构相对于MBR要简单许多,并且分区表以及GPT头都有备份。 文件系统我们把最初始的硬盘比作一个毛坯房,那么对硬盘进行分区,就相当于给毛坯房通水电,对硬盘进行格式化(添加文件系统),就相当于对毛坯房进行装修。毛坯房只有通水电,装修之后才能住人;同理只有将硬盘进行分区和格式化,硬盘才能够使用。 文件系统的定义文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。 文件系统的结构我们知道Linux操作系统支持很多不同的文件系统,比如ext2、ext3、XFS、FAT等等,而Linux把对不同文件系统的访问交给了VFS(虚拟文件系统),VFS能访问和管理各种不同的文件系统。所以有了区之后就需要把它格式化成具体的文件系统以便VFS访问。标准的Linux文件系统Ext2是使用「基于inode的文件系统]. 我们知道一般操作系统的文件数据除了文件实际内容外,还带有很多属性,例如 Linux 操作系统的文件权限(rwx)与文件属性(拥有者、群组、 时间参数等),文件系统通常会将属性和实际内容这两部分数据分别存放在不同的区块在基于inode的文件系统中,权限与属性放置到inode中,实际数据放到data block 区块中,而且inode和data block都有编号.如上图所示,文件系统最前面有一个启动扇区(boot sector),这个启动扇区可以安装开机管理程序, 这个设计让我们能将不同的引导装载程序安装到个别的文件系统前端,而不用覆盖整个硬盘唯一的MBR, 也就是这样才能实现多重引导的功能 把每个区进一步分为多个块组 (block group),每个块组有独立的inode/block体系如果文件系统高达数百 GB 时,把所有的 inode 和block 通通放在一起会因为 inode 和 block的数量太庞大,不容易管理分区是用户的分区,实际计算机管理时还有个最适合的大小,于是计算机会进一步的在分区中分块每个块组实际还会分为分为6个部分,除了inode table 和 data block外还有4个附属模块,起到优化和完善系统性能的作用 raid磁盘阵列技术前面讲的都是磁盘内部的结构,下面我们来讨论一下多个磁盘如何组合能发挥更大的作用。我们采用raid技术的优点: 提升读写性能增加容错能力,也就是增加硬盘的可用性 raid -0
但是,当硬盘的数量比较多的时候,能有一个直观的反应就是,使用raid-10会使得服务器的稳定性能更高,具有高可用性。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |