利用rsync和云存储网关备份文件到阿里云对象存储

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本文通过具体的实践展示了利用rsync和云存储网关将本地目录备份到阿里云对象存储的方案。

背景

随着数字化在我们日常生活中越来越高的比重,各行各业不可避免的产生越来越多的数据。对于日益增多的数据,我们都有着备份的需求。如果有一套方案能够提供无限的存储空间,可以存储所有主机上的数据的备份,那么我们就再也无需担心数据的增长了。阿里云对象存储是一种海量、安全、低成本、高可靠的云存储服务,能够完美契合我们的需求。而且通过将数据备份放在云端,本地就不再需要预留任何存储空间给备份,可以大大提高本地存储空间的利用效率。

如果我们想将数据从当前主机定期备份到阿里云对象存储,有没有什么好的方法呢?我们可以利用rsync命令,rsync是linux下面的一个非常强大和高效的工具,可以在指定的源目录和目标目录之间进行数据的同步,并且能够实现增量备份。不过它的源端和目标端都是目录,而阿里云对象存储的访问协议是RESTFUL的接口,没有办法直接通过文件的协议进行访问。这时候就需要用到云存储网关了,云存储网关能够将RESTFUL的对象访问协议转换为传统的NFS/SMB文件访问协议,大大降低应用对于对象存储的适配。而且通过云存储网关提供的文件接口进行备份,源端文件的uid/gid之类的文件属性在备份到OSS之后也不会丢失。接下来我们通过具体的实践来展示整个数据备份的过程。

配置实践

我们本地有一个/working的目录,我们需要将这个目录里面的数据备份到OSS存储桶里面的/rsync/目录里面。

[root@hz1 working]# ls

dir1 dir2 dir3

[root@hz1 working]# pwd

/working

我们首先创建了一个云存储网关并创建了一个NFS共享。如果不熟悉云存储网关,可以参考如何在Linux上挂载OSS Bucket,里面详细描述了创建网关NFS共享以及挂载的过程。下面就是我们创建的NFS共享,这里NFS共享的数据最终会存储在OSS Bucket里面的rsync子目录里面。

share.png

在我们的主机上,云存储网关的NFS共享的挂载点位于/oss,刚开始里面什么数据都没有。

[root@hz1 /]# mount 172.16.0.241:/test-rsync /oss

[root@hz1 /]# ls /oss

[root@hz1 /]#

现在源端目录和目的端目录都已经有了,接下来就该使用rsync进行数据备份了。rsync功能很强大,但是使用起来却非常简单。通过下面的命令我们就可以进行备份了。-r选项表示对源目录进行递归操作。-a选项表明备份的时候保留文件uid/gid/owner/mtime等基本的文件属性,其中mtime属性会被用来后续判断增量。以/working或者/working/方式指定源目录决定了目标目录里面是否包含working这个文件夹。下面的示例是不会在目的端生成working目录的。

[root@hz1 ~]# rsync /working/ /oss -rav

sending incremental file list

working/dir3/

working/dir3/new_abc

sent 1,557 bytes received 46 bytes 1,068.67 bytes/sec

total size is 400 speedup is 0.25

执行完上面的命令之后,我们看到/oss目录下面已经包含了源目录里面的那些文件了。

[root@hz1 ~]# ls /oss

dir1 dir2 dir3 new_file

那么这些文件有没有同步到OSS里面呢,我们打开阿里云OSS控制台浏览相应的目录,可以看见这些文件无一例外的都已经被上传到了对应的存储桶里面。

oss-b.png

总结

我们前面展示了如何利用rsync将文件备份到阿里云对象存储里面。不过在实际的使用中,还有一些需要关注的地方,结合下面几点相信能满足绝大多数用户的需求了,有需要的小伙伴感觉来尝试一下吧。

  1. 前面只是展示了单次的备份过程,如果想要定期备份怎么办呢?答案很简单,通过Linux Crontab定时任务就可以实现啦,网上相关的教程很多,这里就不做展开了。
  2. rsync是单线程工作的,所以如果碰到数据的备份速度不能满足需求的时候,可以通过起多个rsync进程的方式来提升同步的速度,可以让不同的rsync进程处理不同的目录。
  3. rsync通过扫描所有源端文件和目标端文件来比对从而发现增量。如果源端文件非常多,比如达到亿级别或者更多,扫描本身会产生非常大的负担。所以如果结合用户自身的业务能够直接导出增量文件或者目录,然后指定rsync只负责处理这部分增量文件,那么势必能大大减少备份的时间。
目录
相关文章
|
3月前
|
存储 关系型数据库 MySQL
MySQL——数据库备份上传到阿里云OSS存储
MySQL——数据库备份上传到阿里云OSS存储
165 0
|
6天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
4月前
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
16天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
3月前
|
人工智能 缓存 Cloud Native
用 Higress AI 网关降低 AI 调用成本 - 阿里云天池云原生编程挑战赛参赛攻略
《Higress AI 网关挑战赛》正在火热进行中,Higress 社区邀请了目前位于排行榜 top5 的选手杨贝宁同学分享他的心得。本文是他整理的参赛攻略。
537 72
|
1月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 09 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
2月前
|
存储 弹性计算 缓存
云存储网关-高可用文件网关基本介绍
本文介绍云存储网关新推出的高可用文件网关使用方法及其架构原理。通过选择“高可用”选项,用户可在不同可用区部署网关,避免单点故障。文章详细描述了创建网关、配置虚拟挂载IP及缓存盘、创建共享等步骤,并解释了高可用架构如何通过数据复制和故障切换确保服务连续性和低延迟访问。
58 4
|
2月前
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
393 17
|
3月前
|
人工智能 Cloud Native 安全
统一多层网关好处多,阿里云云原生 API 网关打造全能型网关
本文分享了作为一款全能型网关【云原生 API 网关】是如何帮助企业落地统一网关架构的。
7963 11
|
2月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 08 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要

相关产品

  • 云存储网关
  • 对象存储