APP下载

阿里云存储在光伏生产企业中的应用

2021-04-12董若旭

科技风 2021年6期
关键词:备份

摘 要:本文从企业面临的实际痛点、需求出发,通过阐述光伏制造企业现有备份方案下存在的风险和面对的问题,根据阿里云推出的阿里云对象存储oss服务,设计出一种linux系统环境下基于云存储本地挂载技术以及Rsync算法的文件备份方案。通过现有开源工具如inotify、Rsync、ossfs以及基于现有MES系统查询追溯功能二次开发,实现了数据的实时增量备份,长期备份,按需购买存储空间,以及海量数据快速查询检索。利用ossfs工具将云端存储池挂载为一块可读、可写、可执行的本地存储目录,利用Rsync算法实现文件自动同步备份,增量备份,减少传输数据,节省带宽。项目的顺利实施,节约了企业投入成本的同时进一步提高了数据的安全性。

关键词:对象存储;备份;ossfs;阿里云

1 背景

随着信息系统在企业生产、经营过程中发挥着越来越重要的作用,信息系统的数据安全变得至关重要,系统运行以及数据保存是否安全直接决定了企业业务的正常运行。随着企业的发展,会产生大量离散的电子文件数据,种类繁多并且需要长时间保存。通常企业会通过搭建文件服务器的方式,进行关键数据的备份,在系统或数据库层面虽然可以借助于一些成熟的技术如raid磁盘阵列、双活冗余、虚拟化、RAC、dataguard等方式,保障服务器、数据库的数据安全,但是,依然面临着如硬件损坏、设备过保、更新换代成本过高、火灾或自然灾害等问题和风险。本着数据存储安全性高、投入成本较低的目的,晶澳太阳能科技股份有限公司将目光投向了云端存储的方向,结合公司实际需求,取得了良好的成效。

光伏组件太阳能在生产过程中需要对每一块电池板进行EL检测,每一块电池板会生成一张EL测试图片如图1所示,该图片通过施加反向电压后用专用相机拍摄,可以清晰的呈现出电池板内部缺陷,比如隐裂、断栅、黑心等问题,生产过程中质量、工艺等人员需要通过EL图片对产品抽检分析,产品发到客户手中,客户也会要求导出该图片与实物进行比对。该图片每个大小在1MB作用,根据产能,数据日增量达到数十GB,根据晶澳对于产品质保25年的承诺,意味着这些图片数据需要保存25年之久,并且可以随时导出。这就给IT造成了一定压力,一方面,25年时间里如何保证这些数据的存储安全;另一方面,图片数据增量庞大,现有的存储设备存满后怎么办,更换新的存储设备需要多少容量,新旧存储设备更替周期需要几年,如何快速地将历史数据复制到新存储设备中,面对海量数据如何能快速检索出需要的那一张图片。鉴于以上几个问题,我首次向公司提出了图片数据迁移上云的设想,经过反复实践,解决了这一棘手的问题,节约了投入成本、维护成本的同时也保障了数据的安全性。

2 相关技术及原理

2.1 对象存储OSS

对象存储OSS是阿里云提供的云存储产品。支持按需购买,自动扩容。简单的说,就是阿里开通的一个文件存储的服务。使用阿里云存储需要注册一个账号,注册后需要创建Bucket存储桶即存储空间的意思,其空间理论上是按需分配的,只要定期支付费用就可以随着使用量自动扩展,这一方面就解决了企业内部存儲需要不断加盘柜扩容的问题。要使用这块存储空间需要AccessId和AccessKey进行授权。获取到AccessId和AccessKey后,将其加入配置文件,就可以使用挂载工具挂载这块存储空间了,从而可以使本地的Linux服务器多出一块像本地目录一样的空间。

2.2 OSSFS挂载工具

OSSFS就是基于阿里云对象存储的fuse客户端,且OSSFS只支持Linux系统。Fuse即filesystem in userspace,是Linux系统中用于挂载某些网络存储到本地的模块。OSSFS安装成功以后,通过挂载命令就能使用了。

2.3 Rsync同步工具

RSYNC是Linux系统下常用的文件备份工具,其与CP命令的不同之处在于只复制发生变化的部分而不是整体遍历覆盖,并且可以保持文件的原有属性权限,从而保持源目录和目标目录数据的完全一致。而实现这种功能是因为其独有的算法。基于这一特性,我们很容易实现源目录和目标目录两个固定目录下的数据备份需求,只需要定期运行RSYNC命令就可以实现两个目录的数据同步,[1]同时RSYNC加上inotify工具就可以实现监听备份的功能,源目录一单发生数据的增加、删除、修改等操作,通过inotify的监听就可以触发RSYNC进行数据同步。[2]

3 项目实施的主要内容

3.1 在Linux服务器上安装OSSFS工具

ossfs安装过程中报错,系统存在老版本的fuse与ossfs软件包中的冲突。卸载本机自带的fuse软件包,具体如下:

rpm-qa| grep fuse //查看rpm

rpm-ev--nodeps fuse-libs-2.8.3-4.el6.x86_64 //卸载

yum localinstall ossfs_1.80.5_centos6.5_x86_64.rpm--nogpgcheck //安装软件包

3.2 挂载存储

ossfs在成功安装后挂载存储报错,ossfs:/usr/lib64/libcrypto.so.10:no version information available(required by ossfs)。仍然是系统内核版本过低,软件包版本低导致的问题,官方要求需要centos7内核版本以上,公司服务器使用redhat6.5系统。因此需要通过yum更新一下依赖包。

yum update openssl //通过yum更新系统openssl软件包及依赖包

3.2.1 通过ossfs挂载云存储到本地

echobucketid:secret key > /etc/passwd-ossfs //生成密码文件

chmod 640 /etc/passwd-ossfs //修改权限

mkdir /wocloud //建立挂载目录

ossfsbucketid /wocloud-ourl=http://oss-cn-beijing.aliyuncs.com-o allow_other //挂载云存储并允许其他用户访问挂载目录

3.2.2 设置开机自动挂载

Vi /etc/fstab

ossfs#bucketid /wocloud fuse _netdev,url=http://oss-cn-beijing.aliyuncs.com,allow_other 0 0

正常挂载云存储后如图所示:

至此服务器多出一块256TB实际可按需扩展的存储空间,如图2所示。

4 图片数据的自动同步和检索导出

在云存储创建备份目录,编写shell脚本,加入计划任务。结合inotify实时监控指定目录下文件变化,当检测到有新增文件变化时将发生变化的文件路径交给rsync进行拷贝,减少rsync循环遍历整个目录的过程,while do循环执行,达到实时同步的目的。

海量图片如何能够快速检索出需要的那一张?如果采用遍历查找的方式将会极大地消耗服务器的资源,我们研发了图片上传程序,即每向服务器上传一张图片,自动向数据库中追加一条数据,记录下图片在服务器的保存位置信息。每张EL图片都有唯一ID命名,当需要查询某一块EL图片时,输入该组件ID,后台通过数据库查找到该图片的保存路径信息,并将该路径信息字符串取出,通过文本替换方式,获取到其对应在云端的保存路径,最后通过调用SMB服务实现在线预览和批量导出。[3]

5 结语

关于EL图片备份的问题,即面对数据量的不断递增,以及数据保存25年以上的需求,如何既能保证数据存储的安全性,又能将硬件投入成本降到最低。此前公司有的基地采用了购买大容量存储服务器的方式,存储容量达到100TB左右,一次性投入几十到上百万元;该做法虽然暂时免去了数据备份迁移的操作,足够的空间余量可满足日益增长的数据量需求,但是设备运行三年以后,官方售后过保,如何保障后续设备运转正常,如何保障历史数据的安全,仍然没有妥善解决。

因此,通过引入阿里云存储的做法成为解决该问题的最终方案,一方面将硬件投入、维护成本转移到阿里云,无须考虑空间不足或硬件老化等问题,阿里云具备完善的备份冗余技术,可保障数据的安全性。另一方面,实现按需投入,每月定期支付增量数据对应的费用即可,免去了一次性高投入。

通过ossfs技术,实现服务器本地挂载阿里云存储,即服务器多出一块没有空间限制的磁盘,且可以像操作本地硬盘一样操作远程云存储。该技术的意义在于,车间客户端在无法连接外网的情况下依然可以从云端拉取数据,按原有的方式导出任意一块组件的图片数据。

参考文献:

[1]彭勇,刘晓洁,邓洪敏.基于差异的远程文件备份与恢复方法[J].四川大学学报,2009(02):348-352.

[2]李夷苒,李濤,胡晓勤,马晓旭.基于事件的文件备份方法研究与实现[J].计算机工程与设计,2010(18):3957-3959.

[3]林国庆,王静,陈汝伟.基于索引的文件备份方案[J].电子设计工程,2011(19):165-167.

作者简介:董若旭(1992— ),男,河北邢台人,本科,制造业MES系统工程师。

猜你喜欢

备份
SQL Server 2019全库备份的过程与内容研究
利用云备份微信聊天记录
简简单单备份恢复磁盘分区
如何只备份有用数据而不备份垃圾数据
用活Windows 10环境下的备份功能
全方位备份,就用Acronis True Image
Windows10应用信息备份与恢复
即时恢复:快速恢复丢失文件的方法
巧施“急救术”,快速恢复本本活力
无需ROOT手机应用轻松备份