我在 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 中修复。
秒。