我尝试使用 mdadm 和 bcache 模拟一个场景。我使用 qemu-img 创建了 4 个原始 img 文件。我使用 mdadm 创建了 raid 10,并在 /mnt/ramdisk 上创建了 tmpfs,并在 ramdisk 上创建了一个原始 ramdisk.img 文件。尝试使用 bcache 连接 ramdisk.img 和其他 4 个 mdadm raid10 img 文件...
它看起来像这样。
loop0 7:0 0 512M 0 loop
└─md0 9:0 0 1020M 0 raid10
└─md0p1 259:0 0 1018M 0 md
└─bcache0 252:0 0 1018M 0 disk /media/gediz/vmbcache
loop1 7:1 0 512M 0 loop
└─md0 9:0 0 1020M 0 raid10
└─md0p1 259:0 0 1018M 0 md
└─bcache0 252:0 0 1018M 0 disk /media/gediz/vmbcache
loop2 7:2 0 512M 0 loop
└─md0 9:0 0 1020M 0 raid10
└─md0p1 259:0 0 1018M 0 md
└─bcache0 252:0 0 1018M 0 disk /media/gediz/vmbcache
loop3 7:3 0 512M 0 loop
└─md0 9:0 0 1020M 0 raid10
└─md0p1 259:0 0 1018M 0 md
└─bcache0 252:0 0 1018M 0 disk /media/gediz/vmbcache
loop101 7:101 0 255M 0 loop
└─loop101p1 259:1 0 228M 0 loop
mdadm 状态:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 loop3[3] loop2[2] loop1[1] loop0[0]
1044480 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
支持超级块:
bcache-super-show /dev/md0p1
sb.magic ok
sb.first_sector 8 [match]
sb.csum 51E3C78C7BED1DBF [match]
sb.version 1 [backing device]
dev.label (empty)
dev.uuid bb01d667-c8bf-442e-994b-94c108864cf5
dev.sectors_per_block 1
dev.sectors_per_bucket 1024
dev.data.first_sector 16
dev.data.cache_mode 0 [writethrough]
dev.data.cache_state 0 [detached]
cset.uuid acd29060-d604-4441-961a-413ce85cc604
缓存超级块:
sb.magic ok
sb.first_sector 8 [match]
sb.csum D66FD05126FF5088 [match]
sb.version 0 [cache device]
dev.label (empty)
dev.uuid 774d0fab-82ab-4825-ba19-43a83e4b4f53
dev.sectors_per_block 1
dev.sectors_per_bucket 1024
dev.cache.first_sector 1024
dev.cache.cache_sectors 465920
dev.cache.total_sectors 466944
dev.cache.ordered no
dev.cache.discard no
dev.cache.pos 0
dev.cache.replacement 0 [lru]
cset.uuid f3c837cb-a743-4615-9a7f-4f647d603eaf
我首先尝试了一下,make-bcache -B /dev/md0 -C /dev/loop101
确信它可以在没有 p1 分区的情况下工作,但它无法在原始设备上工作。然后我创建了 gpt 分区并将备份磁盘格式化为 ext4 左缓存磁盘,没有格式化(如指南所述),并尝试连接,但也没有成功...
# echo f3c837cb-a743-4615-9a7f-4f647d603eaf > /sys/block/bcache0/bcache/attach
-bash: echo: write error: No such file or directory
状态是:
# cat /sys/block/bcache0/bcache/state
no cache
它已分离并且无法连接...
我做错了什么 ?
我的目标是使用 mdadm 和 bcache 模拟由带有 ramdisk 缓存的虚拟磁盘形成的 raid 10 阵列。
谢谢。