银行云环境下对象存储数据保护研究
2022-04-15陈亨迪
摘 要:随着银行业务数字化转型,影像平台、AI学习、大数据分析、协同办公、备份归档等应用场景已经使用对象存储来处理海量非结构化数据。对象存储多采用分布式架构,相比NAS文件存储有着更好的扩展性,更灵活的访问方式,更丰富的管理接口。但海量文件也带来了数据安全性和可用性方面的问题,文章研究了对象存储多版本、回收站、分层归档、多站点、对象备份等多种数据保护技术,结合业务数据重要性的分类与识别,实现对象存储数据的差异化保护,确保业务数据的安全性和业务连续性。
关键词:对象存储;对象多版本;对象容灾和备份;对象分层
中图法分类号:TP392
文献标识码:A
Research on data protection of object storage in bank cloud environmentCHEN Hengdi
(Shanghai Pudong Decvelopment Bank, Shanghai 200000 , China)
Abstract:With the digital transformation of banking business, application scenarios such as imagingplatform, AI learning, big data analysis, collaborative office, backup and archiving, etc. , have usedobject storage to process massive unstructured data. Object storage mostly adopts a distributedarchitecture, which has better scalability, more flexible access methods, and richer managementinterfaces than NAS file storage. However, massive files also bring data security and availabilityissues. This paper studies various data protection technologies such as versioning, recycle bin, tiering , multisite, object backup, etc., combined with the classification and identification of theimportance of business data, realizes differentiated protection of object storage data, and ensures thesecurity and business continuity of business data.
Key words: object storage, object versioning, object disaster recovery and backup, object tiering
1 引言
由于对象存储比NAS文件存储支持更多的海量非结构化数据,如文档、图片、视频等,因此银行在互联网业务、影像平台、办公网盘、大数据分析等应用系统中开始广泛使用对象存储。单套对象存储采用分布式架构,实现了数据以三副本或EC纠删码方式分布在不同的故障域(故障域以节点或机柜为单位),允许跨故障域的2个存储节点或2块硬盘同时出现故障而不影响业务访问。虽然对象存储本身提供了较高的数据可用性和安全性,但无法避免数据中心级别故障、单套对象存储集群软硬件缺陷,人为误删误改、恶意加密覆盖等情况下,或引起对象文件长时间无法访问或对象文件数据丢失的重大故障。本文通过研究对象存储提供的多种数据保护功能,结合对银行业务系统和存储数据的重要性分类及生命周期管理,形成针对不同级别对象存储数据的保护能力,以提升对象存储的数据安全性和相关应用系统的业务连续性[1]。
2 对象存储数据保护技术
2.1 多版本
针对存储桶( bucket)开启多版本功能,可以在存储桶巾保留多个对象版本,防止意外覆盖、意外删除对象文件,并保留和检索多个早期版本的对象文件(图1)。启用多版本后,往桶巾上传同名文件时,不会覆盖原对象文件( ID= llllll),而是生成新版本ID (121212);删除对象文件时,所有版本会被保留并插入删除标记。
2.2WORM (法规遵从)
WORM( Write Once Read Many)支持一次写入,多次读出,对象写入后,在设置的保留期限内不能对文件进行修改、删除或移動,但是可以多次读取。
2.3 对象回收站
开启存储桶回收站功能后,被删除的对象文件(包括开启多版本功能的版本文件)可以在对象回收站内继续保留,用于数据恢复,同时回收站本身支持数据生命周期策略,可以自动删除到期的回收站内文件,也可以将回收站内的数据归档到冷存储。
2.4 分层归档
在对象主存储上,添加次级存储(次级存储可以是兼容S3协议且更廉价的对象存储、磁带库、光盘库、云存储等)。通过设置数据生命周期策略(如基于对象创建时问和前缀进行过滤),将主存储上的历史对象文件分层或归档到次级存储。分层是复制元数据和数据到次级存储后,主存储端仍保留无数据,方便在原存储桶中直接读取历史数据或回源历史数据。归档是复制元数据和数据到次级存储后,在主存储端同步删除元数据和对象数据,历史数据只能在次级存储进行访问。
2.5对象多站点
在跨数据中心的多套对象存储上,创建多站点桶(以跨两个数据中心的双活桶较为常见),底层在每个站点都创建了一个同名的对象桶,每两个站点的桶之间进行双向异步复制,在确保数据最终一致性的情况下实现每个站点的桶都可读写,实现多活。多站点功能结合智能DNS实现各个站点对象存储的就近读写和单站点存储故障情况下的门动切换,即由智能DNS提供多个站点桶的统一访问域名,每个站点的域名请求优先返回本站点对象存储的IP地址,只有当本站点对象存储IP无法访问的时候才会返回其他站点对象存储的IP地址(图2)。
2.6 对象备份
对象备份是指将一个源桶的众多文件备份至日标桶中,一般需要独立部署执行此备份的计算资源(虚拟机或容器),该计算资源需要有源桶和备份桶的访问权限。为确保发起备份II寸的桶内数据有一个较为完整的时间点切片,需要提前开启源桶的多版本功能。
3 对象数据分类及数据保护
3.1 对象数据保护技术适用场景和局限
针对各种对象存储数据保护技术,其适用场景和技术局限如表l所示。
3.2 对象数据重要性分类
根据访问对象的应用系统重要性、对象数据冷热程度等多个维度进行对象数据分类。按照应用系统重要性可以分为:关键应用系统(关键对客交易),重要应用系统(重要对客交易、关键基础平台、关键监管报送),普通应用系统(普通对客交易和监管报送、一般基础平台、重要办公和内部管理),次要应用系统(普通办公和内部管理)。
按照对象数据热度可以分为:热数据(业务交易及批处理相关数据),温数据(短期交易查询、近期数据报表和审计数据),冷数据(备份及历史归档数据)。结合应用系统的重要性分类以及对象数据的冷热程度,可以明确对象文件的重要性分级,具体如表2所示。
3.3 对象数据分类保护
按照应用系统业务连续性可以分为跨中心部署和单站点部署两大类(表3)。结合对象数据重要性,可以形成对应的对象数据分类保护策略。
针对重要性为一级的对象数据、关键应用和重要应用的二级数据,由于其存储的是关键业务数据,因此需要跨站点做数据复制,不允许单站点部署,以避免单数据中心故障导致数据丢失(图3)。普通应用和次要应用的二级数据可以做单站点部署,但需要考虑跨站点进行对象备份,即将桶内数据备份到另外站点的存储桶中,避免单个数据中心故障后的数据完全丢失,RPO为天级。一级、二级数据还需要同步开启多版本和回收站功能,以防止逻辑误删误改和恶意篡改。
二级数据多为不再修改但偶尔查询的温数据,需要配置分层或归档策略,将相关数据从主存储迁移到性能较差但价格便宜的次级存储保存,减少主存储容量和负载。若采用分层,元数据在主存储仍有保留,当需要从次级存储访问数据时,可以从次级存储访问数据[2]。
三级、四级对象数据主要是备份归档的冷数据,可以开启WORM来保护数据,只有在文件过期后力可修改和删除。为确保备份归档数据的安全性,需要针对三级的备份归档数据进行跨同城站点的对象备份,避免单集群或数据中心故障导致重要备份归档数据丢失。四级对象数据开启WORM即可,不需要实现备份归档数据的跨站点备份。
4 对象数据保护应用实践和价值
(1)确保重要数据安全。组合多站点、多版本、回收站、对象备份等对象存储技术,实现关键业务数掘的跨站点冗余,可在误删、篡改等意外情况下进行数据恢复。
(2)应用数据生命周期管理。应用系统在上传数据到对象存储时,建议在文件的前缀、后缀及自定义标签中增加对象数据用途和数据类型的标记,以便后续通过生命周期规则实现对象数据的分层和归档,避免将所有数据都存放在单个存储集群或存储桶中。
(3)结合对象多站点开展业务连续性演练。对象存储实施多站点只是实现了数据的跨站点复制,应用层面能否在单集群故障情况下实现对象数据的继续访问,需要结合对象多站点开展应用双活或灾备演练,确保业务连续性。
5 结束语
对象存储作为海量非结构化文件的存储首选,其数据的防护和备份不应被忽视。通过组合使用对象多版本、對象回收站、对象多站点、WORM、对象备份等技术手段,以适配不同重要性和业务连续性的应用系统,确保对应生产和备份归档数据的完整性、安全性及可恢复性。对于使用对象存储的应用系统,也需要同步考虑对象存储中应用数据的生命周期管理,在应用设计中对写入数据进行分类和标记,并结合分层归档实现数据流动。
参考文献:
[1]罗庆超.对象存储实战指南[M].北京:电子工业出版社,2021.
[2]胡世杰.分布式对象存储:原理、架构及Go语言实现[M].北京:人民邮电出版社,2018.
作者简介:
陈亨迪(1983-),本科,中级工程师,研究方向:传统架构和云架构的存储备份。