我使用 Ubuntu 16.04,内核为 5.4,精简配置工具版本为 0.8.5
我想测试精简配置的cache_xml和cache_writeback工具,但是失败了。
它总是失败,我不知道如何调试。
我有两个 SSD 作为 RAID0,并将它们用作 dm-cache 设备。
blockdev --getsz /dev/sdb
937703088
blockdev --getsz /dev/sdc
937703088
sudo dmsetup remove_all
sudo dmsetup create test-dev-260074 --table "0 8192 linear /dev/sdb 0"
sudo dmsetup create test-dev-693500 --table "0 1048576 linear /dev/sdb 8192"
sudo dmsetup create test-dev-671419 --table "0 8388608 linear /dev/sdc 0"
sudo dd if=/dev/zero of=/dev/mapper/test-dev-260074 bs=512 count=8 seek=0
创建随机缓存 xml
sudo cache_xml create --block-size 64 --nr-cache-blocks 16384 --nr-mappings 16384 --dirty-percent 50 > metadata.xml
将缓存恢复至缓存设备
sudo cache_restore -i metadata.xml -o /dev/mapper/test-dev-260074
将脏数据写回数据设备
sudo cache_writeback --metadata-device /dev/mapper/test-dev-260074 --fast-device /dev/mapper/test-dev-693500 --origin-device /dev/mapper/test-dev-671419 --buffer-size-meg 16
Copying data: [==================================================] 100%
8126/8126 blocks successfully copied.
Updating metadata ... clearing dirty flag for block 0
clearing dirty flag for block 2
clearing dirty flag for block 3
clearing dirty flag for block 4
clearing dirty flag for block 5
clearing dirty flag for block 10
clearing dirty flag for block 12
...
clearing dirty flag for block 2539
clearing dirty flag for block 2540
clearing dirty flag for block 2543
clearing dirty flag for block 2545
attempt to write lock block 13 concurrently
echo $?
$> 1
我不知道为什么会失败,而且文档也没有说得很清楚。