2022年ONEStor分布式存储系统介绍 .pdf
《2022年ONEStor分布式存储系统介绍 .pdf》由会员分享,可在线阅读,更多相关《2022年ONEStor分布式存储系统介绍 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、金信润天官方网站: ONEStor分布式存储系统介绍关于 ONEStor 分布式存储系统介绍,小编已在金信润天Get 到了部分资料,整理出以下内容:技术特点H3C ONEStor 存储系统采用分布式设计,可以运行在通用x86 服务器上,在部署该软件时,会把所有服务器的本地硬盘组织成一个虚拟存储资源池,对上层应用提供块存储功能。H3C ONEStor 分布式存储软件系统具有如下特点:领先的分布式架构H3C ONEStor 存储软件的采用全分布式的架构:分布式管理集群, 分布式哈希数据分布算法,分布式无状态客户端、 分布式 Cache等,这种架构为存储系统的可靠性、可用性、自动运维、高性能等方面提
2、供了有力保证。其系统架构组成如下图所示:上图中, ONEStor逻辑上可分为三部分:OSD 、Monitor 、Client 。在实际部署中,这些逻辑组件可灵活部署, 也就是说既可以部署在相同的物理服务器上,也可以根据性能和可靠性等方面的考虑,部署在不同的硬件设备上。下面对每一部分作一简要说明。OSD :Object-based Storage Device 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 金信润天官方网站:
3、OSD由系统部分和守护进程(OSD deamon )两部分组成。OSD系统部分可看作安装了操作系统和文件系统的计算机,其硬件部分包括处理器、内存、 硬盘以及网卡等。守护进程即运行在内存中的程序。在实际应用中,通常将每块硬盘(SSD或 HDD )对应一个OSD ,并将其视为 OSD的硬盘部分,其余处理器、内存、网卡等在多个OSD之间进行复用。ONEStor存储集群中的用户都保存在这些OSD中。 OSD deamon负责完成 OSD 的所有逻辑功能, 包括与 monitor和其他 OSD (事实上是其他OSD的 deamon )通信以维护更新系统状态,与其他 OSD共同完成数据的存储和维护,与cl
4、ient通信完成各种数据对象操作等等。Monitor :Monitor是集群监控节点。Monitor持有 cluster map信息。所谓Cluster Map,粗略的说就是关于集群本身的逻辑状态和存储策略的数据表示。 ONEStor Cluster Map包括 Monitor map 、 osd map 、 pg map 、 crush map等, 这些 map构成了集群的元数据。总之,可以认为 Monitor持有存储集群的一些控制信息,并且这些map信息是轻量级的,只有在集群的物理设备(如主机、硬盘)和存储策略发生变化时map信息才发生改变。Client:这里的 Client可以看出外部系
5、统获取存储服务的网关设备。client通过与 OSD 或者 Monitor的交互获取cluster map ,然后直接在本地进行计算,得出数据的存储位置后,便直接与对应的 OSD通信, 完成数据的各种操作。 在此过程中, 客户端可以不依赖于任何元数据服务器,不进行任何查表操作,便完成数据访问流程。这一点正是ONEStor分布式存储系统可以实现扩展性的重要保证。客户的数据到达Client后,如何存储到OSD上,其过程大致如下图所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页
6、,共 14 页 - - - - - - - - - 金信润天官方网站: 首先对上图中的一些名词进行简要描述:File :此处的file是对用户或者应用而言的,指用户或者应用需要存储或者访问的文件。如果将 ONEStor作为对象存储的后端,这个file也就对应于应用中的“对象”,也就是用户直接操作的“对象”。Object :此处的 object是 ONEStor内部定义的“对象”。object的大小用户可以自行配置(在配置文件中设置,通常为2MB或 4MB )。当上层应用向ONEStor 集群存入size 较大的file时,需要将file切分成统一大小的一系列 object(最后一个的大小可以不
7、同)进行存储。为避免混淆,在本文中将尽量避免使用中文的“对象”这一名词,而直接使用file或 object进行说明。PG :( Placement Group ) PG是一个逻辑概念,其作用是对object的存储进行组织和位置映射。这样便在object和 osd 之间提供一个中间映射层,即 object-pg-osd。某个 object通过算法映射到某个确定的pg,这个 pg 再通过某种算法映射到一组确定的osd(其个数和副本或纠删码配置有关,具体见后面章节描述)。从数量上看,一般object数量远大与pg数量, pg 数量(一般比osd 大两个数量级)远大于osd 数量。 PG的概念类似于一
8、致性哈希算法中的虚拟节点,引入PG后,可以在总体上大大减少每个osd 相关的元数据的数量。下面对上图中的寻址流程进行简要说明。1, File-Object映射:( ino,ono )-oid 这个映射比较简单,就是将用户要操作的file,映射为 ONEStor 能够处理的object 。其本名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - 金信润天官方网站: 质就是按照配置文件定义的object大小对 file进行切分,相当于R
9、AID 中的条带化过程。这种切分的好处有二:一是让大小不限的file变成 size 一致、可以被存储集群高效管理的object ;二是让对单一file实施的串行处理变为对多个object实施的并行化处理,以提高读写性能。对于要操作的File ,Client将会从 Monitor获得全局唯一的inode number ,即 ino 。File切分后产生的object将获得唯一(在File的范围内)的object number,即 ono。Ono的编号从 0 开始,依次累加。oid 就是将 ono 连缀在 ino 之后得到的。容易看出,由于ino 的全局唯一性(通过Monitor获得), oid
10、同样具备全局唯一性。2, Object - PG映射在 file被映射为一个或多个object 之后,就需要将每个object独立地映射到一个PG中去。这个映射过程也很简单,其计算公式是:hash(oid) & mask - pgid 或者更加明显的表示成:hash(oid) mod (pgno) - pgid 上式中, pgno 表示配置的pg 数量,一般为2 的整数次幂。整个计算由两步组成。首先是使用 ONEStor系统指定的一个特定的哈希函数计算oid 的哈希值(这个值将具备近似均匀分布的特性)。然后,将这个伪随机值对pgno 取模,就得到了pgid 。这样, pgid 的取值范围是从
11、0 到 pgno-1 。由哈希函数的伪随机特性,容易想见,大量的oid 将近似均匀地映射到不同的 pgid 上。3, PG - OSD 映射第三次映射就是将作为object的逻辑组织单元的PG通过 CRUSH 算法映射到一组OSD 集合。集合中具体的OSD个数一般为数据副本的个数。比如,用户配置了3 副本,那么每个pg 将映射到 3 个 osd。多副本可以大大提高数据的可靠性(具体可见后面相关章节的说明)。相比于“object - PG”映射过程,CRUSH 算法要复杂的多。通常情况下,一个好的分布式算法至少满足如下的要求:1,数据的放置位置是Client计算出来的,而不是向Server 查出
12、来的2,数据在存储体上满足概率均匀分布3,存储体动态变化时数据重分布时引入的数据迁移量达到最优或者次优除了这 3 点基本要求外,一个好的算法还应该满足: 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 金信润天官方网站: 4,可以基于指定的策略放置副本: 用于故障域隔离或其它要求5,在存储体引入权“weight ”的概念 , 以便对磁盘容量/ 速度等进行区分CRUSH 算法是 ONEStor的核心算法,完全满足上面提到的5 点
13、要求,限于篇幅,此处不对算法本身进行描述。当系统中的OSD 状态、数量发生变化时,cluster map亦随之变化,而这种变化将会影响到PG与 OSD 之间的映射,从而使数据重新再OSD之间分布。由此可见, 任何组件, 只要拥有 cluster map , 都可以独立计算出每个object所在的位置 ( 去中心化 ) 。而对于cluster map,只有当删除添加设备或设备故障时,这些元数据才需要更新,更新的cluster map会及时更新给client和 OSD ,以便 client和 OSD 重新计算数据的存储位置。1.自动化运维自动化运维主要体现在如下几个方面:(1)存储集群快速部署,包
14、括批量部署、单节点增减、单磁盘增减等。(2)设置监控报警系统,发生故障时能快速界定问题、排查故障。(3)根据硬件能力,灵活地对集群中的节点进行灵活配置。(4)允许用户定制数据分布策略,方便地进行故障域隔离,以及对数据存储位置进行灵活选择。(5)在增删存储介质,或存储介质发生故障时,自动进行数据均衡。保证集群数据的高可用性。(6) 在系统平衡数据(例如系统扩容或者存储节点、磁盘发生故障)的过程中,为保证用户 IO,ONEStor 存储系统支持IO 优先级控制和Qos保证能力。对于( 1)( 2)两点,详见“ONEStor 管理系统”章节,在此不再赘述。对于( 3),ONEStor 系统可以根据用
15、户需求灵活地部署Monitor节点和 Client节点。一方面,这些节点既可以部署在单独的物理服务器上,也可以部署在和OSD相同的物理节点上。另一方面, Monitor和 Client的节点可以根据用户的需求灵活地调整。比如为了可靠性保证,至少需要部署3 个 Monitor节点;为了保证对象存储网关的性能,需要部署过个RGW(Client)节点。对于( 4),用户的需求主要体现在存储策略上,比如在选用副本策略时,用户可能希望不名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共
16、 14 页 - - - - - - - - - 金信润天官方网站: 同数据副本存储在不同机架上面的主机上;或者主副本存储在某个机架的主机上,其它副本存储在另外机架的主机上;或者主副本存储在SSD上,其它副本存储在HDD上。诸如此类等等。这些需要都可以通过配置cluster map中的 rule set进行灵活地配置。对于( 5),在增删存储介质,或存储介质发生故障时,系统会及时进行检测。比如,在磁盘发生故障时, ONEStor 会利用损坏数据在其他存储体上的副本进行复制,并将复制的数据保存在健康的存储体上;在增加磁盘时, 同样会把其他存储体的数据安排容量比例重新分布到新磁盘,使集群的数据达到均
17、衡。在上述过程中,完全不需要人工干预。对于(6),我们知道, 在系统扩容或者存储节点、磁盘故障过程中,为保证数据的可靠性,系统会自动进行数据平衡。为了尽快完成数据平衡,往往会沾满每个存储节点的带宽和IO能力,这样做的好处是会使平衡时间最短,坏处是此时前端用户的IO 请求会得不到满足。在某些业务场景下,这时用户无法接受的。为此, ONEStor存储系统实现了IO 优先级和Qos控制机制,可以对前端用户网络流量和后端存储网络流量进行控制,保证一定比例的用户IO 得到满足。2. 线性扩展能力所谓线性扩展能力, 主要体现在两个方面: 一个是集群部署规模可以线性扩展,另一个方面,随集群规模的扩展,其性能
18、要能够线性或近似线性扩展。在规模上, 传统存储之所以在扩展能力上受限,一个很重要的原因就是一般其采用集中式控制,并且在控制节点存储大量的元数据信息,从而使控制节点容易成为系统的瓶颈。对于ONEStor 系统,如上一章节所述,Client节点通过 cluster map ,可以直接计算出数据的存储位置,从而对 OSD进行直接读写, 完全是分布式并行的; 而其元数据, 也就是 cluster map ,是轻量级数据,而且其更新的频率相对而言也是较低的。这种架构就在理论上保证了ONEStor 具备线性扩展能力。当然,除了集群架构和元数据的设计之外,ONEStor 在缓存设计,节点数据迁移方式等方面同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年ONEStor分布式存储系统介绍 2022 ONEStor 分布式 存储系统 介绍
限制150内