作者:可爱的小 cherry
大家好,这里是 Cherry,喜爱折腾、玩数码,热衷于分享数码玩耍经验 ~
前言
俗话说,常在河边走,那有不湿鞋。
前几天,因为自己手贱,rm -rf 了通过 SMB 挂载的群晖数据,所有心血付之一炬。
前情提要:
因为太久没用,忘记在一台不常用的 NAS 里挂了群晖的 smb 路径。
多年的自信心,让我直接在 ssh 页面 rm -rf 删光了数据,并且随手看到回收站也一并清空。
其实在删除过程中,有多个迹象提醒我这个文件夹不简单,但我没有珍惜:
1、前端页面无法删除该文件夹,提示权限不足。
2、在非群晖系统里看到了回收站文件夹。
3、ls-l 查看用户并不是当前 nas 账号。
于是,在无备份、无快照、无同步的三无情况下,我开始了自己的数据救赎之旅。
先说说基本信息,2 块 20T 希捷银河组的 Raid 1,采用 btrfs 文件系统创建的存储池,数据通过 SSH 后台,以 rm -rf 删除,并且清除了系统回收站文件夹,主打的就是干干净净。
下面详细说说数据恢复的几个过程,给各位不小心删除数据的朋友指一条路。
一、磁盘降级
由于两块磁盘是 Raid 1,为了保证数据恢复的可能性,第一时间我停止了磁盘读写,并且将磁盘从 Raid 1 降级到 Basic 。
在群晖里,可以找到对应的硬盘,先选择停用破坏 Raid。
接着,通过 SSH 进行手动降级。降级完成以后,我们开始对一块硬盘进行数据恢复,另外一块硬盘备用,降低操作失误带来的风险。
1、打印 mdstat,查看 md,根据打印的信息,查看 raid 对应的 md 数字序号
cat /proc/mdstat
2、手动降级 raid 至 basic
mdadm --grow --raid-devices=1 --force /dev/md 数字
二、尝试 Btrfs restore
❌失败
btrfs restore指令,是 btrfs 文件系统自带的恢复工具,需要硬盘以只读挂载或者未挂载的形式进行恢复。
操作指令:
btrfs restore -l -v /dev/sd 磁盘 | grep " 被删文件名 "
但是这个方法坑的地方在于它和 NAS 的兼容性很差。前面提到我将 NAS 进行了降级,降级过程破坏了硬盘的 btrfs 块,再重新挂载到另外一台 NAS 以后,虽然创建了 btrfs 文件,但是使用工具依旧无法读取 btrfs 信息,这也就导致工具直接无法使用。
此外,该工具还有很多挂载点的问题,包括权限、逻辑磁盘路径等,需要频繁对硬盘进行和其它处理。因此为了不折腾硬盘,确保数据恢复的可能性,我决定不再使用 btrfs restore 恢复。
三、尝试 Testdisk
❌成功一部分
Testdisk 是一款强大的数据恢复工具,其包含 testdisk 和 photorec 两个子工具。我使用两个工具都进行了过恢复,可以看到恢复的数据,但是恢复也没有用。
1️⃣ Testdisk:
testdisk /dev/sda
这是 testdisk 的操作界面,通过对硬盘进行全盘扫描后,按照文件路径进行展示,我们可以选择路径进行恢复。
该工具有一定的效果,扫描完成以后我可以看到大部分的硬盘路径,但是恢复的数据不全,像我这样数据杂乱一点的,格式乱七八糟。
2️⃣ Photorec:
photorec
photorec 比 testdisk 要更细化一点,可以对恢复的文件格式进行设置,比如要恢复 png,只要选择 png 就行了。这个也是群晖推荐的恢复方法。
使用 photorec 会在目录下产生 recup_dir.num 的文件夹,里面就是我们恢复的数据。
缺点就是恢复的文件是不按照源文件路径和格式的,有点类似 DG 恢复的数据,数据恢复了,但是 P 用没有。
四、尝试使用 DiskGenius
❌没啥大用
在 linux 系统里的失败,让我将目光转移到了 windows 侧,最先想到的当然就是万能硬盘管理工具—— DiskGenius。
DiskGenius 的问题和 photorec 一样,能恢复数据,但是数据是以格式分类恢复的,没办法恢复到原始机构下,只能用于恢复一些重要的大文件数据,想要全盘恢复,痴心妄想。
五、无敌的 UFS Explorer
✔️完美解决
可以肯定的是,数据绝对没有丢失,毕竟没写入就没有覆盖。但是在尝试了多种方法都没有有效恢复数据后,我逐渐失去了耐心,并将目光移向了数据恢复神器—— UFS Explorer。
UFS 的唯一缺点就是贵,600 多刀的价格我是下不去手的。此外,USF 数据恢复全都是优点,它可以根据文件路径进行恢复,支持多种磁盘文件系统。
我找到了一个好用的版本,也分享出来:
https://pan.quark.cn/s/96f3e9b6189d
经过 19 个小时的漫长扫描,UFS 将群晖所有文件予以恢复,并且按照文件夹结构进行清晰的展示。
启动扫描
选择文件格式
全盘慢扫
扫描过程中保存扫描结果
最终成果,支持以文件夹格式恢复数据。
六、EXT4 数据恢复
所以为什么会说 btrfs 文件系统不好,就是因为数据恢复麻烦。如果一旦忘记做快照和备份,想要恢复数据只能全盘满扫。
而很多人在 NAS 里,喜欢使用 ext4 文件系统的,如果在此系统下丢失数据,那么可以使用 ext4magic 这个恢复神器。
该工具的缺点是需要自行make,优点是支持以时间点来恢复数据,不用全盘扫描。
总结
最后,这 20T 的数据算是有惊无险的恢复了,没有造成太大的后果,也让我趁机可以水一篇文章,介绍一下自己的心得,给各位小伙伴提供一个误删数据后的恢复思路。
还是那句话,警钟长鸣,不要手贱,不要自信,不要轻易rm -rf。
在数据备上,无论是重要的、不重要的,既然使用了 btrfs 文件系统,那就养成良好的快照习惯,做好快照计划。
如果是 ext4 和其它格式的,做好增量备份和数据同步,总有一天会因为一些莫名其妙的行为,将数据给误删,到时候就是漫长的恢复过程和忐忑的等待。
登录后才可以发布评论哦
打开小程序可以发布评论哦