Я использую 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
Я не знаю, почему это не удается, и в документе не очень четко сказано.