加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ext2文件系统如何计算最大磁盘容量和最大单一文件容量

发布时间:2020-12-13 23:03:44 所属栏目:百科 来源:网络整理
导读:一、基本概念 ext2文件系统由inode,data block和一个super block组成。这几个数据库的作用分别是: super block:记录次文件系统的整体信息,包括inode/data block的总量、使用量、剩余量,以及文件系统的格式与相关信息等; inode:记录文件的属性,一个文

一、基本概念

  ext2文件系统由inode,data block和一个super block组成。这几个数据库的作用分别是:

  super block:记录次文件系统的整体信息,包括inode/data block的总量、使用量、剩余量,以及文件系统的格式与相关信息等;

  inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的data block号码;

  data block:实际记录文件的内容,若文件太大时,会占用多个block,在ext2文件系统中所支持的datablock大小有1KB,2KB,4KB三种。

  文件系统一开始就将inode与datablock规划好了,除非重新格式化(或者利用resize2fs等命令更改文件系统大小),否则inode与datablock固定后就不再变动。

二、单个文件最大容量计算

  在计算容量之前,还必须了解inode的机制。如下:

  1.每个文件仅会占用一个inode

  2.每个inode大小均固定位128bytes,但是大部分空间是用来存储文件属性的,另外inode记录一个datablock需要花掉4byte

  3.ext2文件系统为了让inode记录尽可能多的datablock,定义了四个记录block号码的区域,分别为12个直接记录区,一个间接记录区,一个双间接记录区,一个三间接记录区,所谓间接记录区就是用datablock记录data block号码,

  inode结构如下图所示:

  假设datablock为1K,现在开始计算容量:

  (1)12个直接记录区容量:12 * 1K = 12K

    一个直接记录区记录一个data block号码,一个data block 1K

  (2)1个间接记录区容量:256 * 1K = 256K

    间接记录区指向一个data block,由该data block间接记录文件data block号码,由于data block为1K,记录一个data block要4byte,所以一个data block可以保持1024 / 4 = 256 个data block号码

  (3)1个双间接记录区容量:256 * 256 * 1K = 65536K

    总共有256个data block间接记录文件data block号码

  (4)1个三间接记录区容量:256 * 256 * 256 * 1K = 16777216K

 将四个记录区容量相加,总容量为16843020K,约等于16G。

 需要说明的是:这个计算方法不能用在4K的block大小的情况下,因为大于2K的block将会受到ext2文件系统本身的限制,ext2文件系统限制单个文件最大容量为2T。

 最大磁盘容量貌似是系统规定的(不确定),尚未找到计算方法。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读