我即将把数据从一个 XFS 文件系统复制到另一个(较小的)XFS 文件系统。复制时文件系统可能会被卸载。我不想担心 ACL、SELinux 上下文等,所以我正在查看 xfs_copy 和 xfsdump。
何时应使用 xfs_copy 代替 xfsdump,反之亦然?其中一个比另一个更快吗?
答案1
xfs_copy
在制作源文件系统映像时应该使用 - 即:与要dd
执行的操作非常相似。
xfsdump
复制文件系统内容而不是创建真正的文件系统映像。这意味着xfsdump
遍历文件系统,并迭代每个对象,复制每个文件/目录(包括它们的属性)。
使用xfs_copy
vs xfsdump
? 时xfs_copy
手册页:
当将文件系统从一个磁盘移动到另一个磁盘时,如果原始文件系统明显小于新文件系统,并且将变大,我们建议使用 mkfs.xfs(8) 和 xfsdump(8)/xfsrestore(8),而不是使用 xfs_copy 和 xfs_growfs(8)。使用 xfs_copy/xfs_growfs 产生的文件系统布局几乎总是比使用 mkfs.xfs/xfsdump/xfsrestore 的结果更差,但对于小文件系统,差异可能会对性能产生重大影响。
答案2
如果源文件系统已经损坏且无法通过 xfs_repair 修复,您可以使用 xfsdump 挽救数据并尽量减少您的损失。