一次Hbase删库的故障恢复

  • 时间:
  • 浏览:1
  • 来源:5分PK10APP下载_5分PK10APP官网

下图为删除1.txt后,目录与文件的逻辑和物理形态。/目录的内容中标记了1.txt并且 删除,ls操作我不要 显示并且 被标记为删除的文件。12号innode中的地址信息被清除。并且 文件删除后,实在能必须找到删除文件的名字,并且 无法选者其数据块位置,从而无法恢复数据。

journal日志文件中,有T1,T2,T3好有几个 多多多事务日志,T3和T1日志中的第12号inode不蕴藏add信息,T2事务中的第12号inode蕴藏add信息,可用于恢复数据。

ext3和ext4文件系统,使用日志机制实现了写文件的原子性和故障恢复。

ext4magic恢复包括好有几个 多多多步骤,其中前3步根据journal文件日志中的有效inode信息进行数据恢复,当必须完成恢复时,第4步进行全盘扫描,根据文件的具体格式(形态码)进行恢复,支持包括以下类型文件。必须支持记录跨块的清况 。

2018-05-02

文件1.txt删除后,其数据所在8481磁盘块的内容还在,并且 inode表到该磁盘块的链接被清除,无法用于恢复操作。

文件恢复, Hbase, Ext4, ext4magic, extundelete , 删库

下图描述了目录与文件的逻辑关系图。分区根目录inode序号默认为2,2号inode中记录了目录数据块的位置8481。8481数据块中存储了该目录下文件的inode序号和文件名,1.txt的inode序号为12。12号inode指向的数据块为33025,33025中存储了2.txt实际内容abc。(add表示地址,块号)

下图描述了目录和文件存储的物理形态图。

journal日志文件大小固定,在128M大小清况 下,有32768个文件块,在日志写满后,会重复循环使用文件。并且 在journal日志中,无法找到有效的文件inode信息,则该文件无法恢复。

在分区根目录下创建文本文件1.txt,写入文件内容abc。

误删库(删文件) 是生产运维中最严重的故障。Hadoop大数据环境下,数据的备份与恢复都面临比传统数据库更加严峻的挑战。

作者参加的一次Hbase删库故障恢复中,并且 所用Hbase版本旧,未支持snapshot的备份机制,未做任何备份。在删库误操作发出5分钟后,操作人员撤回 了命令,并停止了内部内部结构业务对Hbase的访问。根据日志,删除命令已发送到datanode节点,hadoop文件目录下,只好有几个 多多多多数据文件(128M),故障前有效数据在有几个T。并且 发生故障后,比较慢停止了对故障机器的访问,操作系统应该要是标记了文件的删除,实际数据应该在操作系统内核层面可见。

执行 rm -f 1.txt

该办法 ,与直接扫描磁盘进行hbase记录解析原理相同。

下图为好有几个 多多多操作的事务日志错综复杂描述(实际清况 下删除好有几个 多多多文件占用6个左右的数据块),与事先的数据块描述对应。每个框均表示为好有几个 多多多单独的4K Block。除事务的结速了了英语 和结速了了英语 块,本身均为操作修改的数据块的REDO值。

赵成

版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)

简单说,ext4中文件和目录蕴藏元数据和实际数据好有几个 多多多要素,实际数据存储了文件的实际内容,元数据存储了文件的创建修改删除时间以及实际数据的地址。文件和目录的元数据由好有几个 多多多inode形态表示。所有的inode存储在inode数组中,根据序号访问。

在根目录中创建文件1.txt,写入内容,删除该文件,好有几个 多多多操作分别对应好有几个 多多多事务。每个事务中会记录操作涉及的元数据所在的数据块(数据块为操作后的新值,而前要操作前的值,为REDO日志而前要UNDO日志)。

并且 删除操作本身的journal日志必须用于恢复,journal中前要有删除操作事先的inode信息并能进行恢复。

并且 删除操作涉及了极少量的文件,因为Ext4中的Journal日志被覆盖,无法恢复出所有的文件元信息。并且 恢复的技术路线是直接在ext4层面读取数据块,根据hbase格式直接解析内容(形态码扫描办法 )。下面梳理与描述了Ext4 文件恢复的大致原理,供各位同学参考。debugfs与ext4magic具体的操作流程,等有空再挂接。

猜你喜欢

2018上半年有事业单位招聘吗?有的话是什么时候?

扫描二维码下载可选中另三个 多或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问提。换一换你对你这些 回答的评价是?中公教育是一家全国性综合职业教育企

2020-03-22

架构之路:从管理者的角度看问题

只能 管理的本质是那些?那些才是你这个有效的管理?管理的精髓是那些?……你说歌词 你这个 制度好!对你当然好了,但manager心里苦啊。虽然任何有三个小制度就有利弊参半

2020-03-22

五个问题的简短回复【调试、求职疑虑、编程能力提高、做题】

【两根评论】(有读者按《CodeBlocks调试功能快捷教程》走,发现走不下去。核实,意识到可能性是Code::Blocks中的一还还有一个Bug。)初学C++,我敲教材上复杂

2020-03-22

微信小程序正式上线 下一波红利来临?

在张小龙看来,移动互联网的下一站是“唾手可得”。6.小系统线程切换:小系统线程支持挂起请况,即多窗口概念,用户可不并能把小系统线程先挂起,而且做别的事情,在需用你这名小系统线程

2020-03-22

游客vqwytl6gp2ayy的主页

flink运营若有阿里后边件(Aliware)官方账号周晓,阿里云数据库运营负责人文章:11丨粉丝:27626丨话题:2目前在阿里巴巴后边件技术部EDAS团队从事开发工作分布式

2020-03-21