MongoDB数据恢复—拷贝MongoDB数据库文件后无法启动服务的数据恢复案例

服务器数据恢复环境:

一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。

MongoDB数据库故障&检测:

工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。报错如下:

Tips:在MongoDB服务没有关闭的情况下,直接拷贝MongoDB数据库文件会导致mongod.lock文件以及WiredTiger.lock文件拷贝出错。这种情况下只要在拷贝出的文件中删除这两个文件,重新启动MongoDB服务后MongoDB会自动重新生成这2个文件。

对工作人员拷贝出的文件进行检测后发现,拷贝出的数据库文件中没有发现_mdb_catalog.wt文件。

Tips:_mdb_catalog.wt文件里存储了MongoDB数据库中所有集合的元数据,MongoDB数据库启动时需要从_mdb_catalog.wt文件中读取相关信息。_mdb_catalog.wt文件丢失会导致MongoDB数据库无法获取数据库中集合对应的名字、集合的创建选项、集合的索引信息等元数据,MongoDB数据库无法启动。

MongoDB数据库数据恢复过程:

1、将服务器中所有磁盘编号后取出,初步检测后没有发现明显的硬件故障,都可以正常读取。以只读方式将所有磁盘进行扇区级全盘镜像,镜像完成后将所有词磁盘按照编号还原到原服务器中,后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原磁盘数据造成二次破坏。

2、尝试从文件系统层面恢复_mdb_catalog.wt文件。扫描数据库分区并没有发现_mdb_catalog.wt文件相关信息。根据MongoDB数据库中数据文件的特征值扫描MongoDB数据库所在分区,也没有发现和_mdb_catalog.wt相关的数据区域。这种情况下可以判断_mdb_catalog.wt文件已经被彻底破坏,无法恢复。

3、尝试从数据库层面恢复数据。

本案例中部署的MongoDB数据库是基于WT存储引擎的数据库系统,可以使用WT实用工具包提取数据库中的数据。

a、下载WT实用工具包,在windows环境下编译出可执行的wt工具。

b、使用编译出来的wt工具清洗MongoDB数据库的集合文件中的数据。清洗完成后,读取文件中的数据并写入到一个dump文件中。

c、将MongoDB数据库的各个集合文件中的全部可用数据提取出来。

d、重新创建一个MongoDB数据库,根据提取出的集合文件创建对应数量的空集合。使用wt工具将提取出来的dump文件一一写入到新创建的空集合中。

e、通过查询集合中的数据,确认这些集合与元数据库中集合的对应关系。修改集合名称,重建索引信息。

通过查询集合中的记录,确定记录类型,从而确定fs.files和fs.chunks集合的位置。修改这两个集合名称为xxx.files和xxx.chunks后,重建集合索引,集合恢复完成,可以正常查看其中数据:

MongoDB数据库数据验证:

将全部集合进行索引重建后,由用户方对MongoDB数据库进行查询验证,经过验证用户方确认数据无误,认可数据恢复结果。本次数据恢复工作完成。

相关推荐
北亚数据恢复15 天前
服务器数据恢复—RAID5阵列硬盘坏道掉线导致存储不可用的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·raid5数据恢复
北亚数据恢复17 天前
服务器数据恢复—EVA存储上VDISK被删除如何恢复数据?
数据恢复·服务器数据恢复·存储数据恢复
北亚数据恢复21 天前
服务器数据恢复—SAN环境中LUN映射错误导致文件系统一致性出错的数据恢复案例
数据恢复·服务器数据恢复·存储数据恢复
北亚数据恢复25 天前
服务器数据恢复—异常断电导致服务器挂载分区无法访问的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复
北亚数据恢复1 个月前
虚拟机数据恢复—通过拼接数据库页碎片的方式恢复数据库的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·存储数据恢复·硬盘数据恢复
北亚数据恢复1 个月前
虚拟化数据恢复——Hyper-V虚拟机文件丢失导致虚拟机无法使用的数据恢复案例
数据恢复·服务器数据恢复·虚拟化数据恢复·虚拟机数据恢复
北亚数据恢复1 个月前
服务器数据恢复—EXT3文件系统下邮件数据被误删的数据恢复案例
数据恢复·服务器数据恢复·raid5数据恢复·raid数据恢复·磁盘阵列数据恢复
北亚数据恢复1 个月前
服务器数据恢复—服务器硬盘指示灯亮黄灯,raid崩溃的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
北亚数据恢复1 个月前
服务器数据恢复—raid5阵列中多块硬盘离线导致崩溃的数据恢复案例
数据恢复·服务器数据恢复·raid5数据恢复·raid数据恢复·磁盘阵列数据恢复
北亚数据恢复1 个月前
服务器数据恢复—RAID5阵列上层Linux操作系统中节点损坏的数据恢复案例
数据恢复·服务器数据恢复·raid5数据恢复·硬盘数据恢复