备份!备份!备份! 看阿里云HBase的企业级备份恢复如何设计

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 数据安全是生命线,一线人员辛苦一年的努力可能因为一时疏忽而废,升职加薪无望;一个公司或者团队辛苦几年的打拼可能一夜回到解放前。所以面对重要的事情要说三遍:备份!备份!备份!

HBase用户福利

新用户9.9元即可使用6个月云数据库HBase,更有低至1元包年的入门规格供广大HBase爱好者学习研究,更多内容请参考链接

背景

  • 2017 年 2 月,GitLab 的一位系统管理员在给线上数据库做负载均衡工作时,遭受了 DDoS 攻击。在阻止了攻击之后,运维人员发现了数据库不同步的问题,便开始修复,在修复过程中,错误地在生产环境上执行了数据库目录删除命令,导致 300GB 数据被删成 4.5G,GitLab 被迫下线。

1.png

  • 2017 年 6 月,一家荷兰海牙的云主机商 verelox.com,一名前任管理员删光了该公司所有客户的数据,并且擦除了大多数服务器上面的内容。最终导致 Verelox 暂时将网络下线。在发布的官方公告中,Verelox 表示一直努力恢复数据,但遗憾的是,目前已丢失的所有数据可能恢复不了了。

2.png

  • 2017 年 9 月,某 IT 大厂技术工程师帮助广西移动进行扩容割接(即增加系统容量)时,不小心将 HSS 设备里面的用户数据格式化删除,导致广西移动近 80 万用户数据丢失。
    3.png
  • 2017年某IT公司在对HDFS进行例行清理时,因命令超长被系统截断,截断后的命令变成删除父文件夹,导致丢失上百GB数据
  • 2018年某著名快递公司,因误删生产数据库,导致某项服务无法使用并持续590分钟
  • 2018年7月20日,前沿数控在微博上发表长文《腾讯云给一家创业公司带来的灾难》,表示其存储在腾讯云的价值千万的数据全部丢失。腾讯云在微博发表了《关于用户“前沿数控”数据完整性受损及腾讯云补偿措施的说明》,文章中指出前沿数控所遇情况是因受所在物理硬盘固件版本bug导致的静默错误(写入数据和读取出来的不一致)影响,文件系统元数据损坏。
  • 2019年某IT公司HDFS出现故障,在系统未稳定的情况下运维人员执行了FSCK / -delete命令,导致绝大部分数据被删除。
  • 2017年5月12日,全球爆发电脑勒索病毒WannaCry,波及150多个国家7.5万台电脑被感染,有99个国家遭受了攻击,其中包括英国、美国、中国、俄罗斯、西班牙和意大利等。
  • 2017 年5月17日,国家计算机病毒应急处理中心与亚信科技(中国)有限公司联合监测发现一种名为“UIWIX”的勒索病毒新变种在国外出现,提醒国内用户提高警惕,小心谨防。
  • 2017年6月28日,勒索病毒petya袭击多国,Petya病毒锁住了大量的电脑,亦要求用户支付300美元的加密数字货币才能解锁
  • 2017年6月29日晚,新勒索病毒Petya,范围涵盖乌克兰、俄罗斯、西班牙、法国、英国、丹麦等国家。2017年7月4日,乌克兰警方没收了该国一家会计软件公司的服务器,因为该公司涉嫌传播导致全球很多大公司电脑系统瘫痪的勒索病毒

以上都是现实的例子,一线人员辛苦一年的努力可能因为一时疏忽而废,升职加薪无望;一个公司或者团队辛苦几年的打拼可能一夜回到解放前。所以面对重要的事情要说三遍:备份!备份!备份!

一个系统面临多个方面的数据安全挑战,首先是系统自身丢数据的风险,可能因为一些bug导致数据丢失,这种情况即便是主备系统也无法应对,因为主备是同构的,发生在主上的bug也可能在备上发生,因此需要备份到异构系统;其次是运维人员的误操作导致,大部分情况是误删除了表或者底层文件,还有一些情况比如压测数据写入到生产集群污染了数据需要进行订正;再次是系统所依赖的环境受到大面积破坏,比如整个机房被毁;最后是由于外部攻击,黑客恶意的加密文件进行勒索,这个情况下建议备份放在云上,因为云厂商具备更好的安全防护能力。

灾难类别 影响 解决方式
系统Bug 数据丢失,影响局部或者全局 异构备份
误操作 数据丢失、数据污染,影响局部或者全局 数据备份
机架、机房故障 数据丢失,影响全局 异地备份、多云备份
勒索软件 数据锁定,影响全局 数据备份到云端



云HBase备份恢复

阿里云HBase在18年就已经开始支持备份恢复,到目前为止已经服务100多个客户。已经过一年的发展,我们认为原有的备份恢复存在如下几个问题:

  • 不能为自建服务,备份恢复应该是一个独立功能,能够为全网的HBase服务
  • 不能以混合云、多云模式运行,备份本身非常适合多云部署
  • 备份过程造成源集群额外的存储开销,引发磁盘满风险。主要是因为备份依赖Snapshot,而被Snapshot的文件不能删除,Compaction结束后旧文件就依然存在,存储空间翻倍
  • 恢复时间长,恢复依赖数据复制。当数据达到几十TB规模以上时需要数小时的恢复时间

综上所述,云HBase对备份恢复进行全面升级,新的备份恢复能力描述如下:

备份能力

  • 支持用户IDC自建集群、阿里云自建集群、它云HBase集群以及云HBase集群备份到阿里云
  • 秒级RPO,具备实时备份能力
  • 支持100TB规模数据
  • 备份不影响源集群

恢复能力:

  • 支持表级别的恢复,比如某个表误删除,可以单独恢复这个表的数据
  • 支持按时间点回档

系统架构:

4.png

备份当前使用的存储是OSS,后面会加入其它的选项用来满足在成本、性能方面有不同倾向的需求。备份的数据按类型分为:Schema数据、全量数据、增量数据。Schema数据和全量数据是周期性备份,增量数据是实时备份。备份过程由一个独立的分布式系统完成,与HBase系统解耦,只依赖于HDFS的接口。

如果只是某个表的数据损坏,可以进行表级别的数据恢复。如果是整个集群损坏且短期无法恢复,可以基于备份创建一个新的集群,恢复的过程中首先原地拉起一个新的HBase,这个过程并不会复制数据,HFile通过引用文件的方式指向备份文件。之后可以按照用户需求来使用这个临时恢复集群。

使用文档:

点击链接

参考文章

http://www.ijiandao.com/2b/baijia/168348.html
https://www.freebuf.com/articles/paper/206777.html

HBase技术交流

欢迎加群进一步交流沟通:
image.png
image.png

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
缓存 监控 Shell
如何使用 HBase Shell 进行数据的实时监控和备份?
如何使用 HBase Shell 进行数据的实时监控和备份?
|
5月前
|
缓存 监控 Shell
使用 HBase Shell 进行数据的实时监控和备份
使用 HBase Shell 进行数据的实时监控和备份
|
存储 容灾 大数据
分布式数据库HBase的重要机制和原理的容灾与备份机制
在当今的互联网时代,数据的安全性和可靠性已经成为了企业的核心竞争力之一。而在大数据领域,分布式数据库HBase作为一个开源的分布式数据库系统,因其高性能、高可靠性和易于扩展性等特点,受到了广泛的应用。本文将深入探讨HBase中的重要机制之一:容灾与备份机制,帮助开发者更好地理解和掌握HBase的工作原理。
456 0
|
安全 分布式数据库 数据库
|
分布式数据库 索引 Hbase
《HBase应用与发展之HBase RowKey与索引设计》电子版地址
HBase应用与发展之HBase RowKey与索引设计
125 0
《HBase应用与发展之HBase RowKey与索引设计》电子版地址
|
分布式数据库 Hbase
|
分布式计算 数据处理 分布式数据库
《基于HBase和Spark构建企业级数据处理平台》电子版地址
基于HBase和Spark构建企业级数据处理平台
111 0
《基于HBase和Spark构建企业级数据处理平台》电子版地址
|
分布式数据库 Hbase
《阿里云HBase产品体系架构及特性解析》电子版地址
阿里云HBase产品体系架构及特性解析
123 0
《阿里云HBase产品体系架构及特性解析》电子版地址
|
分布式数据库 Hbase
|
存储 缓存 负载均衡
Hbase的Rowkey设计以及如何进行预分区
今天有人问我Hbase的rowkey设计和预分区的问题,这篇文字就简单介绍一下.,关于Hbase的表的一些基本概念这里就不说了,直接说重点,尽可能说的简单一点,废话就不写了. 1.什么是Rowkey? 我们知道Hbase是一个分布式的、面向列的数据库,它和一般关系型数据库的最大区别是:HBase很适合于存储非结构化的数据,还有就是它基于列的而不是基于行的模式.
Hbase的Rowkey设计以及如何进行预分区
下一篇
DataWorks