适用场景
智能写Cache是在使用Bcache设备做为Ceph OSD的存储场景下,对其中的Ceph IO流程进行了优化,仅对采用BlueStore存储引擎的OSD有效,考虑到实际应用中Ceph集群中OSD的增加与修改操作,工具需要获取集群内的OSD信息,因此需要保证OSD部署路径使用官方默认路径“/var/lib/ceph/osd”,如果采用其他路径则不会进行优化。
Ceph存储场景介绍如下:
- 均衡型:集群采用SSD盘和HDD盘混合部署OSD,使用SSD盘存储OSD的元数据(DB)、日志数据(WAL),使用HDD盘存储真实数据(Data)。
- 全闪存:集群采用全SSD盘部署OSD,OSD的Data、DB、WAL一起存储在SSD盘中。
- 冷存储:集群采用全HDD盘部署OSD,OSD的Data、DB、WAL一起存储在HDD盘中。
- Bcache:将SSD与HDD绑定为一个Bcache分区,SSD做为HDD的缓存,集群采用Bcache分区部署OSD,OSD的Data存储在Bcache分区中,DB和WAL存放在单独的NVMe分区。
目前智能写Cache只对Bcache场景有效。
openEuler-20.03-LTS-SP1的内核默认为64K PAGESIZE,智能写Cache工具需要运行在4K PAGESIZE环境下。
为方便使用,本文提供两种方式供选择:
- 环境为64K PAGESIZE,需要重新编译替换整个内核,可以选择内核与bcache同时编译安装的方式,请参见“内核编译与安装”。
- 环境已为4K PAGESIZE(通过"getconf PAGESIZE"查询),仅需要安装替换bcache.ko时,可以选择单独编译bcache.ko安装的方式,请参见“Bcache编译与安装”。