我正在设置一个带有两个 3TB 硬盘作为存储备份的系统。由于它是台式机,我考虑了以下磁盘设置:
sda
+ /boot with 500MB
+ btrfs for the remaining GBytes
sdb
+ btrfs for all the 3000GB
然后,我考虑使用single
-mode 开启数据/
,并创建一个子卷/home
(可能还有其他子卷)用作raid1
数据模式。使用当前(内核 3.7.X)btrfs 可以做到这一点吗?有没有人有相关资源,我找不到任何东西。
更新:我做了一个小型测试设置,其中包含两个作为环回设备挂接的普通文件,以供使用。在这些文件上,我创建了一个普通的 btrfs。然后我做了以下事情:
btrfs subvolume create test
dd if=/dev/urandom of=foo bs=1024 count=1 # use random data to prevent dedup
dd if=/dev/urandom of=test/bar bs=1024 count=1 # use random data to prevent dedup
btrfs balance start -dconvert=raid1 test
btrfs balance start -dconvert=single .
btrfs filesystem df .
这表明文件系统在单一模式下具有所有用途,而不是部分 RAID1 和部分单一模式……我做错了什么?
答案1
btrfs balance 命令适用于文件系统,如帮助所示,即使“文件系统”参数是可选的:
# btrfs balance start --help
usage: btrfs [filesystem] balance start [options] <path>
直到有“btrfs子卷平衡”命令,那么我怀疑这个功能不存在。
(以上基于 Btrfs Btrfs v0.19)
答案2
我刚刚转向 btrfs,我有完全相同的要求。我想到的唯一解决方案是显而易见的:只需创建两个单独的/独立的 btrfs 文件系统(即顶层子卷),每个 raid 级别一个。