云服务器 ECS 数据恢复:误删文件后如何恢复数据

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介:


误删文件后如何恢复数据

简介

在日常使用中有时难免会出现数据被误删除的情况,在这个时候该如何快速、有效地恢复数据呢?在阿里云上恢复数据有多种方式,例如:

  • 通过阿里云控制台回滚备份好的快照,自定义镜像恢复等方式。
  • 购买多台ECS,实现业务的负载均衡,高可用。
  • 利用对象存储 OSS(Object Storage Service),存储静态网页和海量图片、视频等重要数据。

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

在Linux下,基于开源的数据恢复工具有很多,常见的有debugfs、R-Linux、ext3grep、extundelete等,比较常用的有ext3grep和extundelete,这两个工具的恢复原理基本一样,只是extundelete功能更加强大。

Extundelete是基于linux的开源数据恢复软件。在使用阿里云的云服务器时,如果您不小心误删除数据,并且Linux系统也没有与Windows系统下回收站类似的功能,您可以方便快速安装此工具。

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工具

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                                         #如下图表示安装成功


image

make && make install

这个时候会出现src目录,下面有个extundelete可执行文件以及相应路径,如下图,其实默认文件安装在usr/local/bin下面,下面演示就在usr/local/bin目录下。

image

使用extundelete,模拟数据误删除然后恢复的过程

1.检查ECS现有的磁盘和可用分区,并对/dev/vdb进行分区,格式化,此处不在介绍磁盘分区格式化方式,如果不会的话可以点击此文档查看操作方式“格式化和挂载数据盘”。

fdisk -l


image


2.将分区后的磁盘挂载到/zhuyun目录下,然后在/zhuyun下面新建测试文件hello,写入test。

mkdir /zhuyun                                #新建zhuyun目录
mount /dev/vdb1 /zhuyun                      #将磁盘挂载到zhuyun目录下
echo test > hello                            #写入测试文件

3.记录文件MD5值,md5sum命令用于生成和校验删除前和恢复后俩个文件的md5值。

md5sum hello


image


4.模拟删除hello文件。

rm -rf hello
cd ~
fuser -k /zhuyun                     #结束使用某分区的进程树(确认没有资源占用的话,可以跳过此步)

5.卸载数据盘。

umount /dev/vdb1                     #任何的文件恢复工具,在使用前,均要将要恢复的分区卸载或挂载为只读,防止数据被覆盖使用

6.使用Extundelete工具恢复文件。

extundelete --inode 2 /dev/vdb1       #为查找某i节点中的内容,使用2则说明为整个分区搜索,如果需要进入目录搜索,只须要指定目录I节点即可。这是可以看到删除的文件名和inode


image

/usr/local/bin/extundelete  --restore-inode 12  /dev/vdb1    #恢复删除的文件

这个时候会在执行命令的同级目录下出现RECOVERED_FILES目录,查看是否恢复。


image


通过md5值查看,前后俩个文件,一样说明恢复成功。

注:

--restore-inode 12                  # --restore-inode 按指定的I节点恢复
--extundelete --restore-all         # --restore-all   全部恢复

原文链接

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
28天前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
415 4
|
1月前
|
弹性计算
阿里云3M带宽云服务器并发多大?阿里云3M带宽云服务器测评参考
在探讨云服务器3M带宽能支持多大并发这一问题时,我们首先要明白一个关键点:并发量并非仅由带宽决定,还与网站本身的大小密切相关。一般来说,一个优化良好的普通网站页面大小可能只有几K,为便于计算,我们可以暂且假定每个页面大小为50K。
807 1
|
7天前
|
弹性计算 应用服务中间件 Linux
阿里云ECS服务器上从零开始搭建nginx服务器
阿里云ECS服务器上从零开始搭建nginx服务器
|
25天前
|
存储 弹性计算 Serverless
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
FPGA云服务器是阿里云提供的实例规格,融合现场可编程门阵列的低延迟硬件加速与弹性资源。FaaS平台简化了FPGA开发,提供统一硬件、开发环境和丰富的IP生态。特性包括硬件虚拟化、联合仿真和动态互联配置。产品计费与ECS一致,支持多种计费模式。优势在于分钟级交付、高性能加速、经济性价比和设计复用。应用广泛,如视频转码、人工智能、基因测序等。FPGA云服务器通过FPGA镜像、OSS服务等工具进行管理。
什么是阿里云FPGA云服务器?FPGA云服务器产品优势及应用场景介绍
|
25天前
|
安全 数据处理 C#
C# Post数据或文件到指定的服务器进行接收
C# Post数据或文件到指定的服务器进行接收
|
30天前
|
存储 数据挖掘 Windows
服务器数据恢复—异常断电导致raid信息丢失的数据恢复案例
由于机房多次断电导致一台服务器中raid阵列信息丢失。该阵列中存放的是文档,上层安装的是Windows server操作系统,没有配置ups。 因为服务器异常断电重启后,raid阵列可以正常使用,所以未引起管理员的注意。后续出现的多次异常断电导致raid报错,服务器无法找到存储设备,进入raid管理模块进行任何操作都会导致操作系统死机。管理员尝试多次重启服务器,故障依旧。
|
1月前
|
弹性计算 小程序 开发者
阿里云服务器性能测评:25M带宽阿里云云服务器支持多少人访问?
在深入探讨25M带宽云服务器的性能时,我们首先要明确一个核心概念:带宽与服务器能够支持的同时访问量之间存在着直接的关联。那么,大家可能会好奇,带宽为25M的云服务器究竟能够支持多少用户同时访问呢?
119 0
|
1月前
|
弹性计算 文件存储 数据库
阿里云8M带宽云服务器承载量多大?阿里云8M带宽云服务器评测
在当今的云计算时代,云服务器已成为企业和个人用户的首选。其中,带宽作为衡量云服务器性能的重要指标之一,经常被人们提及。那么,一个拥有8M带宽的云服务器到底能承受多少承载量呢? 我们以常见的网站应用为例来探究这个问题。假设经过优化后的网页平均大小为60KB,8M带宽即意味着每秒能传输8*1024KB的数据。简单计算可知,8M带宽的云服务器在1秒内可以传输大约136个这样的网页。但是,这并不意味着它能同时支持136个用户访问,因为还需要考虑用户访问的并发性。
97 1
|
弹性计算 监控
使用ECS搭建云服务器体验
了解端口的知识,本地配置服务端上传运行服务器,实现服务器24小时开放。
使用ECS搭建云服务器体验
|
25天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客

热门文章

最新文章