随着数字化在我们日常生活中越来越高的比重,各行各业不可避免的产生越来越多的数据。对于日益增多的数据,我们都有着备份的需求。如果有一套方案能够提供无限的存储空间,可以存储所有主机上的数据的备份,那么我们就再也无需担心数据的增长了。阿里云对象存储是一种海量、安全、低成本、高可靠的云存储服务,能够完美契合我们的需求。而且通过将数据备份放在云端,本地就不再需要预留任何存储空间给备份,可以大大提高本地存储空间的利用效率。
如果我们想将数据从当前主机定期备份到阿里云对象存储,有没有什么好的方法呢?我们可以利用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子目录里面。
在我们的主机上,云存储网关的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控制台浏览相应的目录,可以看见这些文件无一例外的都已经被上传到了对应的存储桶里面。
总结我们前面展示了如何利用rsync将文件备份到阿里云对象存储里面。不过在实际的使用中,还有一些需要关注的地方,结合下面几点相信能满足绝大多数用户的需求了,有需要的小伙伴感觉来尝试一下吧。
前面只是展示了单次的备份过程,如果想要定期备份怎么办呢?答案很简单,通过Linux Crontab定时任务就可以实现啦,网上相关的教程很多,这里就不做展开了。rsync是单线程工作的,所以如果碰到数据的备份速度不能满足需求的时候,可以通过起多个rsync进程的方式来提升同步的速度,可以让不同的rsync进程处理不同的目录。rsync通过扫描所有源端文件和目标端文件来比对从而发现增量。如果源端文件非常多,比如达到亿级别或者更多,扫描本身会产生非常大的负担。所以如果结合用户自身的业务能够直接导出增量文件或者目录,然后指定rsync只负责处理这部分增量文件,那么势必能大大减少备份的时间。本文转载自微信公众号「后端Q」,作者conan。转载本文请联系后端Q公众号。 概述 ...
创业与投资的本质,都是追寻一种能够穿越时空,抵达未来的高效方式。 德勤管理咨...
1.某女生寝室门口贴着一个告示男生与饭盒不得入内,问何解?答曰两者都会搞大女...
基于阿里巴巴的互联网架构、大数据技术,利用混合云架构打造全新的云化电子税 务...
3月24日,腾讯发布2020年Q4及全年财报,其中金融科技及企业服务第四季收入385亿...
1.百度是个大骗子,我抄了十几年的满分作文却从未得过满分。 2.学神在刷难题,...
前言 微服务成了互联网架构的标配模式,对微服务之间的调用的流量治理和管控就尤...
作者 | 楚奕 来源 | 阿里技术公众号 这篇文章主要从技术视角介绍下跨平台WebCanv...
背景 有时候我会碰到快速搭建测试服务的需求,比如像这样: 搭建一个 HTTP Servi...
1.在报名的路上,我看见远处的学校,轰!的一声没了。希望如此。 2.男:我一直...