嗨,我正在尝试在 Ubuntu 15.04 中的多个驱动器上创建 Raid 6,当我这样做时,Btrfs 已经在 raid10 中的 4 个驱动器上运行
sudo btrfs balance start -dconvert=raid6 -mconvert=raid6 /mnt/storage/
它通过消息转换为raid6。
Done, had to relocate 3 out of 3 chunks
看起来不错,但当我使用df -h
文件大小时似乎不对。我使用的是 4 个 2TB 驱动器,我期望有 4TB 可用空间,就像 Raid10 一样,df -h
这是否意味着我有 8TB 可用空间?
我正在运行内核 3.19.0-21-generic 和从 获得的 Btrfs v3.17 apt-get
。有人能告诉我是不是出了什么问题吗,或者 btrfs 上的 Raid6 显示的大小是否不同?
顺便说一句,使用 raid10 时,我运行df -h
答案1
BTRFS 和 BTRFSdf
意见不一致。简单来说,BTRFS 可以将需要物理空间但无法直接供系统使用的内容(如快照和元数据)隐藏在各处。
以我的RAID10为例。
$ sudo btrfs filesystem show
Label: ned uuid: 567ea578-13a0-46c0-9a5c-513f028b7aac
Total devices 4 FS bytes used 187.05GiB
devid 1 size 1.36TiB used 119.53GiB path /dev/sdg
devid 2 size 1.36TiB used 119.53GiB path /dev/sdi
devid 3 size 1.36TiB used 119.53GiB path /dev/sdj
devid 4 size 1.36TiB used 119.53GiB path /dev/sdk
4×1.3TiB 驱动器应提供约 3TiB 的原始空间。在传统文件系统上使用“187GiB”后,应该还有 2.8TiB 可用。
df
看到了驱动器,但不明白它们如何协同工作:
$ df -h /media/ned/
Filesystem Size Used Avail Use% Mounted on
/dev/sdk 5.5T 375G 5.1T 7% /media/ned
甚至我的版本btrfs-tools
(3.12)也不足以理解并告诉我可用空间:
$ btrfs fi df /media/ned/
Data, RAID10: total=238.00GiB, used=186.62GiB
System, RAID10: total=64.00MiB, used=48.00KiB
Metadata, RAID10: total=1.00GiB, used=447.08MiB
unknown, single: total=160.00MiB, used=0.00
显然,在 3.18 及更高版本中,情况会好很多,但你需要 Wily(或 PPA 或自行编译)。我刚刚这是我为自己编译的而且看起来更健康:
$ sudo ./btrfs fi usage /media/ned/
Overall:
Device size: 5.46TiB
Device allocated: 478.12GiB
Device unallocated: 4.99TiB
Device missing: 0.00B
Used: 374.11GiB
Free (estimated): 2.54TiB (min: 2.54TiB)
Data ratio: 2.00
Metadata ratio: 2.00
Global reserve: 160.00MiB (used: 0.00B)
无论如何,您可以在BTRFS 维基。