【大咖专栏】Ceph高性能存储:Bcache介绍与使用

新钛云服已为您服务1048天大咖专栏什么是Bcache?HDD一般具有较大的容量,并且可以实现良好的顺序读和写操作,但是在随机写和读时非常慢,因此它们的IOPS级别较低;SSD具有非常好的...
摘要由CSDN通过智能技术生成



新钛云服已为您服务1048


大咖专栏

什么是Bcache?

HDD一般具有较大的容量,并且可以实现良好的顺序读和写操作,但是在随机写和读时非常慢,因此它们的IOPS级别较低;SSD具有非常好的整体性能,尤其是较高的IOPS,因此随机写入和读取要比HDD更好,但是它们的容量却很小。

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

如今,一些SSD的顺序读写性能也比单个HDD盘要好,但无法与某些SAS的RAID进行比较。尽管如此,SSD在随机IO中表现仍然会更好。有一个可配置选项允许bcache也可以缓存顺序的读写。

将来,将有可能在缓存设备上使用raid机制,以提高可靠性和性能。另外也可以通过与lvm的结合,提高容量与扩展性

Bcache缓存模式

“writeback”:

  • 最高性能的缓存模式。

  • 写入设备的数据首先写入ssd,然后异步复制到后端设备,在SSD上复制结束时,写入就被视为完成。为了安全起见,此处的机制始终确保在将数据完全写入后端设备(脏页)之前,不认为任何数据是安全的,因此,如果在SSD上仍存在数据时断电,则在下次启动时,数据将被推回支撑设备。这是使bcache能够和软件Linux Raid与具有BBU的硬件Raid设备一样安全。

“writethrough”:

  • 安全缓存模式。

  • 写入设备的数据将同时复制到ssd和HDD上,在HDD写入结束时,写入才被视为完成。因此,这往往比“writeback”更为安全,但缺乏一些性能。

“writearound”:

  • 只读缓存模式。

  • 写入设备的数据直接进入HDD,而根本不写入SSD,因此不会对写有任何性能提升。第一次读取此数据时,将从HDD中读取该数据。这样做的好处是有更多空间用于缓存读取,并减少了SSD的磨损。

“none” :

  • 停用缓存功能(但/dev/bcache设备仍然可用)

所有这些caching_modes都可以在运行时进行修改。通过以下的命令可以知道当前的缓存模式:

sudo cat /sys/block/bcache0/bcache/cache_mode 
writethrough [writeback] writearound none

更改cache_mode:

sudo su - -c 'echo writethrough > /sys/block/bcache0/bcache/cache_mode' 
sudo cat /sys/block/bcache0/bcache/cache_mode 
[writethrough] writeback writearound none

使用Bcache

Bcache可以在普通设备上使用,也可以在设备分区上使用。在本文中,我们将仅使用普通设备。

bcache需要的配置:

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

  • 固态硬盘

  • 普通hdd硬盘

如果您使用的是Ubuntu 20.04,则可以如下进行测试。

系统更新,软件包安装:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install bcache-tools

确认每块磁盘的用途:

  • 系统将位于/dev/sda

  • hdd硬盘(称为后端设备)将为/dev/sdb

  • ssd(称为缓存设备)将为/dev/sdc。

在配置缓存之前,我们需要清理磁盘上的所有数据。

我们使用dd命令将磁盘的前4kB置0:

sudo dd if=/dev/zero if=/dev/sdb bs=512 count=8
sudo dd if=/dev/zero if=/dev/sdc bs=512 count=8
wipefs -a /dev/sdb
wipefs -a /dev/sdc

现在您可以创建bcache了:

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

您还可以设置一些配置标志,即:

make-bcache -C /d
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值