技术博客

新一代并行存储技术

龙骧网络 复制链接
摘要:LeoStor是一款性能优异的横向扩展NAS系统,双集群架构和智能切片技术,系统支持多副本和纠删码模式,支持分层存储技术,系统更稳定,反应更敏捷 。

体系架构

LeoStor认为,应用是文件的应用,而非块设备的应用,块设备只是文件应用的中间状态,是传统单机应用的技术产物。因此,LeoStor首先做了一层高性能的LeoFS全局并行文件系统,然后在此上架构存储应用协议。LeoStor通过“Virtual Block File”(VBF)技术支持块设备,即vSAN技术,VBF就是保存在LeoFS上的一组文件,按照目录划分,每个块设备一组文件。在对比测试中,2U12 SATA机械盘配置,其性能超过国外专业存储厂商的中端型号的存储阵列设备。

将数据“切片”或做“副本”,并保存在不同的存储节点的不同硬盘上,这就是“分布式”的概念,这些数据称为“对象数据”;有些分布式基于“局域网”的设计,比如LeoStor,Ceph,有些基于广域网的设计,比如IPFS,局域网产品追求绝对的性能和可靠性,广域网产品追求数据的可用性。

无论哪种分布式技术,都必须有元数据存储或对元数据的索引算法,否则就无法找到对象数据。一般有2种技术,其一,元数据(对象索引值)+哈希索引算法,其二,元数据(HASH配置方案)+哈希索引,第一种多用在全局文件系统上,比如LeoStor和IPFS,第二种多用在块设备系统上,如Ceph。

LeoFS主机客户端获得文件数据大致分成以下几个步骤:

  1. 从MDS元数据节点处获得文件切片定位信息,包括OSS存储节点的IP地址和硬盘ID号;
  2. 根据定位信息,直接向所有相关OSS存储节点并发请求数据;
  3. 在主机客户端组装数据,通过操作系统的文件POSIX接口提供给上层应用;

LeoFS通过哈希算法快速定位文件的MDS节点元数据位置,并通过文件切片的节点和硬盘信息,快速定位OSS节点,系统采用连接池技术,确保每个请求快速响应。

读写机制

LeoFS是符合POSIX文件标准的全局文件系统,其输出共享目录供应用程序使用,客户端应用程序无需二次开发,可直接挂载该目录使用;系统不限制接入共享目录的客户端数量,内置符合POSIX标准的高效文件锁,支持对同一文件的多读多写。

LeoStor有智能小文件聚集技术,可将KB级小文件聚合成MB级大文件,LeoFS切片大小为64K~512MB,系统智能调整数据,切片数据符合LeoRaid规则。当文件不小于N*64MB时,N*64MB的整数倍按照64MB切成N片,生成校验位进行存储,余数切成N片,生成校验位进行存储;当文件小于N*64MB时,文件切成N个切片,再生成校验位进行存储;副本模式亦然,小于64MB直接存储,大于64MB的,64MB的整数倍都按照64MB进行切片,余数作为一个切片进行存储。

200MB 文件 LeoRaid 2+1
0~64MB OSS-1 纠删码 OSS-5
65MB~128MB OSS-2
129MB~164MB OSS-3 纠删码 OSS-6
165MB~200MB OSS-4

目录数据保存在元数据节点中,文件数据保存在存储节点中;新建文件时,客户端通过负载均衡算法,定位一组任务较轻和数据量较少的元数据节点;写数据时,客户端发送Block申请给元数据,根据元数据返回相关的存储节点值,将数据直接发送给存储节点;读数据时,客户端向所有元数据节点发送定位请求,系统有且只有一台返回定位数据,客户端获得定位数据后,向相关的存储节点请求数据。

存储服务

通过“弹性存储”与“应用协议”分层模式,让LeoStor有更强的生命力和更广的应用场景。LeoFS解决高性能、高可靠的弹性存储管理,存储应用协议解决应用场景,通过存储节点融合部署架构,可轻易构建出包含“文件存储”、“对象存储”和“块存储”等高性能统一存储系统,并在日后使用中,用户亦可以自由增加存储协议,提升存储的生命周期,同时,使用LeoStor LTM/GTM负载均衡模块,可构造出高并发和高可靠的存储服务。

Linux、Mac OS可通过mount命令挂载LeoFS,Windows可通过驱动器或目录方式挂载LeoFS,所挂载的路径可以任意指定,但要遵从业务数据的安全管理规范,避免一些应用看到过多的目录或数据。挂载路径均遵循“集群名称”>>“分层存储”>>“存储类型”>>“应用数据”等多级目录进行管理,规范的数据管理是数据灾备、数据复制的保障!

数据访问安全

“存储越界”和“非法访问”是存储系统访问最关键的问题。LeoFS通过目录硬配额方式,管理数据越界,当业务在该目录下保存的数据超过配额时,哪怕多一个字节,应用程序会返回标准的POSIX写文件错误;LeoFS可为每个挂载目录的主机客户端设置对该目录数据的读、写、删、查询、链接、重命名、追加写的文件权限,以防止非法访问;同时,可以设定目录的“WORM”权限,确保超级管理员也无超出的读写删的权限,确保数据访问安全。

使用主机权限管理的实际部署案例:某门户网站防止网页内容篡改配置,1台内容管理服务器,4台Web应用服务器,位于不同网段,采用虚拟机部署,5台设备均可看到同一Web目录,其中在LeoStor管理界面上,将内容管理服务器主机配置成“全部权限”,其余4台Web主机配置成“只读”权限,这样,即使黑客攻入Web服务器中,也无法修改网页内容。

SSD加速

竞品多采用SSD加速的方式,以提升系统的读写带宽,LeoStor拥有优异的并行架构和数据调度算法,无需采用SSD硬盘加速,就可以超越有缓存的竞品,4U36盘位SATA机械盘设备,单节点即可输出2GB/s的共享文件带宽,而且每加一个节点或一块硬盘,系统性能都能线性增加,在众多案例的售前测试和实际使用中,LeoStor均显著优越Ceph系产品;LeoStor在项目立项阶段通过部署的硬盘个数,就能预期系统的实际输出带宽,也可以通过需要多大带宽,来反向推出需要多少块硬盘,让投资更准确。

SSD缓存加速多使用Linux bcache方案,缓存盘为SATA SSD和U.2 NVME SSD。bcache支持三种缓存模式:Writeback(先缓后存)、Writethrough(同时写)和Writearound(写存读缓);对于Writeback,如果是密集写入,而因SSD盘故障无法回写到存储盘中,则数据丢失概率增加,是应用风险所在;对于Writethrough,从木桶理论分析,没有任何部署意义;对于Writearound,读可以达到加速目的,但写依然慢速。

因此,LeoStor的“直接落盘”存储机制,在实际案例中起到“数据安全”最强有力地保障。