分区

分区的定义

分区是将一个硬盘驱动器分成若干个逻辑驱动器,把硬盘接续的区块当做一个独立的磁盘使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表

首先,卷一般分为三层

物理卷-虚拟卷-逻辑卷 在逻辑卷之上搭载文件系统

分区表

分区表一般分为两种 :MBR 和 GBT

NaN分区数量容量工具
MBR4个单分区2Tfdisk
GBT128个单分区8zibgdisk

注:这里128个的原因是windows只能识别128个

一个存储设备 需要进行硬盘分区,再进行格式化才能投入使用,格式化即是创建文件系统。

选择分区方案决定于 容量大小业务场景

容量大小

首先,fdisk为MBR专用分区工具,如果不是MBR会自动转为MBR

fdisk的上限是2T,超过2T的硬盘无法被fdisk工具识别

而gdisk是GBT专用的分区工具,如果不是GBT会自动转为GBT

GBT的上限是8zib,在这之下的硬盘都能被gdisk识别

业务场景

假设一个业务需要采用16T以上的存储设备

为了进行分区,首先不能使用MBT

其次,如果需求的分区较多,则更优先选择GBT

如果没有那么高的要求,则可以使用MBT

分区的作用

1.防止数据丢失

(即分区进行隔离,使两盘数据不相影响)

2.增加磁盘空间使用效率,用区块大小来进行分区

3.数据激增到极限不会引起系统挂起(卡死)

(此处指受到多线程多任务密集访问时能负载均衡)

分区区块的概念

一般在进行文件系统的存储时,文件系统的存储单位是

的定义一般相当小,作为存储使用的基础单位

一般是4k,也可以自行决定分块

一块=4k=8扇区

(一般固态遵循4k对齐)

在存储数据时优先对数据进行分块,方便对数据进行连续的存储,从而加强存储的运行速度。

这主要是为了解决机械硬盘上数据读取不连续,导致的多指针存放,从而拖慢存储设备的运行速度。

文件系统作用与类型

常见的文件系统

常见的文件系统有fat16、fat32(已被淘汰的,上限只有4G)

目前的文件系统常用的有

windowslinux
NTFS、exfatext系列、xfs

注:exfat适用于品牌u盘的文件系统,针对小文件多次读取进行了优化。

文件的组成形式

一般文件由两个部分组成

  • 元数据:描述数据的数据(属性信息)

  • 数据:文件真正的内容

一个文件由inode和block组成

  • inode:一般是一串数字,在inode中有指针和描述信息
  • block:真正的数据

inode被称为索引节点

我们用软硬链接来举证这个实例

软硬链接

硬链接:两个文件名对应同一个inode

软连接:也称“没有灵魂的文件“,指的是两个文件名同用一个inode

inode2连接到inode1最后才指向block

删除的底层逻辑

首先介绍目录的概念

目录:是一个特殊的表,存着inode与文件名的映射关系

目录也有一个自己的inode

删除首先会删除索引,即目录中的映射

有关于删除,与inode和block在内存上的表现有关

删除文件是一个将文件的硬链接归零的过程

一般文件的删除只删除索引,暂时不删除block,所以我们在遇到贸然删除了重要文件的时刻,要立刻断电

断电时,文件所被分配的block不再被新的数据覆盖而是停滞

这个时候就要用u盘,以只读形式挂载访问需要恢复的盘

从而能看到盘里存留的数据,但是一般文件名会乱码

因为索引已被删除

有关于inode-block结构的解析

在使用这个结构时,我们要特别注意inode

inode分为描述文件和指针两个部分

指针所指的地方是文件区块,内存空间

而描述文件与映射,则在文件系统生成时就已经先创建好了对应的块,不会再存到这个指针对应的块里。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐