linux清缓存命令多节点,Linux下块设备缓存之Bcache使用

title: Linux下块设备缓存之Bcache使用

date: 2017-11-09 20:30:00

tags: Linux,Bcache

由于项目需要,将原来的磁盘缓存方案由flashcache替换成Bcache,故针对Bcache作了一番了解。所以记录下学习成果,防止遗忘。文中所有的操作都基于CentOS 7环境,以下不再赘述。

Bcache简介

Bcache是Linux内核块设备层cache,支持多块HDD使用同一块SSD作为缓存盘。它让SSD作为HDD的缓存成为了可能。由于SSD价格昂贵,存储空间小,而HDD价格低廉,存储空间大,因此采用SSD作为缓存,HDD作为数据存储盘,既解决了SSD容量太小,又解决了HDD运行速度太慢的问题。

注:Bcache是从Linux-3.10开始正式并入内核主线的,因此,要使用Bcache,需要将内核升级到3.10及以上版本才行。

Bcache缓存策略

Bcache支持三种缓存策略,分别是:writeback、writethrough、writearoud,默认使用writethrough,缓存策略可动态修改。

writeback 回写策略:回写策略默认是关闭的,如果开启此策略,则所有的数据将先写入缓存盘,然后等待系统将数据回写入后端数据盘中。

writethrough 写通策略:默认的就是写通策略,此模式下,数据将会同时写入缓存盘和后端数据盘。

writearoud :选择此策略,数据将直接写入后端磁盘。

bcache-tools的安装与使用

bcache-tools的安装

要使用Bcache,必须安装bcache-tools工具包,由于CentOS 7的源中没有bcache-tools,因此,需要手动下载源码包进行编译。源码在这:bcache-tools,下载之后,需要安装libblkid-devel依赖包方可进行编译,通过以下命令即可安装:

yum install libblkid-devel

安装libblkid-devel包成功之后,直接编译bcache-tools安装即可。

bcache-tools的使用

使用磁盘作为Bcache磁盘前,请先确保磁盘是空的,或者磁盘中的数据无关紧要。如果磁盘中有文件系统,将会出现如下错误:

[root@localhost ~]# make-bcache -C /dev/sdc

Device /dev/sdc already has a non-bcache superblock, remove it using wipefs and wipefs -a

[root@localhost ~]#

此时,需要使用wipefs命令,擦除磁盘中的超级块中的数据,这将使得原磁盘中的数据无法继续使用,也无法进行还原,因此,使用此命令前,请确保磁盘中的数据已经备份。

擦除磁盘中的超级块信息:

[root@localhost ~]# wipefs -a /dev/sdc

/dev/sdc: 2 bytes were erased at offset 0x00000438 (ext4): 53 ef

[root@localhost ~]#

创建Bcache后端磁盘(HDD):

[root@localhost ~]# make-bcache -B /dev/sdb

UUID: 774756de-38e1-42dd-9fcc-5c363db7b319

Set UUID: 2edf6ef1-652d-4bb3-b5b3-663725a70ccd

你可能感兴趣的:(linux清缓存命令多节点)