我有 2 个 XFS 文件系统,其中空间似乎神秘地消失了。
该系统(Debian)是很多年前安装的(我想是12年前)。 2 个 XFS 文件系统就是在那时创建的。从那时起,系统的软件和硬件都进行了更新,并且两个文件系统都增长了几次。它现在运行 32 位最新的 Debian Jessie,以及来自 backports 存档的 64 位 4.9.2-2~bpo8+1 Linux 内核。
现在,几天之内,我发现这些文件系统上的已用空间增长了,远远超过了由于文件而应有的空间增长。我已经检查过lsof +L1
,它与已被删除但被某些进程保持打开状态的文件无关。我可以通过卸载文件系统并运行来回收丢失的空间xfs_repair
。
这是显示它的文字记录:
~# df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 2.0G 1.7G 361M 83% /home
~# du -hsx /home
1.5G /home
~# xfs_estimate /home
/home will take about 1491.8 megabytes
~# umount /home
~# xfs_repair /dev/system/home
Phase 1 - find and verify superblock...
Phase 2 - using internal log
- zero log...
- scan filesystem freespace and inode maps...
sb_fdblocks 92272, counted 141424
- found root inode chunk
Phase 3 - for each AG...
- scan and clear agi unlinked lists...
- process known inodes and perform inode discovery...
- agno = 0
- agno = 1
- agno = 2
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
- process newly discovered inodes...
Phase 4 - check for duplicate blocks...
- setting up duplicate extent list...
- check for inodes claiming duplicate blocks...
- agno = 0
- agno = 2
- agno = 1
- agno = 3
- agno = 4
- agno = 5
- agno = 6
- agno = 7
Phase 5 - rebuild AG headers and trees...
- reset superblock...
Phase 6 - check inode connectivity...
- resetting contents of realtime bitmap and summary inodes
- traversing filesystem ...
- traversal finished ...
- moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
~# mount /home
~# df -h /home
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-home 2.0G 1.5G 521M 75% /home
~#
在这个例子中,“仅”丢失了 161MB,但如果我等待太久,文件系统就会 100% 满,我就会遇到真正的问题......
如果这很重要,两个文件系统都绑定安装在 LXC 容器中。 (我的系统上没有任何其他 XFS 文件系统。)
有人知道为什么会发生这种情况或者我应该如何调查吗?
答案1
xfs_admin -c 1 xxx
使用惰性计数器模式 XFS。