在ext4上偶然删除了Mongodb数据文件夹,如何最好地恢复数据?

时间:2016-06-14 12:39:08

标签: mongodb recovery data-recovery ext4 wiredtiger

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

规格:

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

另外,如果我管理文件的部分恢复,我可以部分恢复mongo的收藏吗?

1 个答案:

答案 0 :(得分: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: