我试图在 bcache 设备上创建 LVM 卷,但出现“未找到或未识别设备”的情况,尽管 lsblk 清楚地显示了该设备,并且 bcache 状态显示“干净”。
操作系统是 Ubuntu 13.10,使用默认内核,bcache-tools 来自https://launchpad.net/~g2p/+archive/storage/
我的分区布局如下:
sda 8:0 0 223.6G 0 disk
├─sda1 8:1 0 499M 0 part
│ └─md1 9:1 0 499M 0 raid1 /boot
├─sda2 8:2 0 20G 0 part
│ └─md2 9:2 0 20G 0 raid1 /
├─sda3 8:3 0 11.7G 0 part
│ └─md3 9:3 0 11.6G 0 raid1
└─sda4 8:4 0 191.5G 0 part
└─md4 9:4 0 191.3G 0 raid1
sdb 8:16 0 223.6G 0 disk
├─sdb1 8:17 0 499M 0 part
│ └─md1 9:1 0 499M 0 raid1 /boot
├─sdb2 8:18 0 20G 0 part
│ └─md2 9:2 0 20G 0 raid1 /
├─sdb3 8:19 0 11.7G 0 part
│ └─md3 9:3 0 11.6G 0 raid1
└─sdb4 8:20 0 191.5G 0 part
└─md4 9:4 0 191.3G 0 raid1
sdc 8:32 0 1.8T 0 disk
└─sdc1 8:33 0 1.8T 0 part
└─md5 9:5 0 1.8T 0 raid1
sdd 8:48 0 1.8T 0 disk
└─sdd1 8:49 0 1.8T 0 part
└─md5 9:5 0 1.8T 0 raid1
我打算使用 /dev/md5 作为我的后备设备,使用 /dev/md4 作为我的缓存设备。
为了创建支持设备,我完成了以下工作:
make-bcache -B /dev/md5
UUID: 4264d526-cd5e-43d9-a969-3eb2bf81aa91
Set UUID: e4bee610-da76-49ff-8636-08b80005a826
version: 1
block_size: 1
data_offset: 16
类似地,要创建缓存设备:
make-bcache -C /dev/md4
UUID: 8c425d36-c4a9-4e0b-9c78-a633afabf359
Set UUID: 5f807648-f510-4315-8665-e650773accf1
version: 0
nbuckets: 391811
block_size: 1
bucket_size: 1024
nr_in_set: 1
nr_this_dev: 0
first_bucket: 1
连接支撑设备:
echo 5f807648-f510-4315-8665-e650773accf1 > /sys/block/bcache0/bcache/attach
确认 bcache0 设备出现在 lsblk 中(确实如此),并检查 bcache 状态:
cat /sys/block/bcache0/bcache/state
clean
设置写回模式:
echo writeback > /sys/block/bcache0/bcache/cache_mode
创建LVM物理卷:
pvcreate /dev/bcache0
Device /dev/bcache0 not found (or ignored by filtering).
即使重新启动以强制重新读取,我仍然会收到相同的错误。有人知道我做错了什么吗?
答案1
我遇到了类似的问题。我在这里找到的答案很有用:
http://comments.gmane.org/gmane.linux.kernel.bcache.devel/235
简而言之,编辑你的 lvm.conf 以添加以下行:
types = [ "bcache", 16 ]
这将允许 LVM 将 bcache 识别为“可接受的”块设备。有关更多信息,请参阅 lvm.conf 的手册页:
http://manpages.ubuntu.com/manpages/trusty/man5/lvm.conf.5.html