我試著用 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 陣列。
謝謝。