情况:服务器使用 XFS 文件系统,块大小 4kB。有很多小文件。
结果:一些目录占用 2+GB 空间,但实际文件大小小于 200MB。
解决方案:将 XFS 块大小更改为尽可能小,512B。我知道这意味着更多的开销和一些性能损失,我无法找出多少。
问:怎么办?
我知道 XFS 使用 xfsdump 来备份数据。因此,假设 /dev/sda2 是我想要更改的实际 XFS 文件系统,而 /mnt/export 是我想要使用 xfsdump 转储它的位置。手册说转储的块大小必须与恢复的块大小和 -b 参数“指定用于转储的块大小(以字节为单位)相同”。. 我有点担心,因为手册还说“默认块大小为 1Mb”
这是转储我的完整文件系统的正确方法(在这种情况下,/dev/sda2 安装到 /home)?
xfsdump -b 512 -f /mnt/export /home
如果上面的命令是正确的,我需要做什么才能正确取回我的文件,只有 512B 块大小?我的猜测是使用将 /dev/sda2 重新格式化为 512B 块大小
mkfs.xfs /dev/sda2 -b 512
然后使用
xfsrestore -f /mnt/export /home
但我不确定如何,也没有一个好的方法来测试我是否正确。