BTRFS 的 pvmove 等效项

BTRFS 的 pvmove 等效项

和我前段时间问的问题类似。这个稍微容易点吧?我可以看到 BTRFS 中有用于删除/添加/重新平衡物理驱动器的卷管理逻辑,但是是否有工具可以手动将扩展/块从特定物理设备移到另一个物理设备上?似乎对于应该快速创建的文件(例如备份文件)但可以移动到后端较慢的存储的文件来说很重要。

答案1

删除设备时文件的重新分配是透明的。我查看了源代码(一个 1 Gb git 克隆),但我从未在用户空间实用程序(现在捆绑在btrfsIIRC 中)中找到任何内容来执行此操作,而无需实际删除 ( btrfs device delete) 并重新添加 ( btrfs device add) 设备。我专门研究了将子卷映射到特定设备,但没有结果。

删除设备所花费的时间相当于要移动的数据量,在此期间该设备不用于新数据。此外,无法控制将经常访问的项目保留在设备上。所以这不是一个有用的选择。

我现在已经进行了设置,以便较慢的“后端”是一个单独的文件系统,特定数据根据文件类型和访问信息移动到该文件系统。当然,就空间不足而言,这不如拥有一个大文件系统那么方便(至少“后端”存储相对便宜)。

如果您还没有这样做,您可能还想看看btrfs Wiki 上的条目。

相关内容