请选择 进入手机版 | 继续访问电脑版

[LINUX] Linux标准的文件体系 知识分享(Ext2/Ext3/Ext4)

[复制链接]
查看92 | 回复4 | 2021-9-5 07:15:56 | 显示全部楼层 |阅读模式

Ext

全称Linux extended file system, extfs,即Linux扩展文件体系 ,Ext2就代表第二代文件扩展体系 ,Ext3/Ext4以此类推,它们都是Ext2的升级版,只不过增长 了日志 功能,且彼此向下兼容,以是 Ext2被称为索引式文件体系 ,而Ext3/Ext4被称为日志 式文件体系 。

备注:Linux支持很多文件体系 ,包括网络文件体系 (NFS)、Windows的Fat文件体系 。

查看Linux支持的文件体系 :

  1. ls -l /lib/modules/$(uname -r)/kernel/fs
复制代码

Linux标准的文件体系
知识分享(Ext2/Ext3/Ext4)

查看Linux支持的文件体系 (已载入到内存中):

  1. cat /proc/filesystems
复制代码

Linux标准的文件体系
知识分享(Ext2/Ext3/Ext4)

核心计划

数据区

这些元素相对稳固 ,磁盘格式化后,就固定下来了。

1、inode(索引节点)
记录文件的权限、属性和数据地点 块block的号码,每个文件都有且仅有一个的inode,每个inode都有本身 的编号,可以把inode简单地明确 为文档索引。

2、block(数据区块)
存储的文件内容,也叫数据区块(data block),每个block都有本身 的编号,Ext2支持的单位block容量仅为1k、2k、4k。

  1. 备注:为了方便inode的记录,在磁盘格式化后,block的大小都已经固定了。每一个块只能存放一个文件的数据,若文件太大,将占用多个block;若文件太小,block剩余空间就不能被使用了,就会导致磁盘空间浪费,所以在磁盘分区后,文件系统格式化前,请先仔细想想文件系统的预计使用情况。
  2.  
复制代码

中介数据(metadata)

这些元素是为了维持文件体系 状态而计划 出来的,重要 代表的是文件体系 的动态设置 信息,属于形貌 性信息。

1、superblock(超级块)

记录文件体系 (filesystem)的团体 信息,包括inode/block的总量、使用 量、剩余量、大小、以及文件体系 的格式和相干 信息。

  1. 备注:整个文件系统的基本信息全部记录在superblock,它的大小一般为1024Bytes,如果它死掉,将会花费大量的时间去补救哦!!!
复制代码

2、block group(区块群组)

试想一下,假如我们的磁盘容量高达数百G,当我们格式后,inode和block会非常巨大 ,为了便于管理,Ext文件体系 在格式化时,引入了区块群组(block group)的概念,每个区块群组都保持独立inode/block/superblock,拥有固定数量 的block,如许 就分成了一群一群最基础的子文件体系 。

  1. 备注:superblock对于文件系统太重要了,但是文件系统的superblock又只有一个,所以除了第一个block group含有superblock外,后续block group都可能会含有备份的superblock,目的就是为了避免superblock单点无法救援的问题。
复制代码

3、block bitmap(区块对照表)

一个block只能被一个文件使用 ,当我们新增文件时,肯定必要 使用 新的block来记录文件数据。那么怎样 快速地知道,哪些block是新的?哪些block是已经使用 了的?block bitmap就是如许 被计划 出来,记录全部 使用 和未使用 的block号码。同样的,当我们删除文件时,先从block bitmap中找到对应的block号码,然后更新标志为未使用 ,末了 开释 block。

inode bitmap(inode 对照表)

和block bitmap一样的计划 理念,只不过它记录地是已使用 和未使用 的inode号码,这里就不再敖述了。

group descriptor

形貌 每个区段(block group)开始和竣事 的block号码,以及阐明 每个区段(inodemap、blockmap、inode table)分别介于哪些block号码之间。

列出现在 体系 全部 被格式化的装备 :

  1. blkid
复制代码

Linux标准的文件体系
知识分享(Ext2/Ext3/Ext4)

挑选一个已格式化好的装备 ,查看文件体系 的详细 信息:

  1. dumpe2fs /dev/vda1
复制代码

Linux标准的文件体系
知识分享(Ext2/Ext3/Ext4)

Linux标准的文件体系
知识分享(Ext2/Ext3/Ext4)

  1. 备注:通过上面的Magic签名为0xEF53,说明我们的磁盘分区是一个的ext2和ext3文件系统。类似于通过文件开头的Magic,可以判断文件类型一样。
复制代码

总结

Ext家族是Linux支持度最广、最完备 的文件体系 ,当我们格式化磁盘后,就已经为我们规划好了全部 的inode/block/metadate等数据,如许 体系 可以直接使用 ,不必要 再进举措 态的设置 ,这也是它最良好 的特点,不过这也是它最明显 的缺点,磁盘容量越大,格式化越慢,centos7.x已经选用xfs作为默认文件体系 。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar Mionsterv | 2021-9-25 14:55:03 | 显示全部楼层
宇宙第一贴诞生了!
回复

使用道具 举报

avatar 烟织成愁撼 | 2021-9-26 00:35:40 | 显示全部楼层
admin楼主英明!
回复

使用道具 举报

avatar 諾篱hy | 2021-10-4 05:39:46 | 显示全部楼层
好多兽医在广场上义诊,admin楼主去看看吧!
回复

使用道具 举报

admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的源码论坛他的站点都是商业源码,还是免费下载的那种!特别好用。访问地址:http://www.mxswl.com 猫先森网络
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则