我正在努力使用 btrfs RAID0 文件系统。
它已扩展到 4 个磁盘,但我需要删除其中一个磁盘。
这是文件系统的当前状态:
[root@osgiliath detlev]# btrfs fi show /mnt/Data/
Label: 'Data' uuid: 4c15fe81-ca58-4ac5-adf7-bdde245496f0
Total devices 4 FS bytes used 1.26TiB
devid 1 size 2.68TiB used 612.55GiB path /dev/sdc2
devid 2 size 74.53GiB used 74.52GiB path /dev/sda1
devid 3 size 931.51GiB used 606.55GiB path /dev/sdc1
devid 4 size 232.89GiB used 7.52GiB path /dev/sdb
和 df:
[root@osgiliath detlev]# btrfs fi df /mnt/Data/
Data, RAID0: total=1.26TiB, used=1.26TiB
System, RAID1: total=32.00MiB, used=112.00KiB
Metadata, RAID1: total=3.00GiB, used=1.66GiB
GlobalReserve, single: total=512.00MiB, used=143.50MiB
我尝试删除 /dev/sdc1 但失败,设备上没有剩余空间。我尝试重新平衡(首先只有元数据,然后也是数据)。它平衡了一些数据,但现在,如果我尝试删除 /dev/sdc1,它会将一些(4G)数据从 sdc1 移至 sdb,然后停止并显示“设备上没有剩余空间”。如果我重新平衡,它会将数据从 sdb 移回到 sdc1。
我也尝试删除 sdb,但它只是说设备上没有剩余空间。
我不知道如何删除该 /dev/sdc1 (我知道,同一个磁盘上有 2 个分区,这是由于磁盘连接器损坏,我不得不暂时移动它,这就是我想要删除它的原因)
任何想法 ?
答案1
您可以尝试将 devid 4 (sdb) 的大小调整为 0 字节:btrfs filesystem resize 4:0 /mnt/Data/
。
如果失败,可能是因为 /dev/sdb 上有子卷,您可以检查:btrfs subvolume list /mnt/Data/
如果有子卷,我怀疑您必须在将重要数据移出其中后将其删除,然后才能删除设备。可能需要一段btrfs filesystem sync /mnt/Data/
时间才能完全删除子卷。