Filesystems Xfs文件大小、索引节点大小和块大小

Filesystems Xfs文件大小、索引节点大小和块大小,filesystems,inode,xfs,Filesystems,Inode,Xfs,文件大小以字节为单位显示。该文件存储在块大小为4096字节的xfs文件系统中 ll /srv/node/dcodxx/test.sh -rw-r--r--. 1 root root 7 Nov 5 11:18 /srv/node/dcodxx/test.sh 这是否意味着一个块可以容纳多个文件,如果不是,剩余字节(4096-7)会发生什么情况? 另外,如果索引节点与文件存储在同一块中,那么为索引节点保留的256字节存储在哪里,文件大小是否应该更大(256+7) 这是否意味着一个块可以容纳多个

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

ll /srv/node/dcodxx/test.sh
-rw-r--r--. 1 root root 7 Nov  5 11:18 /srv/node/dcodxx/test.sh
这是否意味着一个块可以容纳多个文件,如果不是,剩余字节(4096-7)会发生什么情况? 另外,如果索引节点与文件存储在同一块中,那么为索引节点保留的256字节存储在哪里,文件大小是否应该更大(256+7)

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

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

像XFS这样的现代文件系统具有一种称为“inline”的功能,在该功能中,足够小(不超过60字节)的文件可以存储在inode中,存储指向块的指针所占用的空间中

为inode保留的256字节存储在哪里?如果它存储在与文件相同的块中,文件大小是否应该更大(256+7)


Inode信息存储在Inode表中。

文件数据以文件系统块大小为单位存储,并且XFS上当前无法跨多个文件共享块。因此,已用磁盘空间始终是文件中的字节数,四舍五入到下一个块大小—一个1字节的文件将在一个4k块大小的文件系统上消耗4k磁盘空间

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


磁盘上inode与文件数据块是分开的,在具有256字节inode的文件系统上,无论使用多少元数据,它都将始终消耗256字节。如果需要超过256字节来存储额外的扩展数据块信息或扩展属性数据,则将分配额外的文件系统块大小的元数据块。

我认为XFS实际上还没有内联小文件。reiserfs可以选择将多个小文件打包到同一块中。在大多数文件系统中,实际发生的是内部碎片()(除非文件大小是FS块大小的倍数)。如果说索引节点被打包到块中,这也会更有用。任何地方都没有一个“inode表”。据我所知,索引节点块可以分配到任何地方。(新的crc=1磁盘格式的部分动机)备注:虽然在当时是真的,但现在XFS支持在相同程度上使用写时拷贝的多个引用。因此,像
duperemove
这样的工具工作得非常好,特别是在容器存档等方面。
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