bcache не работает как и ожидалось с ramdisk в качестве устройства кеширования

Если вам нужна запись cron:

0 * * * * my_script

, то я рекомендую вам придумать отдельное имя для вашей функции управления cron, например, "cron_mgmt", первым аргументом которой является SWITCH в операторе CASE:

cron_mgmt () {

    case $1 in
    add ) ... ;;
    list ) ...;;
    remove ) ...
    help ) ...
    * )  echo "You need help. Here it is"
         cron_mgmt help
         ;;
    esac
}   
1
17.02.2016, 11:18
1 ответ

некоторые устройства должны быть зарегистрированы для использования

после создания устройств кэширования с помощью

# make-bcache -B /dev/loop2 -C /dev/ram9 

вам необходимо зарегистрировать оба (по крайней мере, RAM-диск, однако, кольцевые устройства и жесткие диски, похоже, в большинстве случаев автоматически регистрируются )с помощью

# echo /dev/ram9 >/sys/fs/bcache/register

после этого должна появиться запись uuid в /sys/fs/bcache, и устройство должно быть автоматически подключено как видимое в

# cat /sys/block/bcache0/bcache/state 
clean

если вы делаете -кэширование кэша и резервного устройства отдельно с помощью

# make-bcache -B /dev/loop2
# make-bcache -C /dev/ram9

это не так, и даже после того, как вы зарегистрируете рам-диск, он будет говорить

# cat /sys/block/bcache0/bcache/state 
no-cache

хотя запись в /sys/fs/bcache будет отображаться:

# ls /sys/fs/bcache
f876ea9b-af2c-4b01-84ba-43a87d60501c  register  register_quiet

вам нужно прикрепить его с помощью

# echo f876ea9b-af2c-4b01-84ba-43a87d60501c >/sys/block/bcache0/bcache/attach
# cat /sys/block/bcache0/bcache/state 
clean

хитрая ловушка :после подключения к bcache вы не можете удалить петлевое устройство с помощью

# losetup -d /dev/loop2

это автоматически завершится ошибкой, даже если код выхода равен 0 (успех!)

вам нужно сначала отменить все с помощью

# echo 1 >/sys/block/bcache0/bcache/stop
# echo 1 >/sys/fs/bcache/f876ea9b-af2c-4b01-84ba-43a87d60501c/unregister
1
28.01.2020, 01:26

Теги

Похожие вопросы