2

从 ext4 恢复已删除文件的最佳/最快/最安全方法是什么?

眼镜:

  • 磁盘为 1TB SSHD(混合 HDD + SSD),分区也使用 LUKS 加密(版本 1)加密
  • Mongodb 使用 WiredTiger 作为存储引擎。

另外,如果我管理文件的部分恢复,我可以对 mongo 的集合进行部分恢复吗?

4

1 回答 1

0

第 1 步:文件恢复

使用extundelete快速恢复文件:

sudo umount /path/to/disk && 
sudo extundelete /path/to/disk --restore-directory /path/to/dir -o /restored/path/
  • /path/to/disk表示磁盘路径,例如/dev/sdd/dev/mapping/label
  • /path/to/dir表示您想要恢复的相对于磁盘安装点的路径,例如,如果/dev/ssd将安装在/mnt/label/完整路径上/mnt/label/path/to/dir,则相对路径为/path/to/dir

使用 extundelete 恢复的优点:

  • 它很轻
  • 如果磁盘已安装或加密,则可以工作
  • 非常快,如果可以在几秒钟内恢复,它会给出答案,它会以超过 100 MB/s 的速度写入恢复的文件

一般数据恢复的缺点

  • 没有成功的保证
  • 如果新数据写入已删除的扇区,则将无法工作(因此请尽快卸载磁盘并在恢复之前制作损坏磁盘的映像)

第 2 步:如果缺少数据,请修复 mongodb

在这一步之前备份,mongod --repair可以删除好的数据

未经测试,但据我了解mongod --repair,如果不完整,应该有助于修复数据库,否则您可以使用以下命令继续恢复 WiredTiger:

于 2016-06-14T18:36:32.857 回答