Xfs文件大小,inode大小和块大小

时间:2014-11-06 17:52:02

标签: filesystems inode xfs

ll /srv/node/dcodxx/test.sh
-rw-r--r--. 1 root root 7 Nov  5 11:18 /srv/node/dcodxx/test.sh

文件大小以字节为单位显示。该文件存储在块大小为4096字节的xfs文件系统中。

xfs_info /srv/node/sdaxx/
meta-data=/dev/sda               isize=256    agcount=32, agsize=7630958 blks
         =                       sectsz=4096  attr=2, projid32bit=0
data     =                       bsize=4096   blocks=244190646, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=119233, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

这是否意味着一个块可以容纳多个文件,如果不是剩下的字节会发生什么(4096-7)? 另外,为存储的inode保留的256个字节在哪里,如果它与文件存储在同一个块中,那么文件大小不应该更大(256 + 7)吗?

2 个答案:

答案 0 :(得分:3)

文件数据以文件系统块大小为单位存储,当前XFS上的多个文件之间不存在块共享。因此,使用的磁盘空间始终是文件中的字节数四舍五入到下一个块大小 - 一个1字节的文件将占用4k块大小文件系统上的4k磁盘空间。

inode本身包含文件元数据,如大小,时间戳,范围数据等 - 在xfs上,它还可以包含扩展属性信息。

磁盘上的inode与文件数据块是分开的,并且在具有256字节inode的文件系统上总是消耗256个字节,而不管使用的元数据量是多少。如果需要超过256个字节来存储其他扩展区信息或扩展属性数据,则将分配其他文件系统块大小的元数据块。

答案 1 :(得分:1)

  

这是否意味着一个块可以容纳多个文件,如果不是剩下的字节会发生什么(4096-7)?

一个块不能包含多个文件。如果文件大于一个块,则使用多个块。

像XFS这样的现代文件系统有一个名为" inline"的功能,其中足够小的文件(不超过60个字节)可以存储在inode中,用于存储指向块的指针所用的空间。 / p>

  

其中是为存储的inode保留的256个字节,如果它与文件存储在同一个块中,那么文件大小是不是应该更大(256 + 7)?

inode信息存储在inode表中。