假设我有一个 BTRFS 文件系统 A,其只读子卷位于<mount-point-A>/snaps/good-one
. 我想创建一个 BTRFS 文件系统 B(可以在同一台机器或另一台机器上),它将包含该子卷的内容<mount-point-B>/
- 在正常读写模式下。
有什么办法可以通过雇佣btrfs send/receive
来实现这一目标吗?就像可能以只读方式接收子卷<mount-point-B>/good-one
,然后以某种方式将其切换为读写方式<mount-point-B>/
?或者我必须回退到rsync
?
收到只读子卷后,创建
rw
它的快照并可选择删除只读子卷。虽然
btrfs receive
会自动将子卷设置为只读,但您可以随时更改它。然而,这将消除副本作为原始副本的任何保护。接收完成后,运行以下命令
<mount-point-B>
:现在,如果您不想破坏备份的完整性,请
rw
按照 @Ginnungagap 的建议创建快照。长话短说
完整答案
假设我们在以下位置收到了只读卷
<mount-point-B>/good-one
:使其可读写:
获取其ID:
让它位于根:
需要重新挂载才能看到根卷的变化。原始根卷将被隐藏。
这是一个完整的测试脚本: