如何从 BTRFS RAID 1 设置中移除驱动器以使其成为单个 (BTRFS) 驱动器?

如何从 BTRFS RAID 1 设置中移除驱动器以使其成为单个 (BTRFS) 驱动器?

我正在使用 Ubuntu 10.04,并将/home目录设置为具有两个 2TB 驱动器的 BTRFS RAID 1。

我想将/home目录设为单个驱动器;我该如何安全地做到这一点?

答案1

更新:2020 年 12 月

的功能btrfs随着时间的推移不断发展。该delete命令现在是产生不同结果的命令的别名remove。今天,您可以运行以下命令:

btrfs balance start -f -sconvert=single -mconvert=single -dconvert=single <mount>
btrfs device remove <drive> <mount>

第一个命令将所有数据从镜像设置转换为单副本设置。这实际上使 RAID1 成为 JBOD 设置。-f需要该选项来告诉文件系统真的降低数据的弹性。

完成后,第二条命令将从 JBOD 中删除该设备。文件系统会将已删除设备中的所有数据移动到其他设备。

原始答案

根据这个btrfs 维基,您可以通过发出以下命令从 btrfs RAID 中删除设备:

btrfs device delete <drive> <mount>

这是一个在线命令,因此对于您来说,它将是(当/home已安装时):

btrfs device delete <drive> /home

答案2

感谢@hrunting 的更新!

然而,使用“单一”配置文件进行重新平衡对我来说不起作用Ubuntu 20.04.2 LTS。 我需要:

btrfs balance start -dconvert=raid0 -mconvert=raid0 -sconvert=raid0 -f <mount>
btrfs device remove <dev/partition> <mount>

摆脱讨厌的 RAID1 元数据/系统并允许删除。

和往常一样,朋友们:备份你的数据在尝试这些之前,请先将其转移到独立的物理媒体上 - 很有可能您会在这次演变中失去一切。我非常喜欢:

 btrfs send -f <bkupFile> <subvol>
 btrfs receive -f <bkupFile> <newsubvol>

相关内容