开发者社区> 问答> 正文

如何进行数据恢复?

如何进行数据恢复?

展开
收起
小天使爱美 2020-03-25 18:27:16 4592 0
5 条回答
写回答
取消 提交回答
  • 阿里云服务器地址(附代金券领取):https://begin.yundashi168.com/aliyun/index

    双12拼团已有900余人拼团成功最低一折

    点击进入:新老用户均可参团

    服务器配置时间价格
    1核2G半年57元
    1核2G1年84元
    1核2G3年254元
    2核4G1年301元
    2核4G3年** 847元**
    2核8G1年416元
    2核8G** 3年**1171元

    新老用户都可以参加 地址: https://www.aliyun.com/minisite/goods

    2020-12-28 15:57:49
    赞同 展开评论 打赏
  • 最佳回答

    您好,可以参见:误删文件后如何恢复数据教程

    本教程适用的对象是:

    1.磁盘中文件误删除的用户,且未对磁盘进行过写入等操作

    2.网站访问量小、少量ECS实例的用户

    更多参考地址阿里云官方(新用户需官网注册查看)

    2020-08-30 16:51:53
    赞同 1 展开评论 打赏
  • 您好,可以参见:误删文件后如何恢复数据教程

    本教程适用的对象是:

    1. 磁盘中文件误删除的用户,且未对磁盘进行过写入等操作
    2. 网站访问量小、少量ECS实例的用户
    2020-08-29 13:59:45
    赞同 1 展开评论 打赏
  • 误删文件后恢复数据

    本文档主要以CentOS7操作系统为例,介绍如何使用开源工具Extundelete快速恢复被误删除掉的数据。 前提条件

    使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册。 背景信息 在日常使用中有时难免会出现数据被误删除的情况,该如何快速、有效地恢复数据呢?在阿里云上恢复数据有多种方式,例如:

    通过ECS管理控制台回滚已创建的快照、恢复自定义镜像等方式。
    购买多台ECS,实现业务的负载均衡和高可用。详情请参见负载均衡。
    使用对象存储OSS,存储静态网页和海量图片、视频等重要数据。详情请参见对象存储 OSS(Object Storage Service)。
    

    在Linux下,基于开源的数据恢复工具有很多,常见的有debugfs、R-Linux、ext3grep、extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复原理基本一样,只是extundelete功能更加强大。使用阿里云的云服务器时,如果您不小心误删除数据,并且Linux系统也没有与Windows系统下回收站类似的功能,您可以方便快速安装extundelete工具。

    extundelete工具能够利用inode信息结合日志去查询该inode所在的block位置,以此查找和恢复所需的数据。该工具最给力的一点就是支持ext3/ext4双格式分区恢复,基于整个磁盘的恢复功能较为强大。 在数据被误删除后,首先要做的是卸载被删除数据所在的磁盘或磁盘分区。因为将文件删除后,仅仅是将文件的inode结点中的扇区指针清零,实际文件还存储在磁盘上,如果磁盘以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据块被新的数据覆盖后,误删除的数据就无法恢复。所以,以只读模式挂载磁盘可以尽量降低数据块中数据被覆盖的风险,提高恢复数据成功的几率。 说明 在实际线上恢复过程中,切勿将extundelete安装到您误删的文件所在硬盘,这样会有一定几率将需要恢复的数据彻底覆盖,切记操作前做好快照备份。 本教程适用的对象是:

    磁盘中文件误删除的用户,且未对磁盘进行过写入等操作
    网站访问量小、少量ECS实例的用户
    

    需安装的软件及版本:e2fsprogs-devel e2fsprogs gcc-c++ make(编译器等)Extundelete-0.2.4。 说明 extundelete需要libext2fs版本1.39或更高版本来运行,但是对于ext4支持,请确保您有e2fsprogs版本1.41或更新版本(可以通过运行命令dumpe2fs并记录其输出的版本)。

    以上版本是写文档时的软件版本。您下载的版本可能与此不同。 操作步骤 使用开源工具Extundelete快速恢复被误删的数据的操作步骤如下:

    步骤一:部署extundelete工具
    步骤二:使用extundelete模拟数据误删除后恢复的过程
    

    步骤一:部署extundelete工具 运行以下命令,部署extundelete工具:

    wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/server/extundelete-0.2.4.tar.bz2 yum -y install bzip2 e2fsprogs-devel e2fsprogs gcc-c++ make #安装相关依赖和库 tar -xvjf extundelete-0.2.4.tar.bz2 cd extundelete-0.2.4 #进入程序目录 ./configure #如下图表示安装成功

    部署extundelete工具

    make && make install

    这个时候会出现src目录,该目录下有个extundelete可执行文件以及相应路径,其实默认文件安装路径为usr/local/bin,下面模拟删除后恢复数据的操作就在usr/local/bin目录下进行。 步骤二:使用extundelete模拟数据误删除后恢复的过程

    完成以下操作,使用extundelete模拟数据误删除后恢复的过程:

    检查ECS现有的磁盘和可用分区,并对/dev/vdb进行分区和格式化。具体操作,请参见格式化和挂载数据盘。
    
    fdisk -l
    
    
    检查磁盘和分区情况
    将分区后的磁盘挂载到/zhuyun目录下,然后在/zhuyun下新建测试文件hello,并写入内容test。
    
    mkdir /zhuyun                                #新建zhuyun目录
    mount /dev/vdb1 /zhuyun                      #将磁盘挂载到zhuyun目录下
    echo test > hello                            #写入测试文件
    
    记录文件hello的md5值。md5sum命令用于生成和校验删除前和恢复后两个文件的md5值。
    
    md5sum hello
    
    
    记录文档的md5值
    模拟删除hello文件。
    
    rm -rf hello
    cd ~
    fuser -k /zhuyun                     #结束使用某分区的进程树(确认没有资源占用的话,可以跳过此步)
    
    卸载数据盘。
    
    umount /dev/vdb1                     #任何的文件恢复工具,在使用前,均要将要恢复的分区卸载或挂载为只读,防止数据被覆盖使用
    
    使用extundelete工具恢复文件。
    
        extundelete --inode 2 /dev/vdb1       #为查找某i节点中的内容,使用2则说明为整个分区搜索,如果需要进入目录搜索,只须要指定目录I节点即可。这是可以看到删除的文件名和inode
    
    
        恢复文件
    
        /usr/local/bin/extundelete  --restore-inode 12  /dev/vdb1    #恢复删除的文件
    
        这个时候会在执行命令的同级目录下出现RECOVERED_FILES目录。
        生成恢复后的文件
    通过md5sum命令查看恢复后RECOVERED_FILES文件的md5值。
    
    md5sum RECOVERED_FILES
    
    查看删除前的hello和恢复后的RECOVERED_FILES两个文件的md5值是否一致,如果一致,则数据恢复成功。
    
    2020-03-25 18:35:05
    赞同 展开评论 打赏
  • 默认你再问ECS,可以通过快照进行数据恢复保存,不过要钱。

    2020-03-25 18:34:51
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据库异地备份及不还原快速查询备份集最佳实践 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多