您的位置:首页 > 运维架构 > Linux

关于bcache的一些事情

2017-03-23 23:17 736 查看
最近因为工作的原因接触到bcache缓存技术的一些皮毛,做个笔记备忘。
bcache是自3.10开始集成到Linux Kernel中去,后面更新了几个版本增加了一些功能。
另一个备用技术选项为facebook开创的flashcache。但是作者在github表示,基本不敢用。
This project is not actively maintained. Proceed at your own risk!
除了在Linux 3.10内核中提供支持以外,还有一个bcache-tools工具,用户可以定义缓存及需加速的设备。一旦BCache设备被格式化后准备使用了,该工具就会通过Sysfs文件向内核注册。不同于平时接触的工具有命令操作,bcache的操作都是往/sys/fs/文件传入配置

安装
Debian wheezy升到最新版,确认是3.16的内核,安装bcache-tools后,updateramfs后重启系统。此时如果还没有bcache设备,lsmod是查看不到bcache加载的,但是模块已能正常使用

#apt-get install initramfs-tools
#dpkg -i bcache-tools_1.0.8-2_amd64.deb
#update-initramfs -u
两种创建方法
backing 和 cache device一起

#make-bcache -B /dev/sdb /dev/sdc -C /dev/sda3

分别初始化(register)backing device和cache device(如果当前没有cache设备,但是后续又想添加的话建议使用这种方式)。创建了backing device之后就可以格式化、挂载使用了

#make-bcache -B /dev/sdb
#make-bcache -C /dev/sda3
使用这种方法的话,在后续需要添加手动将backing device attach到cache device才能最终使用到缓存。不然backing device就相当于运行于passthrough mode

我们可以通过/sys/fs或者/sys/block来管理bcache设备
/sys/block/bcache<N>/bcache
/sys/fs//bcache/<cset-uuid>/
初始化完两种设备后,需要attch才能真正启用bcache缓存
echo <CSET-UUID> > /sys/block/bcache0/bcache/attach
即使cache设备掉盘,可设置强制运行后端设备(注意使用writeback模式可能导致data loss):
echo 1 > /sys/block/sdb/bcache/running
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 缓存技术 bcache