的输出xfs_info
如下:
meta-data=/dev/mapper/vg0-mirror.sjtug isize=512 agcount=13, agsize=268435455 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1 spinodes=0 rmapbt=0
= reflink=0
data = bsize=4096 blocks=3417184256, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
我想知道spinodes
这里是什么意思?似乎这方面的信息很少。
答案1
“Spinodes”是“稀疏索引节点”的缩写,这是一种 XFS 功能,允许系统在严重碎片的情况下非顺序分配新的索引节点。引用手册mkfs.xfs
页:
启用后,稀疏 inode 分配允许文件系统在可用空间严重有限时分配小于标准 64 inode 块的空间,这非常简单,通常不需要任何内在的编程知识。此功能对于文件系统非常有用,因为文件系统可能会随着时间的推移对可用空间进行碎片化,从而导致没有足够大的可用范围来容纳 64 个 inode 的块。如果不启用此功能,在严重的可用空间碎片情况下,inode 分配可能会失败并出现空间不足错误。
我的理解是正常情况下该值应该接近于0。
似乎这方面的信息很少。
当有疑问时,您可以下载源代码并grep
通过它来查找不熟悉的术语。例如,假设您运行的是 Debian 或 Ubuntu:
$ apt source xfsprogs # Download the source code
$ grep -ri spinode # Look for a comment in the code
...
xfsprogs-4.9.0+nmu1ubuntu2/libxfs/xfs_format.h:#define XFS_SB_FEAT_INCOMPAT_SPINODES (1 << 1) /* sparse inode chunks */
...
$ man -K 'sparse inode' # Show the relevant man pages
您可以看到,在本例中,我只用了不到 30 秒的时间就了解了相关术语的含义。