Bcache简介
Bcache是Linux内核块设备层cache,支持多块HDD使用同一块SSD作为缓存盘。它让SSD作为HDD的缓存成为了可能。由于SSD价格昂贵,存储空间小,而HDD价格低廉,存储空间大,因此采用SSD作为缓存,HDD作为数据存储盘,既解决了SSD容量太小,又解决了HDD运行速度太慢的问题。
检查
是否存在于内核中:检查/sys/fs/bcache目录是否存在,没有说明内核中没有bcache
是否以内核模块方式存在:检查/lib/modules/<$version>/kernel/drivers/md/bcache目录是否存,不存在则说明没有bcache内核模块
以上两步检查完如果都没有,则说明内核中没有配置编译bcache,需要自己配置编译新的内核(下载内核时需要注意版本,Bcache是从Linux-3.10开始正式并入内核主线的,因此,要使用Bcache,需要将内核升级到3.10及以上版本才行。)
Bcache缓存策略
Bcache支持三种缓存策略,分别是:writeback、writethrough、writearoud,默认使用writethrough,缓存策略可动态修改。
writeback 回写策略:回写策略默认是关闭的,如果开启此策略,则所有的数据将先写入缓存盘,然后等待系统将数据回写入后端数据盘中。
writethrough 写通策略:默认的就是写通策略,此模式下,数据将会同时写入缓存盘和后端数据盘。
writearoud:选择此策略,数据将直接写入后端磁盘。
一般情况下,writeback写性能要由于后两者,为了提高写的性能,需要修改缓存模式为写回
echo writeback > /sys/block/bcache0/bcache/cache_mode
bcache-tools的安装与使用
bcache-tools的安装
要使用Bcache,必须安装bcache-tools工具包,由于CentOS 7的源中没有bcache-tools,因此,需要手动下载源码包进行编译。源码在这:bcache-tools,下载之后,需要安装libblkid-devel依赖包方可进行编译,通过以下命令即可安装:
yum install libblkid-devel
编译安装
获取bcache-tools工具(以下两个网址任选其一)
git clone http://evilpiepirate.org/git/bcache-tools.git
git clone https://github.com/g2p/bcache-tools.git
安装前需要两个依赖包pkg-config和libblkid-dev
yum -y install pkg-config libblkid-dev
编译安装bcache-tools
make
makeinstall