Vivid 中 btrfs 上的 Raid 6

Vivid 中 btrfs 上的 Raid 6

嗨,我正在尝试在 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 维基

相关内容