云备份服务的架构设计与实现

2017-07-06 11:18陈东伟
移动通信 2017年10期
关键词:云存储

陈东伟

【摘 要】为了解决传统备份技术使用成本较高、易用性和扩展性较差的难题,引入云计算技术,存储后端采用云存储,研究新型的备份服务技术,提出云备份服务架构设计方案。实验证明,云备份服务具有低成本、高可扩展性和高可用性的特点,既可以有效解决传统备份技术的不足,又可以减轻中小企业在备份服务使用上的成本压力。

【关键词】云备份 智能备份 云存储 混合备份

1 引言

传统的备份技术虽然在一定程度上能满足当前市场对备份的需求,但其使用成本较高,易用性和扩展性方面也表现得不尽如人意,对中小企业而言,在备份服务上投入资金和人力,也是一种巨大的负担。引入云计算技术,研究新型的云备份服务,利用云服务的低成本、高可扩展性和高可用性的特点,既可以有效解决传统备份技术的不足,又可以减轻中小企业在备份服务使用上的成本压力。

传统备份软件采用代理服务器及备份服务器的架构来实现,备份服务器提供Web等管理界面,负责调度、备份任务、创建备份策略、客户端信息管理、元数据管理。代理服务器则负责把客户端数据业务备份到具体存储介质中。作为用于存储数据的存储后端,需要存储的备份数据会不断增加,由于数据量的激增,传统存储技术对数据的索引效率逐步下降,面臨大数据更会显得捉襟见肘。本方案服务端融合代理服务器及备份服务器功能,突破传统架构局限,精简备份结构,并以云存储[2]作为存储后端,避免存储系统与计算系统间存在传输瓶颈及单点故障的问题,降低备份系统管理维护成本,为数据存储的可靠性、稳定性提供保障。

2 云备份服务总体架构

研究云备份技术旨在形成具有行业前瞻性的云备份服务,并结合软件开发中主流的源代码管理工具、缺陷管理工具等开源技术,形成目前比较完整的企业级云备份解决方案,可以为中小型企业提供安全、稳定、可靠的云备份服务。本系统采用LAN-Base[3]组网方式,对中小企业而言,数据备份流量对备份服务器节点不会造成太大压力。

2.1 平台兼容性设计

总体而言,云备份从结构上可以分成两个部分:即管理整个备份还原等功能的Web管理控制台部分和底层根据管理控制台生成的配置文件实际执行备份操作的部分。软件设计的云备份过程由服务端驱动,备份数据由客户端传到服务端,再由服务端存储到云存储。恢复过程备份数据从云存储直接恢复到客户端。提供云存储的域名以及secret key和access key[4]即可在该设备上正常使用该用户的对象存储进行备份数据的存取。备份到云存储的数据可以不限时间不限地域不限终端地访问。

2.2 平台特性

本云备份服务特性之一是不使用任何专有格式备份数据,使用操作系统标准的基本应用程序dump[5]和tar[6],也提供在许多操作系统上可用的开源工具GNUtar[7]与smbtar[8],来将客户端需要备份的数据备份到备份服务器本地磁盘或者云存储中。本备份服务系统在结构设计上使用这些标准工具而不使用专有数据备份格式的目的是,在发生灾难或任何其他紧急情况时,用户可以手动恢复数据,即使没有安装云备份服务。

通信及身份验证方面,云备份客户端通过TCP和UDP之上自己的网络协议与云备份服务器进行通信,并使用系统root主目录中的.rhosts文件进行登记授权,使通信更为安全。云备份服务器端设计上可以指定允许与哪些客户端进行通信,以及允许执行的操作类型。对于数据恢复,出于安全原因只允许使用root用户恢复数据。客户端身份验证方面,除了通过使用自带的身份验证方式外,使用OpenSSH[9]来保障数据传输安全,备份客户端的身份验证。

3 平台核心组件工作原理

云备份服务平台的核心设计和实现主要包括三部分:云备份客户端、云备份服务端、云备份管理平台。系统中多个核心组件之间相互配合,共同完成将备份数据备份至云存储及还原的功能,系统整体设计思想和基本工作原理如图2所示。

3.1 云备份客户端

云备份使用的是C/S(Client-Server)架构[10]。云备份服务结构中,客户端接收到来自服务器端的备份命令后,对备份数据以标准压缩格式进行打包压缩并将压缩数据写到标准输出,云备份服务端收集数据并传输到存储设备(本地磁盘或者云存储)。索引文件保留对文件的索引信息,由客户端在数据打包时生成并发送给服务端。在数据还原时,服务端能够高效、准确地找到所需还原文件。

备份数据分为冷数据和热数据。对热数据而言,备份客户端采用Windows VSS(Windows Volume Shadow Copy Service)快照对数据进行热备份,避免在备份时对这些数据的使用用户及应用程序造成影响。热数据备份流程如图3所示。

客户端集成VSS服务,通过VSS代理请求器发送快照复制给VSS服务。获取到该服务对应用程序执行的快照后,由备份客户端将备份数据发送到备份服务端。

3.2 云备份服务端

云备份中的核心组件是云备份服务器,统一管理各客户端,管控如何将数据从客户端备份到云存储,及如何将数据还原到客户端。用户通过浏览器打开服务器端备份管理界面制定备份计划。服务器接收到执行计划后在开始备份前预估备份计划,然后按照用户制定的执行计划,发送备份命令至客户端让客户端打包好数据,抓取数据到服务器端进行缓存,并将数据索引存储进索引目录后再写入至云存储。

预估备份计划主要检测云备份客户端上哪些文件发生改变且发生改变的文件可能的大小,为后续备份方式的选择提供判断依据。

为降低备份架构带来的成本开销及保证核心备份组件功能的统一,备份服务器融合了备份介质服务器的功能,因此服务器又用于缓存数据。从客户端文件系统或客户端目录备份过来的数据只是一堆存放在磁盘上的文件。服务器使用一个独立的进程,使用尽可能大的吞吐量以实现将服务器中缓存的数据通过具体云存储接口写入云存储。云备份支持设置多个缓存目录,以便不同客户端的备份数据可以被发送到不同的缓存目录上。这增加了云备份的可扩展性,并提供了更好的负载,因为缓存目录可以在不同的控制器下用于平衡I/O。

云备份服务器端在完全备份、增量备份、差异备份三种备份[11]方式的基础上实现智能备份功能。智能备份主要通过独特的方法来调度,优化负载平衡。根据当前变化数据量等信息智能安排增量备份级别,根据整个服务端的负载合理安排全量备份。智能备份调度方法大致如下:例如,需要在周三和每个星期日为客户A、B、C进行全量备份,为客户D、E和F在其他时间执行增量备份。类似上例需求,通过对系统设置一些基本规则,然后让云备份自己去控制调度。例如,可以告知云备份以下规则:在7天时间内至少有一个全量备份,其他时间则是增量备份。这里全量备份之间的最大间隔时间称为“全量备份周期”。为了计算出最佳的备份级别,云备份在每次开始备份前都会执行一个所谓的“预估”操作。每个云备份客户端会运行专门的程序来检查哪些文件已经发生改变,并且改变的文件的可能大小。预估过程可能需要一些时间,特别是如果有许多客户端和文件系统的情况下。从所有客户端收集数据结束后,云备份进入所谓的“计划阶段”,并计算所有客户端的全量备份和增量备份的最佳组合。

假设整个系统有两个客户端,客户端备份目录为/home1和/home2,客户端B的备份目录为/home3和/home4,假设每个主目录为100 GB,数据变化率是15%,而全量备份周期为4天。为简单起见,假设云备份每次写备份数据到独立标记的目录中,且每次都是执行级别为1的增量备份。每次运行云备份会安排数据总量×1/全量备份周期的数据进行全量备份。为了简化,设置全量备份周期为4天,因此周期内备份1中会有四分之一的数据进行全量备份,例如/home1。对于周期内备份2中又会对另一个1/4做全量备份,例如/home2和/home1增量备份是15 GB(100 GB的15%),依此类推对周期内备份3会做/home3的全量以及/home1和/home2的增量备份。4天初始备份完成之后,云备份将运行一个/home目录的全量备份和其他所有home目录的增量备份,简单计算每个周期内备份数据的总量如表1所示。

周期内的第一次和第二次备份的数据量计算是很简单的,第三次运行时的/home1备份,必须要考虑其中的一个15%是100 GB的15%中再次发生变化的数据。为了避免重复计算,必须从30 GB减去两次变化重叠的区域。因此,对于增量为/home1的周期内备份3的备份数据规模将是:

4 与传统备份的比较分析

本系统采用LAN-Base组网架构,为了对比的需要,展示相同组网架构下的传统备份架构,具体如图4所示:

如图4所示,传统备份中心由介质服务器、备份服务器、备份介质构成。备份数据必须经过备份介质服务器才能存入备份介质中。LAN-Free[3]组网架构下的传统备份更是每台需要备份数据的服务器都得安装介质服务器,这就增大了成本开销及运维开销。在可靠性方面,传统备份架构简单,数据保护能力差。而云备份基于云存储做后端存储,云存储服务的耐久性给数据可靠性提供保障。在扩展性方面,传统备份扩展性低,需要花巨大开销进行扩展,云备份提供无限的扩展能力,无需担心后端存储的扩展问题。

备份方法上,传统的备份方法主要采用直接从生产环境中通过磁带备份连续写入的方式。这种方式效率较低,难以应对数据量激增给IT环境带来的超负荷挑战。传统的备份方法不能全局性地解决冗余数据激增的问题,这一问题会导致对网络、存储和管理资源的过度消耗。这些都限制了企业恢复和使用受保护数据的能力,增加了数据恢复和查找所需的时间。基于分布式云存储后端的云备份,依靠其易扩展性,处理冗余激增只需扩展其存储空间即可。在备份方案上,传统的备份解决方案往往基于一系列松散集成的工具,这将越来越难以满足这种大规模、多样化的数据备份需求。对云备份集成系统基本工具而言,即使云备份系统崩溃,也能通过系统基本工具进行恢复。因此,由上述比较可知,云备份在大多数方面是优于传统备份的。

5 结束语

本文所设计的系统主要为中小企业提供便捷可行的云备份服务平台。在结构上与传统备份结构存在差异,核心组件融合备份服务端功能及备份介质服务功能。在三种备份方式上添加智能备份,智能地选择对数据的备份级别,有利于服务器端备份数据量动态负载均衡。存储后端采用云存储,为备份数据的可靠性、安全性提供保障。随着云计算技术的不断发展,分布式云存储的优势不断地在实际应用中展现,利用云存储的高扩展性、高可用性和低成本来解决常规备份介质的不足已经在业界得到共识,使用云备份取代传统备份已经成为发展趋势。

参考文献:

[1] 罗军舟,金嘉晖,宋爱波,等. 云计算:体系架构与关键技术[J]. 通信学报, 2011(7): 3-21.

[2] 任宇宁. 云计算时代的存储技术——云存储[J]. 科技传播, 2012(3): 214-215.

[3] taojin1240. 图解三种备份方式(LAN,LAN free,Server free)[EB/OL]. [2017-05-10]. http://taotao1240.blog.51cto.com/731446/839702.

[4] Amazon Web Services. Amazon Simple Storage Service(Amazon S3)[EB/OL]. [2017-05-10]. http://aws.amazon.com/cn/s3/.

[5] runoob.com. linux dump命令[EB/OL]. [2017-05-10]. http://www.runoob.com/linux/linux-comm-dump.html.

[6] linuxde.net. Tar命令[EB/OL]. [2017-05-10]. http://man.linuxde.net/tar.

[7] Gnu Operating System. Gnu Tar[EB/OL]. [2017-05-10]. http://www.gnu.org/software/tar/.

[8] smbtar(1)-Linux man page. smbtar-shell script for backing up SMB/CIFS shares directly to UNIX tape drives[EB/OL]. (2016-10-21)[2017-05-10]. https://linux.die.net/man/1/smbtar.

[9] openssh.com. OpenSSH Features[EB/OL]. [2017-05-10]. http://www.openssh.com/features.html.

[10] xinpo66. CS架構介绍[EB/OL]. (2012-11-15)[2017-05-10]. http://blog.csdn.net/xinpo66/article/details/8187998.

[11] zhaowcheng. 三大备份方式(完全备份、增量备份、差异备份)浅析[EB/OL]. (2014-04-02)[2017-05-10]. http://blog.csdn.net/zhaowchengblog/article/details/22821627.

猜你喜欢
云存储
基于椭圆曲线的云存储数据完整性的验证研究
高校档案云存储模式探究
地铁高清视频存储技术的应用分析
云数据存储安全关键技术研究
基于云存储的气象数字化图像档案存储研究
试论云存储与数字版权的冲突、法制与协同
云存储出版服务的版权侵权责任风险分析
云存储技术的起源与发展
基于云存储的数据库密文检索研究
浅析龙岩烟草业务数据与监控数据中的云存储与大数据