高级Linux运维工程师必备技能(扫盲篇) 行情价格 商务服务

chibohandong 2023-3-6 261

在了解文件系统之前,我们要学习一下磁盘存储数据的方式,大家都知道文件从内存若要持久化存储的话就得把它存到硬盘上,想毕都知道文件存入磁盘都是二进制存取的。那么硬盘是如何存储的呢?我们现在标配基本上都是1T呢,现在都是2017了,500G的硬盘都已经遭嫌弃了。

                       1.生活小知识。

  上面是一幅图可以看到,有磁头,而且这个磁头是悬浮在盘面上的,如果这个盘面有震动,很可能直接滑到盘面,导致上面写的数据被划掉,造成数据丢失,因此,我们在购买硬盘的时候都写着不能强剧烈震动。 硬盘在工作的时候,这个盘面一直在转,如果访问里面的数据,需要一定时间,我们称之为“平均寻道时间”。 把不同盘面上的相同磁道(可以理解就是盘面上的一个圈,整个盘面有好多个这个样的打圈小圈形成的)划分成同一个分区内部。那么这些维护不同盘面的相同编号的磁道我们成为柱面(cylinder). 磁盘划分实际上是按照柱面划分的,那么很显然在最外层的柱面划分出来的分区的性能是最好的,你可能会问为什么?原因很简单,就是在相同的角速度中,最外层的周长是最大(也就意味着它存储的数据将越多)。因此我们在划分分区的时候依次划分C,D,E硬盘,最先划分的是C盘(分区软件默认把C盘划分到最外层),因此大家都用C盘做系统盘是有原因的哟!

 

2.MBR分区

在整块硬盘的最外侧磁道上,在第零("0")个扇区上,这个扇区是不能用来划分区的,因为这个扇区上存放着整块磁盘的分区信息。这个分区通常被称作为MBR(Master Boot Record,主引导记录 )分区(现在都流行GPT分区了),这个扇区仅仅占用了512个字节(bytes),你可别小看这512bytes,

a>.它保函了引导加载器(bootloader,其占用了446bytes);

b>.fat,即分区表,其占用了64bytes,每16bytes一个分区,总共只能分区4个[据说比尔盖茨层发表过言论:“硬盘这么小,有谁能用到多余4个分区呢?)【当时的硬盘都很小而且特别贵,只有几百兆(M)大小】”;

c>.5A,其为十六进制的“5A”,占用最后2个字节,用来标记这个MBR分区是否是有效数据的(2个字节被填充了2个5A,MBR有效性标记)。

硬盘内部都是真空的,为什么呢?因为它要旋转,有的硬盘的转速高达1.5w/m,如果不坐车真空的这么高的转速很容易和真空中的微粒发生碰撞,导致温度过高!所以不要轻易拆开硬盘,基本上你拆开就不是真空了,即使拆开后能用,也用不了多长时间就会坏掉的。

 

3.扩展分区与逻辑分区

随着硬盘的存储数据进一步的增长,我们分区4个是远远够用的,因此需要从4个主分区中拿出一个分区单独,用来存放其他的分区信息我们叫它为“扩展分区”,如果这个扩展分区足够大,就可以对其进行划分多个分区让不同用户使用。因此这个扩展分区(引用额外的分区表)是不能被格式化的,这样它就不能被使用,需要额外划分出一个或多个逻辑分区才能被使用。

 

4.MBR分区方法

a>.4个主分区

b>.3个主分区和一个扩展分区。

注意:MBR最大支持2T的硬盘。大于2TB就得使用GPT分区格式!

 

5.硬盘接口

DMA:Direct Memory Access (直接内存访问机制)

磁盘设备存放于/dev/文件夹下,

IDE接口的磁盘:/dev/hda、/dev/hdb、/dev/hdc、/dev/hdd

SCSI接口的磁盘:/dev/sda、/dev/sdb、/dev/sdc、/dev/sdd

/dev/XdYZ

/dev/ 表示的是一个设备目录

X h IDE硬盘

s SATA、SISC、U盘

Y a 第一块硬盘

b 第二块硬盘

c 第三块硬盘

。。。。。。。。。。

 

Z 1-3表示主分区,4一般为扩展分区

5是逻辑分区第一个分区

6是逻辑分区第二个分区

。。。。。。。。。。

a>.IDE(ATA):并口,每个控制器可接两个硬盘,master/slave,133MB/S(这个速率就是被淘汰的根部原因)

/dev/hd[a-z](注意:在Centos6.x版本以后,所有的硬盘即便是IDE接口的都被识别为sd,早起的设备被设置为hd)

/dev//hda[1-4](标识4个主分区)

/dev/hda[5+](逻辑分区5开始)

b>.SCSI:Small Computer System Interface (小型计算机接口,在读取数据上效率很高,因为它有单独的SCSI控制器,容错能力强且抗衰老【但是价格贵啊,相同存储空间是机械硬盘的8倍价格呢!】) 速率:320mb/s 也是并口的 (有的人为了省钱用IDE做raid阵列)

c>.SATA(Serial):300Mbps,600Mbps,6Gbps

d>.SAS:6Gbps

e>.USB:2.0接口: 3.0接口:

 

6.查看系统是如何识别磁盘分区的

 1 [root@yinzhengjie ~]# cat /proc/partitions  #查看系统识别的分区
 2 major minor  #blocks  name
 3 
 4    8        0  292968750 sda
 5    8       16  292968750 sdb
 6    9      127  278290432 md127
 7  259        0     512000 md127p1
 8  259        1  277777408 md127p2
 9  253        0   52428800 dm-0
10  253        1   33038336 dm-1
11  253        2  192307200 dm-2
12 [root@yinzhengjie ~]# 

  注意:如果你对你的硬盘剩余的空间进行分区后,新加的分区信息内核是不能识别的,需要内核去重读硬件的分区表,重启是不顶事的!我在生产环境中就遇到过这么一个坑。

 

7.根在内核

  根做为访问文件的入口,那么这个根到底在硬盘上呢?还是在操作系统上呢?根实际上是在内核中,我们访问数据都是操作系统将这个硬盘挂在到了根下,然后我们去访问它而已。那你又会问了,那内核在哪啊?答案是在磁盘上。

实际上,在装载内核之前,先启动的是bootloader(内核未启动就还没有文件系统存在),bootloader区磁盘上找到内核并启动,内核启动后会自动生成一个“/”(根),并将磁盘的文件都挂在到“/”下,这就形成了文件系统。

 

8.linux目录


上一篇:RISC的主要特点和优点
下一篇:asp钢塑瓦 树脂钢塑瓦 山西晋中彩色金属瓦安装便捷
最新回复 (0)
返回