首页 > 代码库 > 关于bcache的一些事情
关于bcache的一些事情
最近因为工作的原因接触到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
本文出自 “HoustonWongのTech!” 博客,请务必保留此出处http://hzc989.blog.51cto.com/6678611/1909833
关于bcache的一些事情