如何删除 bcache0 卷?

如何删除 bcache0 卷?

我尝试用回声来分离和停止。该设备将自行删除,但重新启动后会再次显示。有一次重新启动后,它恢复了我作为后备设备的 mdadm raid!

另一次,我禁用了与之配对的内存驱动器,进行了分离。重启后 /dev/bcache0 又恢复了。

下没有注销

/sys/fs/块/bcache

我还查看了 /sys/fs/bcache... /sys/block/md0/md0p1/bcache

对于这个不存在的注销。

仅注册和安静注册

我什至卸载了 bcache-tools,重启后 /dev/bcache0 仍然出现,并且正在缓存 /dev/md0!

答案1

如果要永久销毁 bcache 卷,则需要从底层设备中擦除 bcache 超级块。这个操作是不是通过 sysfs 接口公开。所以:

  1. 像往常一样使用 停止 bcache 设备echo 1 > /sys/block/<device>/bcache/stop。在较新的内核上,这可能会失败并显示“权限被拒绝”。在这种情况下,您需要通过其 UUID 来停止设备,如下所示在这里解释:

    ls -la /sys/block/<device>/bcache/set 
    # lrwxrwxrwx 1 root root 0 Jun 19 18:42 /sys/block/<device>/bcache/set -> ../../../../../../../../fs/bcache/<UUID>
    # Note: UUID is something like "89f4c92a-7fae-4d04-ab3c-7c1dd41fa1a5"
    
    echo 1 > /sys/fs/bcache/<UUID>/stop
    
  2. 用 擦拭超级块head -c 1M /dev/zero > /dev/<device>。 (如果您有足够新的版本util-linux,则可以使用wipefs它来代替,这在擦除 bcache 签名方面更精确:wipefs -a /dev/<device>。)显然,您需要小心选择正确的设备,因为这是一个破坏性操作,会擦除标头设备的。请注意,您将无法再访问 bcache 卷中的任何数据!

相关内容