我使用 RAID 1 中的两个 3 TB 驱动器设置了一个 btrfs 分区:
$ mkfs.btrfs -m raid1 -d raid1 /dev/sdd /dev/sde
$ mount /dev/sdd /media/media
将一堆数据复制到分区上,结果:
$ du -hs /media/media
2.5T /media/media
$ btrfs filesystem show
Label: none uuid: 9c2dd511-33bf-454e-9169-594cd84bee05
Total devices 2 FS bytes used 2.41TB
devid 2 size 2.73TB used 2.41TB path /dev/sde
devid 1 size 2.73TB used 2.41TB path /dev/sdd
## I'm spoofing this a bit as I don't have a log of the response at this point
接下来,我添加了另外 3 TB 的驱动器和 4 TB 的驱动器:
$ btrfs device add /dev/sdb /dev/sdc /media/media
$ btrfs filesystem balance
Done, had to relocate 2538 out of 2538 chunks
$ btrfs filesystem show
Label: none uuid: 9c2dd511-33bf-454e-9169-594cd84bee05
Total devices 4 FS bytes used 2.41TB
devid 2 size 2.73TB used 945.03GB path /dev/sde
devid 1 size 2.73TB used 944.04GB path /dev/sdd
devid 4 size 2.73TB used 1.24TB path /dev/sdc
devid 3 size 3.64TB used 1.84TB path /dev/sdb
## actual output this time
$ root@leviathan:/media# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 95G 82G 8.7G 91% /
## SNIP
/dev/sdd 12T 4.9T 6.8T 42% /media/media
现在,输出btrfs fi sh
总计为 4.92 TB,是 报告的磁盘空间量的两倍du -hs
,而不是我预期的 RAID 1 阵列(使用四个磁盘)的 4 倍。我原本计划使用 将 RAID1 转换为 RAID10 btrfs balance start -dconvert=raid10 -mconvert=raid10 /media/media
,但输出似乎表明它已经表现为 RAID 10。我在这里错了吗?我不需要转换吗?还是我搞砸了其他事情?
附加信息(如果重要):
# btrfs version
Btrfs v0.20-rc1
# uname -a
Linux leviathan 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 13.10
Release: 13.10
Codename: saucy
答案1
不,您仍然有一个 raid1,并且总大小与预期一致:总和的一半。您似乎正在考虑 4 路 raid1(4 个副本而不是 2 个),而使用 btrfs 则无法做到这一点。