• 前言

阿里云对象存储(OSS)用户众多。很多用户因为业务或者合规性需求,需要对OSS内的数据做备份,无论是线上备份,还是线下备份。用户可以选择使用OSS的开放API,按照业务需求,做数据的备份,也可以选择OSS已有的服务进行数据备份,比如OSS的跨域复制。但是,前一种方式,存在易用性和备份效率问题;后一种方式,只是将数据存双份或者多份,无法有效规避原始数据出问题后,被复制的那份数据也出问题的风险。本文介绍的基于云存储网关和混合云备份的OSS数据备份方案,不仅能保证OSS数据按策略的多版本备份,而且配置简单,性能好,效率高,成本低。

  • 基于云存储网关和混合云备份的OSS备份

以下是基于混合云产品的OSS备份方案架构图。首先,通过一台云存储网关将OSS bucket中的文件反向同步至网关缓存中;在一台ECS上挂载云存储网关的目录,并安装混合云备份agent;最后,配置混合云备份策略和任务即可方便地将存储网关中的文件多版本的备份在云灾备库中。

基于混合云产品的OSS备份架构图

- 实施与配置

首先,用户需要登陆阿里云控制台,开通云存储网关服务 。此处需要注意一点:出于备份性能和效率的考虑,云存储网关和之后的混合云备份的区域应该跟备份源端OSS所在的区域一致。

这里我们创建一个性能型的云存储网关,保证OSS数据同步到云存储网关,以及后续云存储网关上的数据备份到灾备库的带宽和性能有保障。当然,用户完全可以根据OSS内的数据总大小和增速,文件数目,单个文件的大小来决定选用哪种类型的云存储网关。

创建云存储网关

创建完成之后,进入网关的管理配置页面,进行简单的三步配置:缓存设置,云资源设置和挂载目录设置。

云存储网关管理页面

缓存设置是将网关的缓存配置生效的过程。点击创建,选择可用的缓存盘即可完成创建。

缓存设置

云资源设置是将OSS bucket与云存储网关连接的过程。用户只需要选择同步的bucket名称即可。云存储网关支持SSL加密连接OSS,保证数据传输的安全。

云资源设置

目录设置是对客户端提供挂载目录的过程。云存储网关支持NFS和CIFS两种通用的NAS协议。这里我们配置NFS挂载目录。需要注意的一个配置项是‘反向同步’。因为我们需要将OSS bucket内的文件同步至云存储网关上,因此,反向同步需要选择‘是’。另外,‘模式’保持默认的‘缓存模式’。这样云存储网关只保留热数据及冷数据的元数据。而同步模式则是缓存盘大小和云上OSS的文件总大小保持一致。注意到高级设置中有‘方向同步时间间隔’一项,它的作用是让网关每隔多久去OSS拉去最新的文件,并同步到网关上。放在整个方案中考虑,该选项无需设置的很短,因为之后的混合云备份是按照小时或者天级别来定义周期性备份的,所以比较合理的设置是让云存储网关以小时级去反向同步OSS的数据。

NFS目录配置

至此,云存储网关上的配置就全部结束了。接下来,需要申请一台ECS来挂载云存储网关提供的NFS目录。这里申请一台内网带宽高的ECS与高性能网关的带宽匹配。之后,就可以去开通混合云备份了。开通之后,选择好区域之后,也只需要简单的三步即可:创建备份库,下载安装备份agent和备份策略和任务的配置。

创建备份库,十分简单:给备份仓库取名字,确定备份类型和下载客户端和证书。

创建备份仓库

选择备份类型

添加客户端

下载客户端和证书

将下载完成的客户端软件上传至之前申请的Linux ECS上,解压并安装。


上传并安装备份客户端

安装完成之后,在浏览器上打开这个URL:http://<云主机公网IP>:8011。之后,会弹出备份客户端的注册页面。需要用户输入之前下载的证书(注册和连接备份源和备份仓库的钥匙),AK认证信息和客户端登陆密码。因为备份的整个链路都在阿里云网内,所以网络类型需要选择‘专有网络(VPC)’。

备份客户端注册页面

注册成功之后,用户就能看到客户端备份页面。该页面是用户创建备份和恢复数据的入口。在备份之前,记得要将云存储网关的NFS目录挂载在这台ECS上。再回到备份客户端页面,可以先创建一个计划备份(立即备份是只备份一次,计划备份是按策略周期性的备份)。创建计划备份需要先创建一个备份策略。这里定义一个每天下午5点半开始的备份策略。备份数据会在备份库中保存2年的时间。

创建备份策略

接下来就是创建备份了。将ECS的挂载目录输入到源地址中,选择‘计划备份’和之前创建的备份策略,提交即可。

创建计划备份

提交之后,就看到了备份任务。看详情的话,就知道上次备份的状况和下次备份的时间。

计划备份详情

当时间到了之后,备份就会被自动触发。可以看到备份任务正在扫描文件总数和数据总量,并实时地显示备份速度。

执行中的计划备份任务

下图是备份过程中的一些统计。需要指出的是状态中的进度百分比会出现抖动,有时候会低于之前的进度。这是因为在统计备份进度的时候,是根据已备份的数据占总计备份文件的比例。因为云存储网关在不停地反向同步OSS的文件,这样就会在扫描文件的时候,出现备份文件的性能跟扫描文件性能交替的情况,导致用户看到的进度不是一直递增的。有些时候会出现进度变成了100%,但实际上,云存储网关马上又会同步很多新文件给备份服务去备份,进度又会变成90%多。

扫描完成后的计划备份任务

OSS上的文件数和存储空间统计

在备份进行中,还可以去云存储网关的监控页面查看缓存和网络吞吐性能。从下图可以看出来,网关从下午5点钟的时候就一致在持续从OSS中读取文件到被备份的ECS所读取。

云存储网关性能图

等待备份完成,可以看到这次备份的文件总数,和上面OSS控制台看到的文件数目是一致的。另外,就是用户最为关心备份性能,44.88MB/s。通过文件总大小和总数计算出,文件的平均大小为6.8MB左右,属于中等偏下的文件规格。考虑到很多目录结构很深,这样的备份性能是十分不错的。另外,因为云存储网关反向同步写磁盘和备份服务读磁盘,对于200G的缓存盘而言,也接近瓶颈了。如果用户的备份数据量比较多,单个文件更大,并且还想提高备份性能,可以增加缓存盘的容量。这种场景下,几百MB/s的备份性能也是可以达到的。

备份完成

还可以去控制台的混合云备份页面查看控制台上的备份仓库信息。可以看到进行了1次备份,也成功了。关键的信息是右侧的原始数据和实际占比。可以看到经过混合云备份后的数据,实际占用是1.31TB,小于原始数据的大小,因为混合云备份在将备份数据写到备份库的时候,对数据做了重删压缩。

备份库信息

  • 总结

云存储网关和混合云备份服务搭配的OSS备份方案是一款云原生的OSS备份方案,可以在阿里云控制台一站搞定。整个方案不仅可以满足OSS用户对于备份性能和多版本的要求,而且非常有性价比。云存储网关目前处于开放公测阶段,是免费的。混合云备份服务是按照备份客户端数目和去重压缩后的备份库容量收费,既可以按需购买,也可以购买资源包,灵活且用户友好。

另外,所有用户都会关心备份的数据一致性和数据安全。在整条备份链路中,云存储网关反向同步OSS数据到缓存盘的时候,会有数据一致性校验;在备份服务读取缓存盘数据,再写到备份库的时候,也有一致性校验。并且,整条备份链路是数据加密的。当数据写到备份库的时候,备份库的三副本技术也确保了用户数据万无一失。

最后,当用户需要恢复数据的时候,混合云备份服务可以细粒度到按文件恢复到指定目录,结合云存储网关的跨VPC访问的特性,可以做到数据恢复和分发的灵活性。

混合云存储组合拳:基于云存储网关与混合云备份的OSS数据备份方案的更多相关文章

  1. PCL—点云分割(基于形态学) 低层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5017428.html 1.航空测量与点云的形态学 航空测量是对地形地貌进行测量的一种高效手段.生成地形三维形貌一直 ...

  2. 阿里云数据库产品HybridDB简介——OLAP数据库,支持行列混合存储,基于数据库Greenplum的开源版本,并且吸收PostgreSQL精髓

    为什么会有HybridDB的诞生?它经历了怎样的研发历程?它的应用场景和情况是怎样的?带着这些问题,InfoQ对阿里云的数据库专家兼Postgres中国社区/中国用户会主席萧少聪先生进行了采访,以下文 ...

  3. 基于LAMP php7.1搭建owncloud云盘与ceph对象存储S3借口整合案例

    ownCloud简介 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于 ...

  4. 云方案,依托H3C彩虹云存储架构,结合UIA统一认证系统,实现了用户数据的集中存储和管理

    客户的声音 资料云项目在迷你云基础上二次开发,通过使用云存储技术及文件秒传技术,对文件进行统一存储与管理,以达到节约文件管理成本.存储成本目的:通过有效的文件版本控制机制,以达到风险管控的目的:通过多 ...

  5. 阿里云如何基于标准 K8s 打造边缘计算云原生基础设施

    作者 | 黄玉奇(徙远)  阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词 1219 即可下载本文 PPT 及实操演示视频. 导读:伴随 5G.IoT 的发展,边缘 ...

  6. OpenStack 企业私有云的若干需求(4):混合云支持 (Hybrid Cloud Support)

    本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...

  7. 阿里云 CDN 业务基于边缘容器的云原生转型实践

    导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力.架构,以及基于边缘容器 ...

  8. 云巴:基于MQTT协议的实时通信编程模型

    概要 有人常问,云巴实时通信系统到底提供了一种怎样的服务,与其他提供推送或 IM 服务的厂商有何本质区别.其实,从技术角度分析,云巴与其它同类厂商都是面向开发者的通信服务,宏观的编程模型都是大同小异, ...

  9. 基于Hadoop2.2.0版本号分布式云盘的设计与实现

    基于Hadoop2.2.0版本号分布式云盘的设计与实现 一.前言 在学习了hadoop2.2一个月以来,我重点是在学习hadoop2.2的HDFS.即是hadoop的分布式系统,看了非常久的源代码看的 ...

随机推荐

  1. String.join() --Java8中String类新增方法

    序言 在看别人的代码时发现一个方法String.join(),因为之前没有见过所以比较好奇. 跟踪源码发现源码很给力,居然有用法示例,以下是源码: /** * Returns a new String ...

  2. ADS 命令行命令介绍

    armasm 1. 命令:armasm [选项] -o 目标文件 源文件 2. 选项说明 -Errors 错误文件名        ;指定一个错误输出文件 -I 目录[,目录]          ;指 ...

  3. windows 远程登录

    在我的电脑  属性当中开启远程登录功能 然后制作账号,这里对于账号的命名是有要求的,具体网上查找说是要用户名和全名一样,我没有做测试,不过新创建了一个用户用来登录,总是告知我密码错误,导致登录失败,所 ...

  4. 5.Struts2框架中的ServletAPI如何获取

    1.完全解耦合的方式 如果使用该种方式,Struts2框架中提供了一个类,ActionContext类,该类中提供一些方法,通过方法获取Servlet的API 一些常用的方法如下 * static A ...

  5. Linux批量解压缩脚本

    #!/bin/bash # 批量解压缩脚本 # 作者: shaohsiung # 时间: // # Store all file names in the tmp directory with the ...

  6. Go Mixed 变量声明

    Go Mixed 变量声明 package main import "fmt" func main() { var a, b, c = 3, 4, "foo" ...

  7. 判断访问浏览器客户端类型(pc,mac,ipad,iphone,android)

    <script type="text/javascript"> //平台.设备和操作系统 var system = { win: false, mac: false, ...

  8. 天猫精灵业务如何使用机器学习PAI进行模型推理优化

    引言 天猫精灵(TmallGenie)是阿里巴巴人工智能实验室(Alibaba A.I.Labs)于2017年7月5日发布的AI智能语音终端设备.天猫精灵目前是全球销量第三.中国销量第一的智能音箱品牌 ...

  9. 执行SQL语句---SELECT

    1.通常从MySQL数据库中检索数据有4个步骤: (1)发出查询: 用mysql_query发出查询. (2)检索数据: 用mysql_store_result/mysql_use_result (3 ...

  10. mysql 第一次启动及常用命令

    启动 mysql -u root -p 进入后 # 显示有几个数据库 mysql> show databases; +--------------------+ | Database | +-- ...