杉岩统一存储推出SandStone AgileStore高性能引擎

/ 2018-08-16

众所周知,分布式存储是将服务器本地的磁盘资源通过网络组织起来,构建一个统一的存储资源池。在分布式存储系统中,如何利用好磁盘资源及网络资源对于整个分布式系统的性能发挥至关重要。

 

在基于Ceph架构的分布式存储集群中,针对每个物理磁盘,都会启动一个独立的进程OSD(object storage daemon)来处理通过网络转发过来的IO请求及数据最终的持久化。其中,ObjectStore模块位于OSD的最底层,是专门用于管理硬盘上数据的专用存储后端,是IO路径的“最后一公里”。

 

WechatIMG779.jpeg

Ceph架构当前的应对方法与难点

一直以来,Ceph默认的ObjectStore后端都是FileStore,它依赖于标准的本地文件系统,将底层对象直接保存为文件系统中的一个个文件,而且FileJournal的引入直接导致写入放大,这些都造成了性能缺陷,同时,由于本地文件系统这一层较为厚重的“屏障”,割裂了Ceph OSD与底层硬盘硬件,使存储感知硬件的能力大大降低。

WechatIMG780.jpeg

BlueStore的出现在一定程度上解决了FileStore的上述问题,它直接管理硬盘设备,去除FileJournal,解决了写放大问题,自行管理硬盘的每一块空间,store元数据以kv的形式保存在RocksDB数据库中。但是BlueStore自身仍然存在空间管理碎片化问题,尤其是使用大容量盘时,长时间运行后对于大范围的随机IO响应较慢,导致严重的性能瓶颈。

WechatIMG781.jpeg


全自主研发,杉岩首推高性能引擎SandStone AgileStore

因此,开篇提及的“最后一公里”至关重要,如果处理不好,很容易成为整个系统的性能短板。杉岩分布式统一存储平台(SandStone USP)中的ObjectStore支持多种后端,可以通过插件的方式进行选择管理,目前兼容Ceph的FileStore、BlueStore。

 

经过一年的开发,SandStone USP v3.1版本重磅出炉,杉岩数据在此版本上推出高性能的ObjectStore,即SandStone AgileStore,数据端到端的处理性能相比使用FileStore的SandStone USP v2.0版本提高40%以上,同时可靠性大大增强,为IO路径的“最后一公里”带来极速体验。

WechatIMG782.jpeg


 

究其优势,主要展现在如下三方面:

1、性能提升

SandStone AgileStore解决了FileStore与BlueStore存在的问题,采用更加先进的空间管理方式,数据和元数据可全部自行管理,不依赖XFS或RocksDB等第三方组件,提高数据和元数据的写入性能,轻松应对大容量盘长时间随机IO带来的空间碎片问题。

 

2、硬件感知

传统磁盘长时间工作后经常会报告一些SCSI硬件错误(如:Unrecovered read error),而这些错误不会体现在SMART信息中,用户无法通过硬盘健康检查等Routine程序检测到。而SandStone AgileStore可直接管理裸盘硬件,同时运用杉岩申请的独家专利技术(一种基于SCSI设备的容错方法及系统,专利号:CN105975358A)对这些错误进行高效的处理,可直接在IO路径上及时发现并修复硬盘错误,增强磁盘的可靠性。

 

3、应用感知

SandStone AgileCache是杉岩自主研发的SSD高速缓存,在系统软件栈上位于SandStone AgileStore的下方,通过AgileStore与AgileCache的联动,SandStone USP v3.1可以感知逻辑卷的优先级,将用户卷划分为高、中、低三个优先级,实现高优先级的卷全部缓存在SSD中,中优先级的卷只有部分热点数据缓存在SSD,较冷的数据全部保存在HDD中,通过应用优先级感知实现IO智能化管理。

 

SandStone AgileStore对企业用户的价值

基于SandStone AgileStore推出的杉岩统一存储平台(SandStone USP) v3.1版本,整体性能对比上个版本提升40%以上,同时支持更丰富的高级企业级存储特性,如:自动精简配置、ROW无损快照、数据压缩等等,对下感知硬件、对上感知应用,在性能大幅提升的同时,可靠性和智能化对比原生Ceph都有明显提高,是真正可商用的高性能企业级分布式存储产品。

 

当下,随着大容量HDD和SSD的普及,使用2U12盘位的服务器满配12TB的硬盘,只需要7台服务器就可以达到1PB的裸容量,单节点容量密度的增加对每个OSD的处理能力提出了严峻挑战,SandStone USP v3.1版本依靠独有的SandStone  AgileStore 和 SandStone  AgileCache 技术,能够帮助用户从容应对此种场景,在不增加CPU及内存资源额外消耗的前提下,轻松应对容量密集型集群的“最后一公里”问题,无惧业务长时间以各种变化的IO模型运行带来的问题,节省用户硬件投资成本,保障核心应用体验。