从 RAID1 BTRFS 阵列中移除 HDD 时出错

从 RAID1 BTRFS 阵列中移除 HDD 时出错

我在 3 个磁盘上设置了 btrfs 文件系统,并设置了 RAID 1。不知何故,一小部分 (2GiB) 被用作 RAID0。当时,无论运行多少次btrfs balance -dconvert raid1 -mconvert raid1都不会改变它,所以我保持原样。

最近/dev/sda开始出现 SMART 错误和一般问题。因此,我向 btrfs 阵列添加了另外 2 个磁盘,然后继续运行btrfs device delete。所有数据都已正确移出sda 除了1 GiB,删除失败并显示以下消息:

> # ./btrfs device delete /dev/sda /storage 
ERROR: error removing the device '/dev/sda' - No space left on device

似乎其中一小部分仍有sda一个 RAID 0 分区,而那一小部分无法删除。这是一个完全不明智的假设!只是磁盘上剩余的 1 GiB 空间似乎很可疑。

我不知道那里有什么文件,目前我真的不在乎。我想删除那个 1 GiB 分区,这样我就可以删除它/dev/sda并让我的阵列正常工作。

我尝试balance -dconvert再次运行,但命令开始将我的数据移回进入sda,我不相信磁盘在写入那么多数据时会死机。

任何提示或建议都非常感谢!谢谢,

我的系统信息:

$ uname -a
Linux nerd-server 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

使用最新的 btrfs-tools:

$ ./btrfs --version
btrfs-progs v4.1.2

/dev/sda顽固地保留了 1 GiB 的数据。运行btrfs device delete很快就会出错。

$ ./btrfs fi show
Label: none  uuid: 5e63e5b5-48bb-442e-a79c-1c71a22de476
Total devices 5 FS bytes used 3.86TiB
devid    1 size 2.73TiB used 1.00GiB path /dev/sda
devid    2 size 2.73TiB used 1.97TiB path /dev/sdd
devid    3 size 2.73TiB used 1.81TiB path /dev/sdc
devid    4 size 2.73TiB used 1.97TiB path /dev/sde
devid    5 size 2.73TiB used 1.97TiB path /dev/sdf
btrfs-progs v4.1.2

似乎有一个 RAID 0 部分包含很少的数据。

$ ./btrfs fi df /storage
Data, RAID1: total=3.85TiB, used=3.85TiB
Data, RAID0: total=2.00GiB, used=1.54GiB
System, RAID1: total=32.00MiB, used=744.00KiB
Metadata, RAID1: total=6.00GiB, used=4.64GiB

这表明 RAID 0 部分仅处于开启/dev/sda状态/dev/sdd。我不在乎是否丢失了那里的数据,我只想退出/dev/sda我的阵列!除了 1 GiB 分区外,磁盘是空的,因此“设备上没有剩余空间”错误让我感到困惑。

$ ./btrfs device usage /storage
/dev/sda, ID: 1
   Device size:             2.73TiB
   Data,RAID0:              1.00GiB
   Unallocated:             2.73TiB

/dev/sdc, ID: 3
   Device size:             2.73TiB
   Data,RAID1:              1.81TiB
   Metadata,RAID1:          5.00GiB
   System,RAID1:           32.00MiB
   Unallocated:           939.49GiB

/dev/sdd, ID: 2
   Device size:             2.73TiB
   Data,RAID0:              1.00GiB
   Data,RAID1:              1.96TiB
   Metadata,RAID1:          6.00GiB
   System,RAID1:           32.00MiB
   Unallocated:           775.49GiB

/dev/sde, ID: 4
   Device size:             2.73TiB
   Data,RAID1:              1.97TiB
   Unallocated:           774.52GiB

/dev/sdf, ID: 5
   Device size:             2.73TiB
   Data,RAID1:              1.97TiB
   Metadata,RAID1:          1.00GiB
   Unallocated:           775.52GiB

答案1

我猜你正在使用 14.04 lts。所以第一件事应该是将内核升级到 3.19,然后重试。btrfs 仍在进行大量开发,尽管我们时不时会遇到奇怪的错误。raid 5/6 也有类似的错误报告,可能会在 k4.1 中修复。

秒。

相关内容