南京云创大数据科技股份有限公司 袁高峰 吴亚洲
超低功耗云存储系统
——cStor
南京云创大数据科技股份有限公司 袁高峰 吴亚洲
【摘要】文章针对超低功耗云存储系统cStor的外部架构、软件架构进行了分析,探析了cStor低功耗储存节点,并对cStor云存储系统性能进行了测试研究,以供参考。
【关键词】云储存;超低功耗;PB级
课题项目:本研究得到了国家科技支撑计划课题任务“基于云计算平台的OTT智能终端应用示范”(项目编号:2012BAH57F00,课题编号:2012BAH57F01)的资助。
1.1 cStor的外部架构
超低功耗云储存系统的组成部分包括:机架套件、1台主交换机和1台备用交换机、1台主元服务器和1台备用元服务器、18台2U尺寸超低功耗储存服务器节点。通常在机柜的一面可以用来部署硬盘。cStor采用了低功耗的ARM架构设计,散热量相对较小,并且能够进行双面插盘,并且最大插盘容量多达384块。由于cStor通常采用3TB/4TB硬盘,因此其总储存容量为1.125PB/1.5PB。cStor整个系统结构主要包括32个机箱,每一个机箱设有4个3W的风扇;2个200W的Master节点;2个150W的交换机;24个15W的主板;384块5W平均功耗的硬盘。cStor超低功耗云储存系统具有吞吐量高、容量超高、价格超低以及功耗超低等众多优点,同时还可以利用软件虚拟化整合ARM超低功耗云储存服务器储存空间中储存的所有资源,能够显著地提高超低功耗云储存系统的容错率。并且Master服务器、交换机、电源、主板以及硬盘等相互之间冗余,当单个节点出现异常或者故障之后,并不会对其他节点以及整个系统的运行产生影响。
1.2 cStor的软件架构
cStor超低功耗云储存系统通常采用分布式的储存机制,能够将系统中的数据分散在多台独立的储存服务器上,并且采用包括了客户端节点、数据储存节点服务器以及元数据管理服务器的虚拟海量储存卷,其软件架构图由元数据管理服务器进行所有元数据的保存,同时对整个文件系统的数据进行管理,采用主备双机镜像的元数据管理服务器,这样当主元数据管理服务器出现故障之后,备用元数据管理服务器运作,以此保证整个系统能够连续的服务,避免出现元数据管理服务器故障导致服务中断的现象。客户端是对外提供数据访问与储存的窗口,在数据储存节点服务器上安装客户端。通过利用该种软件架构能够为实现超低功耗云储存系统的设计和实现提供便利。数据储存节点服务器的主要任务是采用文件的形式对cStor系统中的数据进行储存,但是由于cStor系统中数据储存节点服务器的数量不固定,其数量的多少则会影响cStor系统的规模。同时,为了实现cStor软件架构的设计还需要利用以下技术:
1.2.1 高可用技术
因为超低功耗云储存系统采用低耦合分布式架构,通过网络进行所有服务节点的连接,在不停止服务的前提下能够进行系统节点的增加和删除,通过注册管理机制对元数据管理服务节点与储存节点进行自适应管理。
1.2.2 高可靠保障技术
元数据的容错功能由cStor操作日志实现,采用这种操作方式当管理节点发生异常或者故障时,只要磁盘数据没有收到损坏,就能够快速的恢复上述已发生故障的元数据。同时,为了避免管理节点在运行的过程中出现异常或者问题导致的死机故障,cStor还应该采用高可靠保证技术对管理节点进行远程控制和实时备份,这样即使管理节点在运行的过程中出现故障或者问题没有办法工作,备用管理节点动作,以此保证元数据处理工作的连续性。
1.2.3 高速并发访问技术
基于客户端的实际需求在进行cStor的访问时,通常并不是直接访问cStor,而是先进行管理节点的访问,这样能够获得和客户端交互的储存节点中储存的信息,然后客户端对这些储存节点中存在的信息进行直接访问并完成相应数据信息的的储存和提取,采用这种设计方式能够实现cStor系统对数据流与控制流的分离和控制。为了能够降低管理节点的负载,通常在管理节点和客户端之间并不会通过数据流,而只会通过管理流,采用这种方式能够实现存储节点和客户端之间数据流的直接传输。此外,因为系统中的文件会被分成不同的数据块,因此通常采用分布式的方式进行相应数据的储存,因此客户端能够同时进行多个储存节点的访问,进而实现整个系统的高度并行。
1.2.4 负载自动均衡技术
cStor云储存文件系统的管理由中心服务器执行,管理节点上保存所有的元数据,文件则划分为多个模块分别储存在相应的储存节点上,管理节点对整个系统内存储节点的使用状况进行掌控,同时维护一个统一的命名空间,客户端可以向元数据服务器发生指令,例如数据读写指令,元数据服务器根据储存节点的网络负担状况和磁盘使用状况,对负载负担进行自动局呢航,并选择负担最轻的储存节点为客户端提供相应的服务。同时,一个储存节点发生故障之后不能正常运行,此时管理节点会自动将发生故障的储存节点屏蔽掉,同时该储存节点处于离线状态不再对客户端提供服务,并且该储存节点的数据也会自动备份至其他储存节点,并由其他储存节点向客户端提供相应的服务,以此保证为客户端提供不间断的服务。
根据cStor超低功耗云储存系统的实际要求应该采用低功耗主板,该主板采用《MV78460四核CPU,并且该CPU的主频为1.6GHz,DDR3内存为1GB,组件主要包括:1个2GBNAND FLASH、4个miniSAS接口、2个10M/100M/1000M自适应网口。基于Marvell的MV78460研发了高端和低能耗的嵌入式处理器的CPU的储存节点的主板MS316。MV78460属于工业级四核ARM CPU,采用了超低功耗架构和1.6GHz主频的ARM7核CPU,由于应用了高级的制造工艺和实际技术,能够将高性能网络服务渗透至高容量服务中,例如媒体服务器、网络连接式储存器。
3.1 系统测试
cStor系统测试主要针对MS316性能进行测试,系统测试结果表明,当客户端数据条件相同时,当节点数量增加时系统的读写性能也随之在不断的升高;当储存节点相同时,当客户端访问数量在增加时客户端的读写性能也随之在不断的升高。当储存节点数量为18时,写性能能够达到500MB/s,读性能能够达到400MB/s。
3.2 硬件测试
硬件测试主要包括两个方面:一方面,云储存节点规格配置测试,测试采用cServerA2020(根据云服务器的应用要求而专门开发的一种功耗相对较低的储存服务器),单个节点包括12个3TB的硬盘,因此单个节点的储存容量为36TB;另一方面,节点性能测试,测试采用cServerA2020,测试结果表明:1MB、64kB、32kB文件在不同读写比例的IOPS分别超过500次/s、2000次/s、2200次/s。
综上所述,文章所述的PB级超低功耗云储存系统是一种结合了硬件和软件的综合系统,在cStor系统中存储节点设备主板的功耗小于15W,单节点可以支持16块磁盘,单节点的平均运行功率只有不到100W,当储存节点数量为18时,写性能能够达到500MB/s,读性能能够达到400MB/s,1MB、64kB、32kB文件在不同读写比例的IOPS分别超过500次/s、2000次/s、2200次/s。
参考文献
[1]袁高峰,吴亚洲,薛妍妍.超低功耗云存储系统——cStor[J].中兴通讯技术,2013,19(4)﹕22-23.
[2]丁高,田敬,陈东,等.UpStor﹕一个开放的P2P存储平台[J].计算机研究与发展,2009,46(S)﹕250-257.
[3]SHVACHKO K,,KUANG H,RADIA S.The hadoop distributed file system[C]//Proceedings of the IEEE 26th Symposium on Mass Storage Systems and Technologies(MSST 10),May 3-7,2010,Incline Village,,NV,USA. Piscataway,NJ,USA.IEEE,2010﹕10p.