首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何释放被bcache锁定的设备

如何释放被bcache锁定的设备
EN

Ask Ubuntu用户
提问于 2018-04-27 00:05:18
回答 1查看 4.2K关注 0票数 0

今天我买了一个128 it的SSD磁盘,安装了它,然后安装了bcache-tools。在尝试访问设备之后,我得到了以下错误:

代码语言:javascript
复制
root@dev:/sys/block/sda/bcache# make-bcache -B /dev/sdb1 /dev/sdb1 -C /dev/sda
Can't open dev /dev/sda: Device or resource busy


root@dev:/sys/block/sda/bcache# fdisk /dev/sda

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

/dev/sda: device contains a valid 'bcache' signature; it is strongly recommended to wipe the device with wipefs(8) if this is unexpected, in order to avoid possible collisions

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0xfef282bc.

Command (m for help): q

root@dev:/sys/block/sda/bcache# wipefs -a /dev/sda
wipefs: error: /dev/sda: probing initialization failed: Device or resource busy
root@dev:/sys/block/sda/bcache# 

因此,我有以下问题:

  • 为什么bcache开始使用我的SSD磁盘(/dev/sda)而不征求我的许可?这是对当局的很大不尊重。
  • 如何禁用bcache以便能够正确格式化设备,它们还没有格式化。

这是ls -l在bcache设备中的输出:

代码语言:javascript
复制
root@dev:/sys/block/sda/bcache# ls -l
total 0
-r--r--r-- 1 root root 4096 Apr 26 18:47 block_size
-r--r--r-- 1 root root 4096 Apr 26 18:47 btree_written
-r--r--r-- 1 root root 4096 Apr 26 18:47 bucket_size
-rw-r--r-- 1 root root 4096 Apr 26 18:47 cache_replacement_policy
--w------- 1 root root 4096 Apr 26 18:47 clear_stats
-rw-r--r-- 1 root root 4096 Apr 26 18:47 discard
-r--r--r-- 1 root root 4096 Apr 26 18:47 io_errors
-r--r--r-- 1 root root 4096 Apr 26 18:47 metadata_written
-r--r--r-- 1 root root 4096 Apr 26 18:47 nbuckets
-r--r--r-- 1 root root 4096 Apr 26 18:47 priority_stats
lrwxrwxrwx 1 root root    0 Apr 26 18:47 set -> ../../../../../../../../../../fs/bcache/b9d9517a-a606-4ac2-86dc-3399e9678381
-r--r--r-- 1 root root 4096 Apr 26 18:47 written
root@dev:/sys/block/sda/bcache# pwd
/sys/block/sda/bcache
root@dev:/sys/block/sda/bcache# 

代码语言:javascript
复制
root@dev:/sys/fs/bcache# ls -l
total 0
drwxr-xr-x 7 root root    0 Apr 26 19:00 b9d9517a-a606-4ac2-86dc-3399e9678381
--w------- 1 root root 4096 Apr 26 19:00 register
--w------- 1 root root 4096 Apr 26 19:00 register_quiet
root@dev:/sys/fs/bcache# 
EN

回答 1

Ask Ubuntu用户

发布于 2018-11-21 22:34:43

bcache不会这么做的。您购买的磁盘不是干净的,在取消装箱时已经包含了bcache超级块(因此它可能是返回的驱动器,但没有正确删除),或者您运行的第一个命令是可疑的:它在命令行中有两次/dev/sdb1,这可能混淆了命令,并且它已经创建了超级块并附加了/dev/sdb1

要摆脱它,拆下支撑装置:

代码语言:javascript
复制
# echo 1 >/sys/block/sdb/sdb1/bcache/detach

然后取消缓存注册:

代码语言:javascript
复制
# echo 1 >/sys/fs/bcache/b9d9517a-a606-4ac2-86dc-3399e9678381/unregister

现在,在udev重新注册之前立即擦除它:

代码语言:javascript
复制
# wipe -a /dev/sda

不要混淆/dev/sdb1仍然显示在bcache的控制之下。它并不有害,您可以通过/dev/bcache0访问它。它不附加到缓存,因此不会受益于任何缓存,它在传递模式下工作,直到您手动将其重新附加到缓存:

代码语言:javascript
复制
# echo CACHE_SET_ID >/sys/block/sdb/sdb1/bcache/attach

在这种情况下,您只创建一个缓存设备,然后将任何磁盘附加到它(上面的命令在这个命令后面):

代码语言:javascript
复制
# make-bcache -C CACHE_DEV
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1028573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档