首发 | FOSS分布式全闪对象存储系统白皮书

2023-11-02 08:21

本文主要是介绍首发 | FOSS分布式全闪对象存储系统白皮书,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 产品概述

1. 当前存储的挑战  

随着云计算、物联网、5G、大数据、人工智能等新技术的飞速发展,数据呈现爆发式增长,预计到2025年中国数据量将增长到48.6ZB,超过80%为非结构化数据。

同时,数字经济正在成为我国经济发展的新引擎,数据已经成为企业的核心生产要素,数据即价值。新技术新应用不断产生急剧增长的海量数据,数据的价值越来越高,对存储系统的可靠性、安全性、可用性、性能、成本、运维的要求也越来越高,给存储系统提出了巨大的挑战:

图片

以上挑战和刚需说明,新一代存储系统不光要面向传统的数据可靠性、服务可用性、性能等维度,超大存储量、长期存储经济性、系统水平线性扩展性、可交付的运维等维度成为新的重点。

这驱使新一代存储系统必然走向规模化、集成化、存算分离的分布式scale-out云存储架构,提供可交付的简洁易用的运维平台,让客户自己负责运维,安心使用。

2. FOSS的特点  

大道云行对象存储FOSS,是采用先进的分布式全闪架构的信创云存储系统,设计为超大规模数据长期、可靠、绿色节能、高性能存取。

FOSS适用于包括广电媒资、备份归档、远程容灾、视频监控、人工智能、大数据分析、数据湖等大规模非结构化数据存取应用场景,特别是数据量大、吞吐高,成本敏感的需求。

FOSS特点详解

Share Everything架构 

存储后端网络share everything架构,支持NVMe-oF,支持分布式无状态微服务安全访问存储。

信创存储 

全自主知识产权国产分布式全闪存储软件和国产闪存的结合。

全闪架构,超高性能,数据量,性能的水平线性扩展 

亚毫秒级延迟,单zone-百PB级空间,百GB级吞吐,百万级IOPS。

绿色节能 

节能调度算法使得多数SSD的大部分时间处于低功耗状态(单片SSD<0.5w)。

全闪优化设计使得SSD使用时间长,成本低 

数据按时间聚合,采用全域GC和磨损平衡等设计,极大降低SSD写放大,提高SSD使用寿命。实现大尺度QLC SSD的高密度使用,降低单位成本。

长期可靠

数据静默错误保护;智能化的介质和数据的巡检、健康扫描、Rebuild恢复。

对数据和介质长期可靠做了慎密的数据保护、监测、扫描、恢复、迁移等运维规划。

3. FOSS的核心能力  

在线数据的性能和延迟,离线数据的规模和成本。

使用FOSS,意味着客户可以将大部分数据以离线数据的成本保存到在线系统,数据长久在线。

二、 产品架构

1. 网络架构  

图片

系统采用扁平的二层网络,易于部署和管理,支持对存储集群节点进行分组,支持跨组数据互访。

  • 业务网

业务网可以是IP/IB/RoCE;

每组业务网的计算节点都互通。

  • 存储后端网

存储后端网可以是IP/IB/RoCE;

存储后端网支持按分组进行扩展,不同分组之间存储网不通,可以通过业务网进行转发;

分组设计有利于存储网络简单的水平扩展,而不增加组网的复杂度。

一个zone规模的上限,取决于业务网的规模,即计算节点总数;存储网可任意水平扩展,但总规模会受限于连接存储网的计算节点总数。

一般的,一个zone支持100GB的业务网,200个计算节点,20个存储网分组(每分组10P存储空间);则整个zone支持100GB带宽,200PB存储空间。

2. 软件架构  

图片

协议层

对外提供s3服务和nas服务。

缓存层 

数据分片通过读缓存层降低延迟,满足低读延迟的场景需求。

开放介质存储层 

-- volume

开放介质存储(OpenMediaStorage - OMS)层将块设备(disk)的trunk封装为跨节点的、冗余算法(纠删/副本)保护的volume,提供volume的装配、分配和读写接口。

OMS层开放式的直接存取disk,支持:主机Local_disk、SAS/NVMe-oF enclosure disk、块存储系统的LUN(FC/iSCSI/NVMe-oF)。

-- volume_group

volume按分组进行管理、调度和使用。分组用于支持多租户。

volume_group由调度器和node集群组成。

-- node

node代表了挂载的disk的集合,对应实体存储节点主机disk组,或NVMe-oF 盘柜disk组,或块存储划分的Lun组。

node作为disk的IO控制器,提供发现、挂载、访问disk的接口。

-- 调度器负责volume装配和分配

装配:

- 按node类型树进行类型分组

- 按空间平衡+擦写次数平衡选择node

分配:

- 按类型聚合

- 数据分片MVCC+基于租约的volume_range保护机制

元数据 

mds集群提供分布式元数据服务,支持最终一致性事务,在线线性扩展。

任务层 

包含GC、Disk_Rebuild、数据迁移、数据均衡、数据/介质健康扫描、生命周期、配额、计量归并等任务。

任务通过管理器Task_mgr,分发到Task_agent分布式并行执行。

task_mgr进行任务策略配置、调度、资源使用控制。

Service_mgr 

服务部署、升级、配置,单例服务故障转移,集群服务扩展等。

三、产品特性

1. 分布式元数据  

很多存储系统采用无元数据服务架构,比如一致性Hash。无元数据服务架构在超大规模分布式系统中存在许多缺点:

  • 无法在统一的逻辑上管理元数据,不支持事务,会导致很多一致性问题。

  • 没有元数据的范围查询能力,查询范围会放大到整个集群,导致海量对象场景下元数据列举开销大性能差。

  • rebalance过程复杂,要扫描所有需rebalance的数据进行处理并完成状态转换,且网络故障、节点临时离线和永久离线等会进一步增加rebalance复杂度。

FOSS采用分布式元数据服务架构:

  • 元数据服务线性平滑,网络故障和节点故障不影响服务的可用性

  • 元数据三副本冗余

  • 支持热点消除(主键单调递增的元数据,采用shard_bit打散)

  • 支持高性能的事务聚合批处理(batch和scan)

  • 低延迟(亚毫秒级)

依靠分布式元数据服务,FOSS简洁高效的实现了单桶无限数量对象、快速对象列举、volume调度、全域GC和磨损平衡等高级功能。

2. 存储冷热分层  

FOSS存储分层设计的主旨,是为了同时满足超高性能和超大容量需求。FOSS的数据存储包括2层:

(热)高性能层 

- 热volume_group

- 读缓存集群

高性能层满足要求极低延迟的高性能场景。高并发写入通过写请求聚合提高IOPS;小文件的低延迟读取,通过热数据读缓存优化。

通常,变冷的数据会迁移到大容量层。只需要高性能层的特例客户,也可以独立使用高性能层,不部署大容量层。

(冷)大容量层

- 冷volume_group

大容量层必须依赖高性能层存在。tier_migrate任务将高性能层的数据批量迁移到冷volume 。

批量迁移采用顺序大IO写入,使大尺度SSD可以得到优化使用。

3. 资源多租户  

S3服务资源多租户 

通过service_mgr配置租户独占的S3服务资源,为特定租户建立专属的s3_serv_group 。

通过service_mgr配置s3_serv_group和volume_group的映射关系。

存储资源多租户

bucket可以代表租户的分类存储空间,多租户的空间管理通过bucket的存储策略进行。

支持设置bucket的数据放置策略(对应的volume_group),比如可指定bucket放置到特定性能分类(SSD|HDD)的volume 。

4. 优秀的扩展性  

FOSS支持容量和性能的横向线性扩展,元数据的横向线性扩展,通过分布式元数据服务mds实现:

  • mds_kv集群的扩展

    mds_kv采用全局字典序range方式进行key的sharding;支持在线增加kv节点,IOPS随kv节点个数线性增长。

  • mds事务服务集群的扩展

    mds事务服务集群,采用配置订阅方式扩展;支持在线增加事务服务,IOPS随事务服务个数线性增长。

数据存储的横向线性扩展,通过开放介质存储(OpenMediaStorage-OMS)层实现:

  • 存算分离的架构下,数据存储的横向扩展简化为存储后端网的横向扩展。

  • 存储后端网按分组进行水平扩展,每个分组后端网独立组网,扩展简单。

    增加volume_group中node,即增加了分组的存储量和IOPS;当volume_group内的扩展到达上限后,可以通过新建volume_group进行扩展。

5. 绿色节能  

FOSS通过数据写入volume分配算法和分类聚合算法,实现(冷)数据层的disk节能。

 volume分配算法

数据写入分配volume时,在满足性能吞吐需求的条件下,一段时间内分配的volume使用尽量少的同一批disk。(其他disk这段时间处于节能状态,存储规模越大,节能比例越高)

 分类聚合算法

应用按时间批量读取数据的时候,因为应用写入数据按时间聚合,读关联的disk和写入时是相同的,同样只是少数的一批disk。

四、产品愿景

以全闪绿色节能信创存储的创新技术:

为客户提供自运维的私有云存储,应存尽存;

在企业存储领域促进国产SSD对进口HDD的替代;

作为智能云平台的存储底座,助力数据处理的智能化,发掘数据的真正价值。

《FOSS全闪对象存储技术白皮书》详见官网大道云行 TaoCloud - 新一代全闪软件定义存储领导者 (taocloudx.com)

这篇关于首发 | FOSS分布式全闪对象存储系统白皮书的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/329327

相关文章

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

java如何分布式锁实现和选型

《java如何分布式锁实现和选型》文章介绍了分布式锁的重要性以及在分布式系统中常见的问题和需求,它详细阐述了如何使用分布式锁来确保数据的一致性和系统的高可用性,文章还提供了基于数据库、Redis和Zo... 目录引言:分布式锁的重要性与分布式系统中的常见问题和需求分布式锁的重要性分布式系统中常见的问题和需求

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

Redis分布式锁使用及说明

《Redis分布式锁使用及说明》本文总结了Redis和Zookeeper在高可用性和高一致性场景下的应用,并详细介绍了Redis的分布式锁实现方式,包括使用Lua脚本和续期机制,最后,提到了RedLo... 目录Redis分布式锁加锁方式怎么会解错锁?举个小案例吧解锁方式续期总结Redis分布式锁如果追求

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

黑神话,XSKY 星飞全闪单卷性能突破310万

当下,云计算仍然是企业主要的基础架构,随着关键业务的逐步虚拟化和云化,对于块存储的性能要求也日益提高。企业对于低延迟、高稳定性的存储解决方案的需求日益迫切。为了满足这些日益增长的 IO 密集型应用场景,众多云服务提供商正在不断推陈出新,推出具有更低时延和更高 IOPS 性能的云硬盘产品。 8 月 22 日 2024 DTCC 大会上(第十五届中国数据库技术大会),XSKY星辰天合正式公布了基于星

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看