storage R&D guy.
全部博文(1000)
分类: 服务器与存储
2015-06-17 11:08:45
网络Raid5的需求与挑战
随着大数据时代的到来,数据量程几何级的增长,单层本地Raid已经较难满足业务连续性和可靠性的需求;而多副本方式则面临空间浪费太大(3副本只有33%左右的空间利用率)和单位效率低的问题(层次太多:上层块接口→网络全局管理系统→本地文件系统→本地磁盘块)。
要解决上述问题,需要建立一个“块到块”高效的节点间冗余保护机制,来实现网络Raid5的效果,从而实现分布式块存储空间利用率和效率方面的本质提升。
当然这是一项极具挑战的工作,主要原因是网络Raid5与本地Raid5面对完全不同的周边环境,比如:本地Raid5每块磁盘间通过高速且极低延迟的磁盘通道连接,而网络Raid5在节点间通常面临相对高延迟的连接条件;中科蓝鲸BWRAID研发团队经过艰苦卓绝的努力战胜了一系列挑战,成功实现了分布式基于“块到块”的网络Raid5。
网络Raid5的系统结构
中科蓝鲸BWRAID是一个以标准存储服务器(x86)为存储硬件、通过软件核心技术构造标准遵从的集群SAN存储系统。
系统对内把存储节点聚合成统一存储池,整体实现存储节点间网络RAID5的冗余保护效果,能保证设备级故障情况下的数据可靠性和业务连续性;对外以卷的形式提供标准块设备存储服务。
BWRAID系统由两级RAID构成:下级的RAID是节点内RAID,存在于单台设备(节点)内的多块磁盘上,其目标在于提高机械硬盘的可靠性;上级的RAID是节点间网络RAID,存在于多台设备(节点)之间,其目标在于提高电子设备(包括软件)的可靠性。
节点内RAID可根据磁盘容量、数量和故障率进行灵活的配置,提供不同可靠级别、性能和恢复速度的保障。节点内RAID既可采用传统RAID技术,也可采用改进型RAID技术(如中科蓝鲸的SmartRAID)。
虽然在目标上追求与传统RAID同样的应用效果,但为了保证各个节点工作的独立性从而最大化每个节点的性能和Scale-Out的效果,在设计和实现上,上级的RAID(节点间RAID)采用了与传统RAID完全不同的自主系统设计和实现,最大程度地降低节点间的耦合度。在结构上,节点间RAID又被分为两部分,充分融入了Scale-Out的理念、设计和实现。上层(镜像分发层)为跨越多个节点、以高速随机缓存(如RAM)为存储介质的镜像分发;下层(校验计算层)为跨越多个节点、以RAID阵列为存储介质、面向网络介质优化的校验计算。
BWRAID系统结构图
网络Raid5的工作实现原理
以高速随机缓存介质构成的聚合缓存为中间点,上层为直接面向应用、以高速随机聚合缓存(如RAM)为存储介质的镜像分发层,其目标为保证应用的数据访问低延迟;下层为跨越多个节点、以基于磁盘的RAID阵列为存储介质、面向网络介质优化校验计算层与顺序存储介质带宽利用率优化技术相配合,其目标为保证在多流并发时底层顺序介质(如HDD)的高带宽访问。上层的低延迟保障系统和下层的高带宽保障系统之间相对独立的运行和有机的配合构成了BWRAID核心工作机制,保证了BWRAID优异技术指标的实现;而高速随机的聚合缓存为两个部分的合理隔离和高效协作提供了有力支撑。
在节点工作的独立性方面,对于用户读请求,各个节点在正常情况下是完全独立工作的;对于用户写请求,BWRAID系统设计了一系列节点间交互机制,主要包括数据及时镜像分发和数种元数据操作,保证节点间的低耦合度。其中,每次用户数据写入BWRAID系统时,关联节点间都会发生数据及时镜像分发;每次数据从聚合缓存写入到底层磁盘时,节点间只有低频度(次/每连续段)的元数据操作发生,用户数据写入只发生在节点内。因此,对于用户读写请求,各个节点几乎都是独立工作的。
网络Raid5实现后的系统特点
通过一系列系统设计和优化工作,BWRAID具备了以下的系统特点:
高性能:
面向事务型应用高IOPS性能需求,对于用户读请求,BWRAID主要通过RAM缓存、SSD缓存和磁盘的零转导访问,保证数据读出的低延迟;对于用户写请求,BWRAID主要通过节点间RAID的镜像分发层(以RAM缓存为存储介质)保证数据写入的低延迟,并通过节点间RAID的校验计算层提供数据写入的高带宽,高效回收聚合缓存资源,以持续提供充足的低延迟缓存空间。
面向吞吐型应用高带宽性能需求,对于用户写请求,特别是多流并发时,BWRAID采用Log-Structured精简配置技术保证多并发写入的聚合高带宽;对于用户读请求,BWRAID采用带外模式,消除读过程中的节点间网络负载,并以Cache-based I/O Reshaping技术为基础,优化应用读的顺序性,从而保证高带宽。
高扩展:
在Scale-Out的理念方面,BWRAID系统中,所有用户读请求都由相应存储节点直接、独立地满足,因此读性能随着节点的增加线性扩展。
所有用户写请求都通过节点间RAID上层的镜像分发机制写入两个节点的RAM Cache后返回;“脏”数据在各个节点的RAM缓存中充分聚集后,几乎独立地按照各自的策略写入到底层的永久性存储介质上。因此,BWRAID不仅可以提供每节点的高性能,而且可以完全以Scale-Out的方式为高并发的用户写请求提供服务。
此外,BWRAID通过节点内RAID和节点间RAID的两级分离,使得磁盘可靠性的性能开销(包括正常IO时的性能开销和重构时的性能开销)完全局部化在节点内部,不再占用额外的网络带宽,因此最小化了节点增长后的网络开销增长,提供最大化的Scale-Out效果。
高可靠:
BWRAID以多级冗余架构为数据服务提供高可靠和高可用保障,且保障级别可配置。
通过节点间RAID和节点内RAID分级,分离保障节点可靠性和磁盘可靠性,消除网络瓶颈对磁盘可靠性级别和磁盘恢复速度的限制,使得磁盘的可靠性可以配置的更高、恢复窗口可以更短、可靠性对性能影响更小。并且,节点内数据的高可靠,大大降低了全量节点恢复的概率,从而缩短了节点恢复时间,提高了节点间冗余的可靠性。
磁盘密度越高,BWRAID的可靠性优势体现越明显。
高效率:
作为分布式块存储与副本模式的分布式存储相比较,在大规模场景与同等可靠性的三副本系统对比,BWRAID将存储系统的网络带宽效率提升了40%,将磁盘带宽效率提升了50%,将磁盘空间利用率提升了1倍以上。随着可靠性级别的增加,BWRAID的效率优势会愈加明显。
标准化:
数据访问接口的标准化(标准SAN访问);故障处理接口的标准化(ALUA)。标准化工作使能BWRAID可以经济、便捷的应用到非常广泛的应用领域。配合之前的性能优化措施,BWRAID适合于包括传统的数据库存储和新兴的云计算、云存储、大数据等众多市场领域的应用。
网络Raid5的应用与合作
BWRAID既可以替代标准IP SAN / FC SAN作为独立外置存储;又可以配合合作伙伴安装应用形成一体机集群;还可以作为ServerSAN配合合作伙伴形成企业级商用IaaS的存储基础设施,从而在统一标准硬件中高效整合计算虚拟化与存储虚拟化实现Hyper converged超融合系统。
独立外置存储模式
ServerSAN模式