APP下载

分级存储技术及其在水利大数据处理中的应用

2020-01-07王耀鲁唐颖复

水利信息化 2019年6期
关键词:存储技术存储设备离线

刘 颖,叶 茂,王耀鲁,唐颖复

(中国水利水电科学研究院,北京 100038)

0 引言

在当前大数据时代,各类基础通信设施及技术的高速发展引发了众多行业的根本性变革。与此同时,随着水利信息化的高速发展,水利数据也逐渐形成自己的特点,而这些数据的存储及处理也都具有明显的行业特性。水利数据除了常规的业务数据以外,还包括多种海量多媒体数据,如 GIS、视频影像和高分遥感等数据[1]。针对这些复杂、多样的水利数据,如何高效、完整、安全地对其进行读写操作,同时又有效地保障水利数据容量 PB 级以上的扩容需求,就成为当前急需解决的问题。

在当前大数据时代,水利信息数据呈指数级增长[2]。对于海量数据的存储、备份和恢复,不仅要求具有较高的安全性和完整性,还要求具有较高的数据处理和读写效率及可复用率。如若继续选取当前常规的存储方式将数据一并存入到某一种存储设备中,将难以适应未来业务的发展趋势,造成极大的投资浪费,并带来管理成本的上升。为此,引用分级存储技术力求打破单一存储对水利海量数据的制约。

1 分级存储技术与集群

信息生命周期管理(ILM)认为在信息的创建之初,普遍具有需求量较高、访问量较大和价值较高等一系列相关特性[3]。根据 ILM 理论,在整个信息生命周期中,可以将信息划分为创建、保护、访问、迁移、归档和销毁 6 个阶段[4]。由 ILM 理论可知,数据也同样拥有生命周期,随着时间的推移对于数据的需求也会随之变化。因此,时间阶段的不同,数据的价值也不尽相同。根据数据价值的不同,采取相应的存储方式及策略,不仅可以更加有效地利用有限的存储空间,还可以节约大量的投资,同时又不影响系统的整体性能。

分级存储技术,以 ILM 为理论依据,再结合数据的重要性、访问频次、存储时长和数据大小等相关指标,采用不同的存储方式,在不同的存储设备中依次存入相应的数据,再利用分级存储方法,设置迁移策略,从而实现在不同的存储设备之间数据的自动迁移。分级存储技术的理论基础和实现依据主要是数据访问的局部性[5]。通过将重要性、访问频率都较低的数据自动迁移至分级存储数据集群较低的层次中,进而将性能和成本较高的存储设备释放出来,再分配给需求量较大、访问频次较多及重要性较高的数据使用。如此,不仅提高了分级存储数据集群的使用效率,也提升了分级存储数据集群整体的数据处理能力。

当前,在分级存储数据集群中广泛使用的是三级存储结构[6],典型的三级存储结构如图1 所示。

图1 三级存储结构图

典型的三层存储结构分析如下:1)在线存储层。大多使用性能较高的存储设备存储访问频率较高的数据,一般在线存储层使用的存储设备通常具有读写速度快,效率和可靠性高等特性。2)近线存储层。所使用的存储设备的读写性能相对较低,因此主要存储访问频次较低的数据,一般会挑选使用容量大,可靠性高的存储设备。3)离线存储层。主要功能是存储、备份和归档等,所以该层存储设备的成本较低,访问速度也较低,但却具有海量数据存储功能。

2 分级存储数据集群搭建及应用

全国山洪灾害防治管理平台(以下简称管理平台)的主要作用是为 2 058 个县提供山洪灾害预警预报服务[7]。为保障管理平台高效、稳定的运行,同时确保管理平台对山洪灾害预警预报的精度、准度及时效性,在管理平台建设的过程中,利用分级存储技术搭建而成的分级存储数据集群,作为管理平台的一项重要基础设施,为海量的数据存储、高效的数据读取和处理能力提供强有力的技术支撑。在该分级存储数据集群的搭建过程中,配置少量的高性能及大部分廉价的存储设备,既可以保证分级存储数据集群的稳定、高效,又降低分级存储数据集群的搭建成本。

管理平台管理的海量数据包括基础、调查标绘、重点山洪灾害防治区、山洪灾害分析评价、气象等数据,对这些数据的管理和应用主要从以下 3 个方面考虑:1)海量数据存储的数据读取及写入效率;2)海量数据存储所需的安全性、可靠性和稳定性;3)预先设置针对于海量数据存储的数据备份与恢复机制。

针对管理平台管理的海量数据所需的数据存储能力,以及对大量文件及数据进行访问的需求,结合 ILM 理论,充分利用分级存储技术思想,设计并搭建一套分级存储数据集群。该分级存储数据集群支持自动的分级存储功能及存储设备的扩容。在分级存储数据集群,在线存储层采用固态存储 SSD硬盘作为存储设备,近线存储层使用 SATA 硬盘阵列,以磁带库作为离线存储设备。另外,依据 ILM理论,合理评估数据价值,实现数据在线、近线和离线三层级存储层之间的相互迁移,从而构成分级存储数据集群系统,为使用该分级存储数据集群的上层应用提供一个统一的、完整的数据访问空间。

在分级存储数据集群内部分别配置索引和数据2 种控制器。其中,配置索引控制器 2 台,2 台索引控制器之间进行双机热备,互为主备,负责分级存储数据集群的管理和监控等;再配置数据控制器3 台,分别负责分级存储数据集群中各层级之间的数据访问、处理和迁移请求等。在分级存储数据集群中配置 NFS 和 NAS 2 种存储访问协议,架设万兆数据和集群互联 2 种网络。其中,万兆数据网络为数据访问提供服务,上层应用通过万兆数据网络从分级存储数据集群中读取、写入所需数据,同时用于分级存储数据集群各层级之间的数据通信和迁移。分级存储数据集群架构如图2 所示。

2.1 在线存储层

分级存储数据集群中的在线存储层,采用高吞吐,低延时,具有优异可靠性的存储设备。

同时,根据管理平台的实际业务应用,对气象、遥感数据,以及上游来水量等相关数据具有较高的需求。而这些数据往往具有较高的 IOPS(每秒读写次数)访问特性,重要程度较高。为提高分级存储数据集群的数据读取和写入速率,达到提升管理平台业务应用的计算和运行效率的目的,将这些数据存储在在线存储层。

结合管理平台的实际需求和存储设备的性价比考虑,在线存储层的容量不会配置太大,该层由 28 块2 TB SSD 硬盘组成,共计提供 56 TB 的裸容量数据存储空间。

2.2 近线存储层

图2 管理平台中的分级存储数据集群架构

近线存储层,采用容量比较大、稳定性比较高的存储设备,同时采用水平扩展方式的集群存储体系架构,支持存储的横向扩展。近线存储层存储配置了 6 个 24 盘位扩展柜,共配置 144 块 4 TB 企业级 SATA 硬盘,可对外提供 576 TB 裸容量的数据存储空间。

在上层应用业务运行时,在线存储层中主要存储与当前运行业务相关,需要频繁访问的数据,而访问频率较低的数据则迁移至性能较低的存储设备中,即保存到近线存储层中;保存到近线存储层中的数据,如需要当前运行业务经常访问,则将数据再次回迁至在线存储层中备用。

在线存储层与近线存储层之间的数据迁移策略,除了综合考虑数据访问频率、创建日期、数据大小、数据用途和在线存储的剩余空间等诸多常规因素外,还重点针对管理平台中业务所需的,水利数据中特有的视频影像及高分遥感等数据的相关特性,在影像关联度和空间分辨率 2 个方面对迁移策略进行干预和定制[8]。对于视频影像,在同一地区不同时间拍摄的影像数据关联度更高,即当某一视频影像数据将回迁至在线存储层时,与其关联度高的其他视频影像数据也将一同回迁至在线存储层中备用。空间分辨率则是明确规定了分辨率越高的遥感数据价值越高,将更优先存储于在线存储层。数据迁移过程在在线存储层和近线存储层之间以数据块级别并发进行,相互配合,协调工作,速度快且对存储性能影响较小,整个数据迁移过程对上层应用自动透明,充分优化了分级存储数据集群的数据读写效率和存储利用率。

2.3 离线存储层

分级存储数据集群中的离线存储层,主要应用于数据的存储、备份、归档和恢复等。离线存储层采用价格低,访问速度慢,但易扩展,方便存储及容量扩充,可以实现海量数据存储的设备。因此在离线存储层配置 1 套磁带库,共计提供 750 TB 裸容量数据存储空间,作为数据存储、备份系统,同时配备相应的数据管理软件。

离线存储层组织近线存储层的文件数据及索引,在备份、归档和恢复任务中,对文件调度、管理等进行操作[9]。当备份任务完成后,根据预先设置的备份策略,将符合备份策略的数据生成对应的备份列表,再将这些数据存入磁带,即离线存储层。在完成归档任务时,将数据只存储在离线存储层,同时删除近线存储层中的该部分数据。当恢复任务发起时,接收由近线存储层发起的恢复请求,通过检索文件索引,创建恢复传输列表,将相应数据从磁带恢复到近线存储层中,再删除磁带中的数据。

此外,为满足管理平台对数据的特殊要求,提高应对救灾、抢险等一系列突发状况的响应效率,预设了特殊的迁移策略,即将已在离线存储层归档的数据直接回迁至在线存储层中。

3 分级存储数据集群测试

现针对全国山洪灾害防治管理平台中的分级存储数据集群进行测试。该数据集群性能主要由数据写入和读取速率决定,使用 IOZONE 工具对其进行测试。测试数据分别选取 GPS、遥感影像和文本等多种形式,并且大小各异的数据。

IOZONE 是对文件系统读写性能基准测试的工具,可通过不同模式测试硬盘性能[10]。该分级存储数据集群分别测试以下几种性能:read,读一个已经存在的文件的性能;re-read,读一个最近读过的文件的性能;write,向一个新文件写入的性能;rewrite,向一个已经存在的文件写入的性能。

3.1 写入效率测试

通过 IOZONE 对分级存储数据集群进行数据写入测试,数据写入速率如图3 所示。通过测试可以看出,该分级存储数据集群的数据写入速率整体维持在 1000~1200 MB/s。

3.2 读取效率测试

通过 IOZONE 对分级存储数据集群进行数据读取测试,数据读取速率如图4 所示。通过测试可以得出,该分级存储数据集群整体的数据读取速率在2 000 MB/s 上下。

图3 分级存储数据集群的数据写入速率

图4 分级存储数据集群的数据读取速率

通过对全国山洪灾害防治管理平台分级存储数据集群进行测试,可以得知集群的数据写入和读取速率较高且比较稳定,同时也保证了多种格式的数据传输速率。

4 结语

全国山洪灾害防治管理平台分级存储数据集群,以信息生命周期为理论依据,采用分级存储技术和方法实现了该数据集群的搭建。搭建完成后的集群整体存储结构由在线、近线和离线存储层三层构成,在节省集群建设成本的同时,提供了大容量、可扩展的数据存储空间,以及较高的数据读写效率。有效保障了管理平台数据、计算密集型应用,以及对分级存储数据集群内部存储容量及数据读写性能等的特殊需求。

随着水利大数据应用的日益广泛,结合管理平台的实际需求,在分级存储数据集群中如何高效、准确地完成数据迁移也有待进一步深入研究。此外,基于水利数据的特性而定制的数据迁移策略,尤其对于水利遥感影像数据的迁移策略需进一步优化提升。

猜你喜欢

存储技术存储设备离线
异步电机离线参数辨识方法
浅谈ATC离线基础数据的准备
FTGS轨道电路离线测试平台开发
关于计算机网络存储技术分析
离线富集-HPLC法同时测定氨咖黄敏胶囊中5种合成色素
多级分布式云存储技术在公安领域的应用研究
数据存储技术的应用
浅析铁路视频监控存储设备设计
浮式平台水下电缆( 立管) 快速解脱及存储技术研究
Windows环境下禁用USB存储设备程序设计与实现