OceanStor 9000大数据存储系统技术白皮书 4 软件特性
数据可靠性的精细化管理
OceanStor 9000大数据存储系统,提供目录级的数据保护方式配置,并且支持目录与此目录下的子目录的不同配置。在实际使用中,用户可以针对目录甚至整系统做基础配置,然后针对系统中的关键目录设定较高的冗余比。这样在解决关键数据可靠性问题的同时有效保护了用户的投资。
针对小文件的优化
OceanStor 9000大数据存储系统专门针对小文件存储进行了优化。可以对小文件所在的文件夹配置条带大小为16KB,从而提高空间利用率。
融合架构下一致的数据保护
OceanStor 9000大数据存储系统,以集群对象存储系统为基础,在这个基础上,进一步实现多种存储服务的融合。由于OceanStor 9000系统的数据可靠性是建立在对象存储系统之上的,因此可以为不同的数据存储服务提供一致的数据保护方式,简化用户的管理。
4.2.4 客户价值
典型应用场景
在媒资数据管理场景中,系统需要保存大量的视频、音频、文档等素材数据。用户可使用OceanStor 9000的Capacity node搭建起PB级甚至几十PB规模的集群系统,对重要素材配置+3甚至+4的高可靠的数据保护方式。这样,只需要单一集群即可提供永久的数据保护和不间断的数据服务。
在在线数据业务处理的场景中,如视频点播系统,用户可使用OceanStor 9000的Performance node搭建小规模集群,配置+1的数据保护,可在保证可靠性的前提下,减少硬件的投入。
在复杂的场景下,用户仍可使用一套OceanStor 9000系统,满足不同数据的不同保护需求的同时,最大程度的提高存储利用率。如,对业务处理中产生的中间过程数据使用+1的保护方式,对普通的数据采用+2的保护方式,对重要数据采用+3甚至+4的保护方式。
客户价值
OceanStor 9000系统提供从+1到+4等多种级别的数据保护方式,可以支持针对1个到4个节点故障的数据保护,在小容量场景下支持针对1块到4块硬盘的故障的数据保护,基本覆盖了用户各种使用场景的可靠性需求。
OceanStor 9000系统提供的数据保护方式,将用户从繁琐的硬盘管理中解放出来。系统中任意硬盘发生故障,系统都可以进行自恢复,不需要配置“热备盘”。用户只需要聚焦于业务,根据数据的类型选择相应的保护方式即可。
文档版本 01 (2015-06-27)
华为专有和保密信息 版权所有 ?
华为技术有限公司
17
OceanStor 9000大数据存储系统技术白皮书 4 软件特性
OceanStor 9000系统提供灵活的数据保护配置策略,可以在一套系统中提供多种数据保护方式。这样一套系统即可满足各种需求,不仅降低了硬件成本,而且减少了管理、维护费用。
此外,OceanStor 9000系统的高可靠性,还同时伴随了服务的高可用性,用户甚至不用担心业务中断,从而免去了建立本地备份系统的成本。
4.3 全局缓存
4.3.1 技术背景
随着计算机技术、网络技术及人类生活信息化的发展,人们对存储系统的存储容量、存储性能的要求越来越高,存储系统由原来的计算机自带存储器发展到后来的存储阵列和网络存储(NAS)等独立存储存储系统,再到当前大型的高并发的分布式存储技术。
随着高清超高清视频监控、3D电影电视的出现和发展,视频在线编辑、高性能计算等应用对存储系统的访问性能提出了更具挑战性要求。
当前在SAN或NAS存储系统中,每个存储服务器上的缓存空间都是独立的,每个存储服务器只能访问缓存在本节点上的数据,造成不同的存储服务器上缓存相同的数据,这样就导致内存利用率低,无法充分发挥缓存的优势等问题。
OceanStor DFS中的Global Cache使所有存储服务器上的内存空间在逻辑组成一个统一内存资源池,缓存在任何一个存储服务器上的数据,在后续其它任何存储服务器接收到访问该数据请求时都可以在全局缓存中命中,同时所有用户数据在整个集群系统中只缓存一份(校验数据不缓存)。
4.3.2 组成要素
一级缓存
一级缓存是位于与协议服务对接的分布式文件系统客户端引擎(Client Agent)层,该客户端引擎代表客户对文件系统进行访问,该层以文件数据作为缓存对象,以文件分条(Stripe)为缓存单位,一级缓存主要用于针对文件的访问模型预测后用于文件数据预取和加速热点文件分条的缓存。该级缓存是整系统全局共享的,即只要缓存在任意一个节点上的文件分条数据,其它任意节点再次收到该数据的访问请求后都可以从一级缓存中命中该数据。
通常在大规模分布文件系统中只有少量文件是热度比较高的文件,大部分都是冷数据。因此,缓存热点文件数据和对数据进行预取是充分发挥缓存的优势,降低后端存储硬盘访问的压力提高业务的响应速度的最有效方法。
二级缓存
二级缓存有SSD盘和数据块元数据及数据块缓存,该级缓存只用于缓存本节点所有硬盘上的热点数据。主要用于加速该节点上条带(Strip)或分条(Stripe)的访问速度,减少频繁访问的热点数据对硬盘的压力及加快数据块请求的响应速度。如:每块硬盘上的超级块、对象集到对象的描述符及关键对象描述符等数据。
文档版本 01 (2015-06-27)
华为专有和保密信息 版权所有 ?
华为技术有限公司
18
OceanStor 9000大数据存储系统技术白皮书 4 软件特性
保电缓存
保电缓存(NVDIMM)主要作为写缓存使用,来自客户端的写操作数据刷新一级缓存后,对数据切片并进行数据冗余计算后将所有数据片通过存储后端网络发送到每个节点的保电缓存中,便可立即响应客户端写操作成功。数据进入保电缓存就表示数据已经安全,因此,不需要立即刷到对应的硬盘中,这些驻留到保电内存中的数据便可以进行去重和合并处理,即如果对一个数据进行多次修改,则只需要将最新修改的数据刷到硬盘中,对该数据块之前的修改则可以直接丢弃;如果多个数据块是属于一个对象的并且在逻辑上是连续的,则可以将这些逻辑上连续的数据写入到物理连续的硬盘上,这样在数据被访问的时候便可以提高数据的在硬盘的顺序性和连续性,从而提高数据的访问性能。
分布式锁管理
分布式锁管理(DLM)是用于保证全局缓存有效运行,保证全局缓存共享性、一致性的基础。分布式锁管理负责创建分布式锁管理数据结构,该数据结构包括共享资源锁请求、存储共享资源的内存以及锁类型等其它相关内容。只要有进程对该资源有加锁请求,共享资源就始终存在,如果没有任何进程对该资源有加锁请求,分布式锁管理器才能删除该资源。如果进程异常退出。与该资源相关的锁也就被异常退出,与该资源相关的锁也就被异常释放。
4.3.3 技术原理
图4-10 全局缓存原理示意
说明:
D:代表用户原始文件切成的数据条带 S:代表文件系统超级块
文档版本 01 (2015-06-27)
华为专有和保密信息 版权所有 ?
华为技术有限公司
19
OceanStor 9000大数据存储系统技术白皮书 4 软件特性
M:代表硬盘上管理数据条带块的元数据
P:代表文件条带化时,每个分条(Stripe)中的校验条带数据块(Strip Data)。
缓存与读取
当Node1上的文件系统服务收到数据读请求时,首先向分布式锁服务器申请分条资源读锁,加锁成功后,会检查所读数据的缓存是否在全局缓存中以及缓存在哪个节点上,如果该文件分条资源在Node2节点上的缓存中,则直接从Node2节点上的全局缓存中获数据并返回客户端,如果不在全局缓存中,则Node1上的文件系统服务直接从各个节点上读取该分条数据的所有条带数据后构造出分条数据后再返回给客户端。
缓存与写入
当Node1上的客户端CA收到数据写请求时,CA首先向分布式锁服务器申请分条资源写锁,加锁成功后,CA首先将用户数据接收到本节点上的全局缓存中,然后将该条带数据根据该文件指定的保护级别进行切片处理,对所有切片后的原始数据通过
ErasureCode进行计算生成校验数据片,最后将包括校验数据片在的数据片写到对应的节点上的保电内存中,写各节点的保电内存成功后则本次写操作成功。
当其它节点上的客户端再次访问该文件分条时,可以直接从该节点的全局缓存中直接读取,而不需要从分条所在的所有节点上的硬盘中读取数据。
缓存释放
? 数据召回
缓存的数据被客户端修改,该客户端的CA会加写锁,其他缓存该数据的节点读锁被召回,相应的缓存区数据被释放。 ? 数据老化
当节点缓存空间达到老化阈值时,会按照LRU来释放最长时间未被访问的缓存数据。
4.3.4 客户价值
典型应用场景
在高并发场景中,当应用软件通过不同的客户端访问同一文件数据时,只有第一次访问该文件数据时需要从集群中的硬盘中获取文件数据,一旦该文件数据进入全局缓存,则客户端后续再对该文件数据的访问都会直接从全局内存中访问,而不需要再次从硬盘中获取数据。
当应用软件只通过少数客户端访问集群中的数据时,这些客户端同样会把整个群集中那些没有被应用访问的客户端所在节点上的内存利用起来。
当在高性能计算应用场景时,客户需要会根据业务对数据的访问模型进行预测,提前将预计即将被访问的文件或某些目录中的所有文件提前预计取整系统的全局缓存中,从而提高应用获取数据的效率。
文档版本 01 (2015-06-27)
华为专有和保密信息 版权所有 ?
华为技术有限公司
20
OceanStor 9000大数据存储系统技术白皮书 4 软件特性
当应用软件频繁修改某些文件的数据或文件元数据时,可以对同一块数据的多次修改进行去重或合并。从而减小这种场景下对后端存储的压力。
客户价值
OceanStor DFS文件系统中的Global Cache将所在存储服务器上的内存空间在逻辑上整合为一个系统全局统一的内存资源池,所有用户数据在整个分布式存储系统中只缓存一份并且对于一个文件分条来说,只在内存中缓存用户的数据条带不缓存校验数据条带。同时,只要位于分布式存储系统中任意一个存储服务器内存中的数据,CA无论通过哪个存储服务器访问该文件分条数据,都能够从缓存该分条数据的存储服务器内存中命中该数据,从而保证优先访问缓存在全局缓存在中的数据,如果在全局缓存中不命中才从硬盘上读取数据。
这一技术和现有技术相比,OceanStor 9000的全局缓存技术大大提高了整系统内存空间的利用率,对于系统内的热点数据尽可能得避免了不必要硬盘IO与网络IO,充分利用缓存技术提升系统的访问性能。
4.4 负载均衡技术
4.4.1 技术背景
负载均衡(又称为负载分担),英文名称为Load Balance,其意思就是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。负载均衡建立在现有网络结构之上,它提供了一种有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
常见的负载均衡技术有如下几种:
?
DNS负载均衡:最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。
代理服务器负载均衡:使用代理服务器,可以将请求转发给内部的服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此可以考虑该技术,使用代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。
地址转换网关负载均衡:支持负载均衡的地址转换网关,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。
协议内部支持负载均衡:除了以上三种负载均衡方式之外,有的协议内部支持与负载均衡相关的功能,例如HTTP协议中的重定向能力等,HTTP运行于TCP连接的最高层。
基于统一IP的负载均衡,所有的业务数据包都需要经过负载均衡服务节点进行转发,负载均衡服务节点容易成为性能的瓶颈。
OceanStor 9000为了减少负载均衡服务对整系统性能的影响,并对外提供域名访问,所以OceanStor 9000 InfoEqualizer 客户端连接负载均衡采用了基于DNS域名的负载均衡技术。在域名解析阶段,OceanStor 9000负载均衡服务根据负载算法分配集
?
?
?
?
文档版本 01 (2015-06-27)
华为专有和保密信息 版权所有 ?
华为技术有限公司
21