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

HBase用户福利

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

背景

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

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

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

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

  • 2017 年 9 月,某 IT 大厂技术工程师帮助广西移动进行扩容割接(即增加系统容量)时,不小心将 HSS 设备里面的用户数据格式化删除,导致广西移动近 80 万用户数据丢失。
    备份!备份!备份! 看阿里云HBase的企业级备份恢复如何设计
  • 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规模数据
  • 备份不影响源集群

恢复能力:

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

系统架构:

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

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

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

使用文档:

点击链接

参考文章

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

HBase技术交流

欢迎加群进一步交流沟通:
备份!备份!备份! 看阿里云HBase的企业级备份恢复如何设计
备份!备份!备份! 看阿里云HBase的企业级备份恢复如何设计

上一篇:Lindorm在实时归因场景下的挑战与应用


下一篇:阿里云HBase推出普惠性高可用服务,独家支持用户的自建、混合云环境集群