linux 删除块设备节点,Linux下块设备缓存之Bcache使用(整理)

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 :选择此策略,数据将直接写入后端磁盘。

Write-misses写缺失(写入的数据不在缓存中)有两种处理方式:

Write allocate方式将写入位置读入缓存,然后采用write-hit(缓存命中写入)操作。写缺失操作与读缺失操作类似。

No-write allocate方式并不将写入位置读入缓存,而是直接将数据写入存储。这种方式下,只有读操作会被缓存。

无论是Write-through还是Write-back都可以使用写缺失的两种方式之一。只是通常Write-back采用Write allocate方式,而Write-through采用No-write allocate方式;因为多次写入同一缓存时,Write allocate配合Write-back可以提升性能;而对于Write-through则没有帮助。

处理流程图:

A Write-Through cache with No-Write Allocation:

linux 删除块设备节点,Linux下块设备缓存之Bcache使用(整理)_第1张图片

A Write-Back cache with Write Allocation:

linux 删除块设备节点,Linux下块设备缓存之Bcache使用(整理)_第2张图片

bcache-tools的安装与使用

使用Bcache,须安装bcache-tools,由于CentOS 7的源中没有bcache-tools,因此,需要手动下载源码包进行编译。bcache依赖libblkid-devel。

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

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

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

你可能感兴趣的:(linux,删除块设备节点)