我对 btrfs 的看法如何?

我对 btrfs 的看法如何?

首先,我知道 btrfs 是实验性的,我仍然应该拥有所有数据等的有效备份。没问题。

我已经在 4x 3TB 驱动器上设置了 btrfs RAID5 阵列;

Overall:
    Device size:                  10.92TiB
    Device allocated:                0.00B
    Device unallocated:           10.92TiB
    Device missing:                  0.00B
    Used:                            0.00B
    Free (estimated):                0.00B      (min: 8.00EiB)
    Data ratio:                       0.00
    Metadata ratio:                   0.00
    Global reserve:               16.00MiB      (used: 0.00B)

很好。看来设置正确。

我在 Ubuntu 上使用 Kerenl 4.4.0-22-generic。据我了解,这包括已实现 RAID56 的 btrfs 版本?

我的问题是,当我运行时btrfs fi usage /storage,我得到以下输出

nick@vnas:/tmp$ sudo btrfs fi usage /storage
WARNING: RAID56 detected, not implemented
WARNING: RAID56 detected, not implemented
WARNING: RAID56 detected, not implemented
Overall:
    Device size:                  10.92TiB
    Device allocated:                0.00B
    Device unallocated:           10.92TiB
    Device missing:                  0.00B
    Used:                            0.00B
    Free (estimated):                0.00B      (min: 8.00EiB)
    Data ratio:                       0.00
    Metadata ratio:                   0.00
    Global reserve:               16.00MiB      (used: 0.00B)

Data,RAID5: Size:3.00GiB, Used:1.75MiB
   /dev/sdb        1.00GiB
   /dev/sdc        1.00GiB
   /dev/sdd        1.00GiB
   /dev/sde        1.00GiB

Metadata,RAID5: Size:1.03GiB, Used:112.00KiB
   /dev/sdb      352.00MiB
   /dev/sdc      352.00MiB
   /dev/sdd      352.00MiB
   /dev/sde      352.00MiB

System,RAID5: Size:96.00MiB, Used:16.00KiB
   /dev/sdb       32.00MiB
   /dev/sdc       32.00MiB
   /dev/sdd       32.00MiB
   /dev/sde       32.00MiB

Unallocated:
   /dev/sdb        2.73TiB
   /dev/sdc        2.73TiB
   /dev/sdd        2.73TiB
   /dev/sde        2.73TiB

我的问题是WARNING: RAID56 detected, not implemented

这是否意味着 RAID56 没有正确实施,并且如果发生故障我将无法恢复?

谢谢

答案1

我对此并不确定,但我怀疑它指的是使用量计算,而不是 RAID 实现本身。RAID 5/6 实现确实存在已知错误和限制,但它仍然得到了实现。

如果我错了,我很乐意被纠正!

编辑:看起来我可能正确的

答案2

根据维基百科,“RAID 5 和 RAID 6 的实现被认为存在缺陷”;另请参阅地位kernel.org 上的页面。听起来你是对的,RAID56 尚未正确实现。如果您想要 RAID 5 或 6,目前最好创建一个分区级 RAID 设备(使用 mdadm),然后将文件系统放在其上。

答案3

给出的警告是从开发人员的角度发出的。他们认为 RAID5/6 还未准备好投入生产。

引用:https://btrfs.wiki.kernel.org/index.php/Status
您会注意到,截至 2016 年 12 月 2 日,状态显示:

---------------------------------------------------------------
Scrub + RAID56 | Unstable | will verify but not repair
---------------------------------------------------------------
RAID56         | Unstable | write hole still exists, parity not 
---------------------------------------------------------------

直到该功能被认为可以投入生产为止,该警告将一直存在。

关于您关于恢复的问题,您说得对,目前尚不清楚是否可以恢复。btrfs 邮件列表中已经分享了相当多的发现,目前建议用户放弃 RAID5/6。

相关内容