查看块信息

lsblk

添加数据盘

make-bcache -B /dev/sdb

添加缓存盘

make-bcache -C /dev/nvme0n1

查看缓存盘的UUID

bcache-super-show /dev/nvme0n1

绑定缓存盘

echo "dcddc3f8-e1d4-4ecf-8510-67158a5e3958" >/sys/block/bcache0/bcache/attach

查看缓存状态

cat /sys/block/bcache0/bcache/state
  • no cache:该backing device没有attach任何caching device
  • clean:一切正常,缓存是干净的
  • dirty:一切正常,已启用回写,缓存是脏的
  • inconsistent:遇到问题,后台设备与缓存设备不同步

查看缓存数据量

cat /sys/block/bcache0/bcache/dirty_data

查看缓存模式

cat /sys/block/bcache0/bcache/cache_mode
  • (1)writeback回写策略:数据先写入到缓存磁盘,再等待系统将缓存磁盘数据刷到后端磁盘
  • (2)writethrough写通策略:数据会同时写入缓存磁盘和数据磁盘(默认是该模式)
  • (3)writearound直达策略:数据直接写入后端磁盘。

更改策略

echo writeback > /sys/block/bcache0/bcache/cache_mode

查看设备UUID

blkid /dev/bcache0

注销缓存盘

通过缓存盘的CACHE_SET_UUID,在/sys/fs/bcache/<cset.uuid>/unregister写入1,即可进行注销

echo 1 >/sys/fs/bcache/f2fc2a81-094f-4b20-8fc8-9da74c59007e/unregister

停用后端磁盘

echo 1 > /sys/block/sdb/bcache/stop

将cache数据刷到后端磁盘上面

echo 0 > /sys/block/bcache0/bcache/writeback_percent

清除磁盘(谨慎使用)

wipefs -a /dev/sdb