0

我目前正在运行 BTRFS RAID5,出于空间要求,我移至此。

我知道 RAID56 目前不稳定。

是否可以在任何 BTRFS RAID(RAID 1 / RAID5 / RAID6)上对发生故障的驱动器进行热交换或断开驱动器而不进入只读状态?我不确定该怎么做。

我目前的设置,看起来 /dev/sdc 可能会失败。我已经运行了一次擦洗,它已经纠正了所有错误。我的想法是断开驱动器,擦除并运行坏块并重新连接,但我希望在所需的时间内保持挂载。 btrfs-progs v5.10.1

Overall:
    Device size:                  10.92TiB
    Device allocated:              6.50TiB
    Device unallocated:            4.42TiB
    Device missing:                  0.00B
    Used:                          6.24TiB
    Free (estimated):              3.11TiB      (min: 1.64TiB)
    Free (statfs, df):             3.11TiB
    Data ratio:                       1.50
    Metadata ratio:                   3.00
    Global reserve:              291.34MiB      (used: 0.00B)
    Multiple profiles:                  no

Data,RAID5: Size:4.32TiB, Used:4.16TiB (96.17%)
   /dev/sda        2.16TiB
   /dev/sdc        2.16TiB
   /dev/sdb        2.16TiB

Metadata,RAID1C3: Size:4.00GiB, Used:3.27GiB (81.82%)
   /dev/sda        4.00GiB
   /dev/sdc        4.00GiB
   /dev/sdb        4.00GiB

System,RAID1C3: Size:8.00MiB, Used:400.00KiB (4.88%)
   /dev/sda        8.00MiB
   /dev/sdc        8.00MiB
   /dev/sdb        8.00MiB

Unallocated:
   /dev/sda        1.47TiB
   /dev/sdc        1.47TiB
   /dev/sdb        1.47TiB
[/dev/sda].write_io_errs    0
[/dev/sda].read_io_errs     0
[/dev/sda].flush_io_errs    0
[/dev/sda].corruption_errs  0
[/dev/sda].generation_errs  0
[/dev/sdc].write_io_errs    3584094
[/dev/sdc].read_io_errs     1667942
[/dev/sdc].flush_io_errs    85437
[/dev/sdc].corruption_errs  1
[/dev/sdc].generation_errs  3394
[/dev/sdb].write_io_errs    0
[/dev/sdb].read_io_errs     0
[/dev/sdb].flush_io_errs    0
[/dev/sdb].corruption_errs  0
[/dev/sdb].generation_errs  0

任何建议将不胜感激!

4

1 回答 1

0

您可以这样做btrfs device replace start <PATH_TO_OLD_DEVICE> <PATH_TO_NEW_DEVICE> <PATH_TO_FILESYSTEM>(请参阅https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs-replace),或btrfs device remove <PATH_TO_OLD_DEVICE> <PATH_TO_FILESYSTEM>后跟btrfs device add <PATH_TO_NEW_DEVICE> <PATH_TO_FILESYSTEM>.

我不相信您可以(安全地)断开故障驱动器并在rw操作进行时保持不变。在缺少驱动器的情况下挂载(“-o 降级”)是只读的。我相信您将能够rw使用(连接的)故障驱动器在线完成操作,btrfs 将处理错误并从可用的任何地方获取未损坏的数据。

于 2021-08-23T08:20:48.763 回答