乐趣区

关于云存储:让-JuiceFS-帮你做好异地备份

家住北京西二旗的小张是一家互联网金融公司的运维工程师,金融行业的数据可是很值钱的,任何的损坏和失落都不能容忍。

为此,小张选了北京品质最高的机房,买了品质最好的硬件,做了全面的数据备份容灾策略:

每 24 小时做一次全量备份,每 1 小时做一次快照备份,还有每 5 分钟的增量备份。备份的数据存于专门的备份服务器,在分布式系统中会有 3 拷贝冗余,而且还思考了跨机架的正本搁置策略。每个环节都有监控和报警,零碎运行良好,各种故障都能及时锁定及时处理。

但这样,数据容灾策略能够十拿九稳么?

在一个炎炎夏日的黄昏,小张完结一天的工作,终于能够回家享受啤酒小龙虾了。谁想天气渐变,狂风暴雨电闪雷鸣,小张电话响起:

机房被雷劈了!还被劈了三次!!!!

小张连忙赶回去抢救,通过万般致力,得以复原大部分数据,然而仍有大量数据无奈复原,因为这部分数据的所有正本所在的硬盘损坏了 …

这个故事看上去不堪设想,然而生存往往比实在更戏剧化,这种「被雷劈」的故事实在产生过,我身边有人遇到过,连 Google 这种大公司也遇到过。

2015 年 8 月,Google 欧洲的数据中心 europe-west1-b 就遭逢了人祸,被雷劈了!只管 Google 的灾备计划非常紧密,但依然有大量的数据永恒失落了。Google 在官网的事变报告的最初给出了一段对于备份安全策略的倡议,原文如下:

We would like to take this opportunity to highlight an important reminder for our customers: GCE instances and Persistent Disks within a zone exist in a single Google datacenter and are therefore unavoidably vulnerable to datacenter-scale disasters. Customers who need maximum availability should be prepared to switch their operations to another GCE zone.

粗心是 Google 云平台上一个区的计算实例和存储盘存在繁多数据中心危险,无奈防止数据中心级别的劫难。揭示客户做好本人的异地备份,以保障最佳的数据安全。

除了雷劈这样的自然灾害,咱们的零碎每天都会面临各种数据安全威逼,比方机房断电、UPS 故障、被拔网线、零碎被入侵、人为误操作等等。

另一个更让人扼腕的数据是,依据资讯平安机构 Ponemon Institute 考察钻研,在产生重要数据失落之后,仅有 6% 的公司能在不足劫难复原打算的状况下幸存。

劫难随时都有可能产生,面对这个事实,能最大水平升高风险系数的,不是在劫难产生后寻找解决方案,而是让 「重要数据永远有备份」

将重要数据备份到一个绝对隔离的零碎中(异地数据中心),是一个十分无效的备份计划,能躲避下面提到的大部分危险,保障公司业务数据的平安。

如何做异地备份?

异地备份,顾名思义,就是把数据备份到物理隔离的另外一个中央。

在已有本地备份(同机房)的状况下,异地备份意味着要把数据残缺地在其余中央再复制一份。依据主业务是自建机房还是应用私有云的不同,异地备份在地点抉择上通常有上面几种:

  1. 有两个或以上的数据中心,数据能够在不同数据中心之间互备;
  2. 主业务零碎在本人的(或者租用的)数据中心,备份数据在共有云上;
  3. 主业务零碎在私有云上,备份一个正本在另一个服务区(Region/Zone);
  4. 主业务零碎在私有云上,备份一个正本在另一家私有云上;

自建多个数据中心并不多见,周期长、人力老本高。对于中小型公司,甚至大公司的局部非核心业务部门来说,目前的支流做法是 抉择私有云作为异地备份计划,因为它容易施行,能最疾速保障数据安全。

那怎么用私有云来施行异地备份呢?

异地备份的现实与事实

在施行「异地备份」之前,个别会先做「本地备份」,即备份到同一个数据中心内,不便复原。本地备份的存储计划通常有以下这些:

1. 自建分布式文件系统;

  • 长处:大多选用 HDFS。它是 Hadoop 生态的默认存储计划,有 3 正本冗余的策略,还有机架感知个性,对大数据分析的反对也很敌对。
  • 毛病:HDFS 须要本人保护高可用的 Name Node 集群,容量布局和扩容工作也会占耗费运维团队资源。如果你的 HDFS 集群还肩负业务计算和数据备份需要,基于 JVM 的 Name Node 在高负载工作下垃圾回收机制会造成存储系统的卡顿。存在 HDFS 的数据计算时很不便,然而在数据恢复时就简单了,要先把对应的数据通过 HDFS CLI 拷贝到本地才行,这对运维工程师来说来说是个噩梦。

2. 自有机房中多机互备:

  • 长处:备份在本机文件系统上,能够应用全套的 Linux 工具集,文件备份、复原都很不便。另外还能充分利用本地磁盘空间,极大的节约老本。
  • 毛病:机器多了当前,所有备份不在一起,对于治理和复原是个麻烦事。另外数据安全要依赖 RAID 计划,一旦 RAID 卡损坏,数据就有失落危险。

3. 私有云上的云硬盘、NAS:

  • 长处:这类存储计划通常基于 NFS 协定拜访,如果某台机器须要复原数据,能够间接挂载(要求在一个 VPC 内),省去了拷贝过程。
  • 毛病:大多有单点问题,另外很多云硬盘容量下限不大,如果你的数据量大,就须要频繁创立新盘,治理很麻烦。

4. 私有云上的对象存储:

  • 长处:存储容量弹性扩大,按需付费,价格便宜,数据安全可靠。
  • 毛病:存取都须要通过专用的 SDK 或 API,没有真正的目录构造,不反对改名。很多零碎不反对直接存取对象存储,数据恢复时须要先下载到本地,当数据量很大时会耽搁紧急数据恢复的工夫。另外,对象存储不足各种一致性保障,会带来难以预期的困扰。

5. 私有云 VM 上挂载本地磁盘(强烈不举荐):虚拟主机上的本地磁盘不保障数据安全,在 VM 重启、迁徙时数据可能会失落,通常是用来存储长期数据,强烈不倡议用本地盘做备份。

总的来说,这 5 种「本地备份」计划自身各有优劣,在思考到基于「本地备份」进行「异地备份」时候,计划 3 和计划 4 稍好,然而在施行「异地备份」时也各自的问题。计划 3 中,无论应用私有云的 NFS 存储还是基于云硬盘自建 NFS,因为协定不反对传输加密,跨公网间接挂载很不平安,须要再搭配 VPN 或者其余网关来解决。计划 4 须要额定学习所抉择的私有云的 API 和 SDK。如果要换云平台,API 和 SDK 还得从新学一遍。

在设计异地备份计划时,还得思考因备份的存储地位不在同一个高速内网内时带来的传输问题,传输会比较慢而且不稳固,还容易被窃听。如果存储系统不反对从公网间接拜访(比方 HDFS 和 NAS 等),还须要设计专线或者 VPN 来连通。

咱们针对这个问题很多团队的做过交换,只有多数团队施行了 异地备份。他们的实施办法,大多是设定一个定期工作,应用 rsync 将本地备份的数据全量异步复制到另外一个 POSIX 兼容的存储系统中。

这种形式非常容易施行,但对存储系统有肯定的要求:

  1. 兼容 POSIX,没有额定的学习老本,不便紧急情况下做数据恢复;
  2. 配置简略,保护简略。工作中 99% 的工夫,咱们不须要和备份零碎打交道,所以最现实的状况是不必保护又十分稳固牢靠;
  3. 实用于多个私有云 / 区域,不被某个云绑定。能够依据业务的具体需要有更多的抉择;
  4. 最重要的是稳固、牢靠、平安,价格便宜当然更加分了;

咱们在设计 JuiceFS 时,充分考虑到上了下面几点,心愿为异地备份提供更好的抉择。简略来说,它既能够像云硬盘一样挂载到虚拟机上,又同时领有对象存储的弹性扩容和便宜的价格。不便实用,灵便且门槛低,价格比照同类其它计划,也相当有竞争力(以单机的云硬盘的价格失去比 NAS 还好的服务)

如何用 JuiceFS 来做异地备份呢?

JuiceFS 是专为私有云而生的分布式 POSIX 文件系统,它将数据保留在你本人的私有云对象存储中,通过由咱们保护的强统一高性能的元数据服务变成一个 POSIX 兼容的分布式文件系统。

无论你的主业务在自建机房还是私有云上,都能够利用 JuiceFS 来做异地备份。参照 JuiceFS 使用指南将 JuiceFS 挂载到你主机房或者所用的私有云主机上,而后应用 rsync 等工具将备份数据间接写入即可。JuiceFS 的传输都是加密的,并且会主动将大文件分块并行传输,即便通过不牢靠的公网进行备份也能够取得很好的性能和体验。

如果你应用 JuiceFS 来间接存储数据或者做本地备份,它还有个更厉害的性能反对你轻松实现异地备份:复制(Replication),它会主动将写入的数据异步复制到指定的另一个对象存储中(能够是任意私有云和服务区)。假如你的主业务在 AWS 北京区,数据须要备份到 UCloud 广州区,只须要创立一个在 AWS 北京区的文件系统,再启用复制性能(并抉择 UCloud 广州区),所有写入到 AWS S3 的数据(包含启用复制性能前)都会被主动复制到 UCloud 广州区的 UFile 中。当你须要在 UCloud 广州区进行数据恢复时,它会间接从 UFile 读取数据,速度快且不须要付流量费。

企业版 JuiceFS 的另一个大杀器是 寰球数据镜像,它能够帮你实现超远距离的近实时数据镜像(只读),比方从美国镜像到中国,或者反过来。相比下面说的数据复制性能,数据镜像还会倡议元数据的只读镜像,以保障在超远距离的镜像数据也能取得很好的性能。咱们在测试中发现,从 AWS 美东区同步到腾讯云上海区,元数据只有秒级提早,绝大部分数据在 30 秒内实现同步,偶然被某墙阻断加密连贯导致数据同步滞后,客户端也会被动修复同步,保证数据的正确和统一拜访(拜访时会略慢)。目前数据镜像性能只凋谢给企业客户,感兴趣的同学能够分割咱们理解更多技术细节。

咱们置信,JuiceFS 是目前市场上能找到的最好的数据备份计划,没有之一,因为它:

  1. 反对寰球 13 个私有云平台近 100 个服务区间主动复制,反对平台还在陆续减少;
  2. 保证数据一致性,和 99.95% 的高可用性;
  3. 传输加密,企业版反对存储加密;
  4. 兼容 POSIX,JuiceFS 能够通过 FUSE 挂载到 VM 上,应用体验和本地磁盘统一;
  5. Serverless,齐全由咱们和私有云保护,客户无需保护;
  6. 提供丰盛的监控数据,可集成在客户本人的监控零碎中;
  7. 复制(Replication)性能可帮你实现轻松的跨云跨服务区备份或者迁徙;
  8. 回收站机制,无效避免误删除,能够本人设置回收站保留工夫;
  9. 节俭大量老本。综合思考人力和工夫老本,比其余计划节俭 50% 至 80%。

对了,如果你是 Linux 和 Mac 的个人用户,JuiceFS 能够间接挂载到你本人的电脑上,下面的办法同样实用于备份你的集体数据,咱们还提供了 1TiB 永恒收费容量(对象存储可能不是收费的)。

如有帮忙的话欢送关注咱们我的项目 Juicedata/JuiceFS 哟!(0ᴗ0✿)

退出移动版