Linux 云服务器数据恢复案例3则

现在不少人使用云服务器,而云服务器同样涉及数据安全的问题。其中一个重大的数据安全问题是误删除数据。今天分享几例最近碰到的云服务器数据误删除恢复案例。视频演示地址: https://www.bilibili.com/video/BV1d24y1g73T/?share_source=copy_web&vd_source=d1925b070926f23b2b6676137251e9ea

一、教育云服务器 CentOS 7

这位客户大概是用 rm * -fr误删除某文件夹下面的所有文件夹和文件,删除数据量数十G。主要是各种文档即图片。

删除数据后,未停止数据写入操作,用 testdisk 和 ext4magic 进入数据恢复,恢复了部分未保留原文件名的文件。

客户在 B 站上看到了我制作的一则误删除数据恢复的视频,在淘宝上找到我。我问清楚相关情况,讲清楚只能按流程操作一遍,具体能恢复多少数据不保证。首先要求对方对服务器作了当前的快照,创建一块新的磁盘用于保存恢复数据。然后卸载了被删除数据的那个分区。

用 testdisk 查看了文件删除的位置和准确时间,然后用用户安装的 ext4magic 恢复,报告不能找到分区根目录。然后手工编译安装 ext4magic,恢复了完整保留文件名、时间等信息的二十多G文件。

但最后一个重要的图片文件夹整个文件夹没有原样恢复。但使用 photorec 可以至少恢复大部分这些图片文件,不过不能保留原始文件名和时间等信息。分析 ext4magic 不能恢复这个图片文件的原因大概率是删除文件太多,ext4 文件系统128M大的日志文件没法记录下来所有删除文件信息。小概率是客户删除文件后没有停止分区写入操作,恰好把那个图片文件夹的信息给覆盖了。

我给客户的建议是如果数据非常重要的话,去找更专业的数据恢复公司问问。但在有交流期间对方似乎并没有找到可以原样恢复的服务。

二、腾讯云服务器 Debian 9

这位客户大概是在1个月后才发现丢失了100多个视频文件及一些图片文件,他也不知道是什么时候,怎么样删除的这些文件。删除文件后的 ext4 数据分区仍然在使用。在对当前系统作了快照后,卸载了这个数据分区后,先是用 ext4magic 指定时间恢复,结果只恢复了几张图片而已。

然后,使用 photorec 全盘扫描恢复,指定恢复视频类和图片类文件。先是恢复到系统盘的空余空间,结果恢复出来的文件过多,空间占满中途异常中止了。然后申请了一块500G的按量付费的临时云硬盘用于保存恢复的数据,最后花了2个小时左右,恢复了100多G的数据。

photorec 恢复的文件不能保持原来的目录结构、文件名、时间等。所以,我告诉客户只能从这些恢复出来的文件中逐个去找需要的文件了。

我想,如果视频文件有时间戳之类的,可以截取其中的图片,然后尝试 OCR 识别时间戳来选择自己需要的视频。

三、腾讯云轻量应用服务器 CentOS 7

前面两位客户都是普通的云服务器,而且均是恢复数据盘的数据,所以直接卸载数据分区即可进行恢复。但是这位客户是腾讯云轻量应用服务器,他搭了个个人网站,只有系统盘,删除的是在系统盘分区的 /www 目录下的一些文件。这样在挂载运行的分区上是无法进行数据恢复的。

我尝试找像腾讯云普通云服务器的"救援模式",这可以启动 CentOS 的 liveCD 环境操作。但是轻量服务器的维护菜单中没有这个选项。然后,我设想新建一个轻量服务器,试图用新建的服务器去挂载需要恢复数据的云硬盘分区。但是没有试过。而且,轻量服务器只有包年包月,没有像普通云服务器那样可以按量计费,用后即删。最便宜的也是要花45元买一个月的一台。我把设想告诉了客户,并且讲明不一定可行,有浪费购买新服务器的钱而不能解决问题的风险。最后,客户因为数据不是很重要放弃了。

在这之后,我测试了一下,在普通云服务器之间,确实不能卸载挂载系统盘到别的云服务器上。估计轻量应用服务器也是这样的。

还有一个未经证实的方案,假设如普通腾讯云服务器类似,可以把当前的轻量服务器创建镜像并且下载镜像到本地。在本地挂载这个镜像进行文件恢复。

有腾讯云轻量应用服务器的朋友可以测试一下上述方案是否可行,并且留言分享一下。

四、小结

实际上,云服务器的数据备份比传统的服务器还要方便些。定期快照是个重要的手段。还可以创建当前系统的镜像。而上面的三位客户都没有使用这些手段。还有就是删除数据的第一时间应该中止删除数据分区的写操作,然后卸载分区进行数据恢复。上面的三位客户也没有这样做。最后一位轻量应用服务器的客户还在相同分区安装了两个数据恢复软件尝试恢复。这不是为数据恢复雪上加霜么?

好了,今天的分享就到这里结束。希望大家的数据都能安全无忧。

发表评论

电子邮件地址不会被公开。 必填项已用*标注