查看块信息
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