深圳市顺风车网络科技有限公司官方

影像平台的对象存储改造优化之路

发布日期:2022-08-07 03:25    点击次数:90

一、对象存储基本知识

对象存储,也称为“面向对象的存储”,英文是Object-based Storage。有时也直接称之为“云存储”。

对象存储和传统的存储有着本质的区别。DAS和SAN是基于物理块的存储方式,操作对象是磁盘。存储协议是SCSI、iSCSI、FC。以SCSI为例,主要接口命令有Read/Write/ReadCapacity/Inquiry等,而NAS是基于文件的存储方式,操作对象是文件和文件夹。存储协议是NFS、SAMBA(SMB)、POSIX等,文件相关的接口命令包括:READ/WRITE/CREATE/REMOVE/RENAME/LOOKUP/ACCESS等,文件夹相关的接口命令包括:MKDIR/RMDIR/READDIR等。对象存储的底层硬件介质依然是硬盘,和块存储、文件存储没有区别,但它主要操作对象是对象(Object),存储协议是S3、Swift等,主要接口命令有PUT/GET/DELETE等。

由于对象存储操作的是对象,相对于传统存储来说并没有完整的文件的概念,因此在对象存储不支持直接打开/修改文件等操作,只能先下载、修改,再上传文件。

图1:对象存储中文件的基本访问方式

对象存储呈现出来的是一个“桶”(bucket),文件以对象的形式存储在对象存储中。对象包括三个部分:Key、Data、Metadata。

图2:对象存储桶存储示意图

Key可以理解文件名,是该对象的全局唯一标识符(UID)。Data用户数据本体。Metadata叫做元数据,类似数据的标签,是对象的各种描述信息。在传统的文件存储里,这类信息属于文件本身,和文件一起封装存储。而对象存储中,元数据是独立出来的,并不在数据内部封装。元数据的好处非常明显,可以大大加快对象的排序,还有分类和查找。

二、对象存储优点 容量无限大

对象存储的容量是EB级以上,硬盘普遍是TB级别,1EB约等于1TB的一百万倍。对象存储的所有业务、存储节点采用分布式集群方式工作,各功能节点、集群都可以独立扩容。

数据安全可靠

对象存储采用了分布式架构,可支持多副本多设备冗余部署或纠删码方式多节点部署,实现异地容灾和资源隔离。数据访问方面,所有的桶和对象都有ACL等访问控制策略,所有的连接都支持SSL加密,OBS系统会对访问用户进行身份鉴权。因为数据是分片存储在不同硬盘上的,所以即使有坏人偷了硬盘,也无法还原出完整的对象数据。

使用方便

使用对象存储数据的存取方法非常灵活多样。除了可以使用网页(基于http)直接访问之外,大部分云服务提供商都有自己的图形化界面客户端工具,用户存取数据就像用网盘一样。

三、对象存储特点

由于对象存储的访问特性,需要把整个文件取出来,修改完成再放回去,因此并不适合存储需要频繁擦写的数据(比如联机交易数据库的数据),对象存储主要应用在低频访问类型和归档类型应用上。由于分布式多节点部署,在各节点之间需要保持数据的一致性,因此也不太适用于存储对一致性要求比较高的联机交易数据。

四、影像平台引入对象存储的背景

G行影像业务平台始建于2007年,系统最初的主要目标是为客户证件影像图片、客户合同单据影像文件、网点单据缩微影像文件、各类业务报表文件等非结构化数据文件提供存储和管理。但是随着业务的高速发展,以及系统运行时间的增加,影像平台面临以下困难和挑战:

01业务应用场景多样化

业务需求已经从最初的图片文件和报表文件,逐渐向音频、视频演进,对存储的需求量急速增长,到目前为止,影像平台存储管理的非结构化数据已经达到600余T,预估还将以每年100T的数据快速增长,高速增长的海量数据正在给影像平台造成越来越大的存储和管理压力,急需大容量存储技术支持。

02系统升级难度大,容量风险高

为了管理海量数据,G行影像业务平台基于某内容管理产品搭建。影像文件需要长期在线保存,文件管理规模随着系统运行时间的增加而快速增长,当内容管理产品版本更新时,旧版本产品中的文件迁移难度太大,因此采用新建库升级的模式,先后搭建了A类历史库、A类在线库和C类在线库,各个库之前的产品版本无法保持一致,低版本产品无法及时进行更换,相应的服务器、操作系统、数据库等均无法进行及时升级,升级难度较大,系统长期处于容量中风险。

图3:影像平台扩充建设示意图

03维护和扩容成本高,风险大

影像平台目前使用的SAN和NAS存储、扩容能力受限,扩容成本高。随着管理内容不断增加,主机服务器上挂载的磁盘数量越来越多,在系统切换,公司介绍服务器重启过程中,需要对磁盘进行逐一挂载,耗时较长,无法满足系统在应急情况下的快速灾备切换要求。随着新建内容库的增多,系统体量逐渐变大,应用系统部署架构变得越来越复杂,维护难度大。

04产品支持存在风险

系统使用的内容管理产品几经转售,目前属于某国外产品的子产品,产品的售后服务支持延续性缺乏稳定性,存在一定的风险。且随着产品的升级换代,目前历史库使用版本老旧,该版本厂商的支持力度很有限,产品运行风险逐渐增加。

为了解决影像平台系统面临的上述问题,降低对特定产品的依赖,降低系统运行风险,简化系统部署架构,降低运维难度,降低数据存储成本,急需对我行影像平台进行改造优化。综合考虑影像文件存储体量大,文件生成后修改和变动的概率较小,大部分处于静态只读状态,需要长期保存的这些特点,与对象存储的产品特性契合度较高,经过充分评估和测试,2019年我行决定在影像平台引进某国产品牌分布式对象存储,提供轻量级标准化存储层访问协议,解决目前非结构化数据的扩容能力瓶颈,并进行部分业务的试用。

五、改造优化现状

为了顺利完成平台的改造优化,针对对象存储的使用,影像平台制定以下实施原则:

非关键业务先行试用 稳步推进,逐渐推广 新旧并存,稳定为主

2019年以来,影像业务平台对象存储改造优化一共完成了以下3方面工作:

01产品引入:分布式对象存储产品部署

推进硬件设备进场,完成相关功能、非功能测试后,正式在生产环境完成对象存储部署。

影像平台对象存储的部署使用两个机房互为主备,由应用程序通过配置决定主端。比如,应用程序配置以A机房为主节点,承担影像文件的读写操作,则B机房为备节点。两个机房之间进行数据的准实时同步。

图4:影像平台对象存储部署示意图

02应用试点:影像平台现有报表相关业务

选用报表业务作为试点业务,在2020年完成影像平台报表文件向对象存储迁移,并将报表的导入、下载等日常访问全部切换到对象存储。

03数据迁移:影像业务平台历史数据迁移

在2020年底启动影像平台A类历史库影响文件向对象存储迁移工作,经过近9个月的不断调优,已经完成近200T数据的迁移,预计到22年年中完成全部A类历史数据迁移。

 

图5:影像平台并行期部署架构

六、后续改造规划

后续针对对象存储的改造优化,影像平台还将完成以下两方面工作:

01推广实施:自存量数据向批量数据迁移

A类历史数据迁移完成后,将分阶段切换现有业务至对象存储中,对象存储承担A类历史影像文件的查询和下载功能,同时存储体系为内容管理产品与分布式对象存储并存,提供A类在线影像文件的存储、查询和下载功能。

02技术替换:逐步接替内容管理产品,搭建基于对象存储的在线非结构化数据平台

于对象存储的在线非结构化数据平台对象存储在线业务稳定运行后,将数据迁移至对象存储,对象存储作为唯一的存储体系承接影像所有业务。将内容管理产品从影像平台全部剥离,彻底完成对影像平台的轻量级改造,G行影像内容管理将迈上一个新台阶。

图6:影像平台最终部署架构

七、运维经验总结

对象存储与传统存储工作原理不一样,使用方式和维护方式也不一样,因此在引入对象存储之前,需要在部署、监控、测试、维护等方面进行技术储备,确保对象存储引入后的平稳使用;

关注对象存储的资源使用情况,以及节点间数据一致性。对象存储自带CPU和内存等资源,使用过程中需要关注该类资源使用情况,有异常时及时跟进优化;此外,对象存储会存在各节点之间数据一致性不同步的问题,使用过程中需要重点关注,如出现不一致,需要及时进行干预保证数据一致性,避免在发生切换的时候存在数据使用上的错误。

技术维护人员需保持开放的思维意识,随时关注新技术的发展与变化,随时思考如何使用新技术解决运维过程中面临的各种难题,切勿固步自封。与时俱进,方得始终。