本篇文章主要介绍了" linux的存储管理:硬盘、分区及文件系统",主要涉及到方面的内容,对于系统运维感兴趣的同学可以参考一下:
存储管理:一、硬盘、分区及文件系统 二、硬盘配额限制一、硬盘、分区、文件系统 硬盘的物理概念:硬盘其实由许多的圆形硬盘片组成...
存储管理:一、硬盘、分区及文件系统
二、硬盘配额限制
一、硬盘、分区、文件系统
硬盘的物理概念:硬盘其实由许多的圆形硬盘片组成,按照硬盘片能容纳的数据量,分为单盘(一块硬盘里面只有一个硬盘片)或者多盘(一块硬盘里含有多个硬盘片)的硬盘。
硬盘里有刺磁头(head)在硬盘片上读写,磁头固定在机械手臂上,机械手臂上有多个磁头,可以进行读取。当磁头固定不动时(假设机械手臂不动),硬盘片转一圈所画出来的圆就是磁道。一块硬盘可能有多个硬盘片,所有硬盘片上相同半径的那个磁道就组成了柱面。
两个硬盘片上的同一磁道就是一个柱面。这个柱面也是分区时最小的单位;由圆心想外画直线,可以将磁道再细分为扇区,扇区就是硬盘片上最小的存储物理量。通常一个扇区的大小为512字节。这些就是硬盘的基本组成。
在计算整个硬盘的存储量时,简单的公式就是:柱面*磁头*扇区*512字节
分区:为什么要分区呢?因为我们必须要告诉操作系统:这块硬盘可以访问的区域是由A柱面到B柱面,如此一来操作系统才能控制磁盘的磁头去A~B范围内的柱面访问数据,如果没有指定A-B柱面为一个分区或者D-E柱面为一个分区那么操作系统就不知道该到哪里去访问数据了,分区大小的要点是:起始柱面与结束柱面。
那么分区的起始与结束柱面的信息存放在哪里呢?就是MBR(Master Boot Recorder)主引导区,它是硬盘的第0轨上的,这是计算机启动后要去使用硬盘时必须首先读取的第一个区域!它记录了所有的分区信息,以及启动时可以写入引导程序的位置。当一个硬盘的MBR坏掉时,由于分区的信息不见了,这个硬盘也可以说是寿终正寝了。
MRB一般为512Byte(字节),因此mrb仅能提供最多4个分区的记忆,这就是主分区P(primary)与扩展分区E(Extended)最多只能有4个的原因,如果超过4个分区就要使用3P+E的方式:3个主分区+一个扩展分区,再由一个扩展分区划分成若干个逻辑分区使用。
这里给一个备份硬盘MBR的命令:dd if /dev/sda /mbr bs=512 count=1 将sda硬盘的mbr备份到/mbr文件
Mbr是硬盘的第一个区域,大小为512B,dd命令可以根据设备进行备份,bs=512为备份规划的一个块的大小,如果没有指定默认为512,count=1指bs的数量。这里只备份mbr所以只需要备份第一个512B大小的区域就可以了。如果要备份整个分区:dd if /dev/sda5 /sda5,if输入文件,of输出文件。

这里一个block默认规划为了4K,所以mbr这个文件占用了一个block大小,浪费了4096B-512B的空间
文件系统:在高职系统分区所在的起始柱面与结束柱面后,随后要将分区格式化为“操作系统能够识别的文件系统”因为每个操作系统能够识别的文件系统并不相同(windows:fat、fat32、ntfs... linux:ext2、ext3...),例如windows在默认状态下就无法识别linux的文件系统,不同的文件系统有不同的数据读取方式区分。
归根结底数据时要存到硬盘中的,在硬盘(分区)中存储数据的最小单位是扇区。而扇区只有512B大小,磁头在读取的时候要一个扇区一个扇区的移动,这样160G的硬盘要分多少个512的扇区啊,磁头在读取数据时候要一个扇区一个扇区的移动,效率太低下了。所以为了解决这个问题就出现了逻辑块block的概念,block的容量是以扇区的大小为基础,是扇区大小的整数倍,512的整数倍512、1024、2096...
查看block的命令:dumpe2fs -h /dev/sda