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数据库进行查询验证,经过验证用户方确认数据无误,认可数据恢复结果。本次数据恢复工作完成。

相关推荐
Amd7948 天前
备份与恢复策略
数据恢复·数据安全·数据备份·数据保护·备份策略·灾难恢复·mysql备份
北亚数据恢复11 天前
UNIX数据恢复—UNIX系统常见故障问题和数据恢复方案
数据恢复·unix·服务器数据恢复·存储数据恢复·unix数据恢复
北亚数据恢复13 天前
服务器数据恢复—热备盘上线过程中硬盘离线导致raid5阵列崩溃的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·raid5数据恢复
北亚数据恢复15 天前
数据库数据恢复—ORACLE常见故障有哪些?如何恢复数据?
数据恢复·服务器数据恢复·北亚数据恢复·oracle数据恢复
北亚数据恢复19 天前
服务器数据恢复—服务器raid0阵列硬盘指示灯显示黄颜色的数据恢复案例
数据恢复·服务器数据恢复·raid5数据恢复·磁盘阵列数据恢复
易我数据恢复大师24 天前
文件从电脑上删除后,去了哪里?
电脑·数据恢复·it·删除
北亚数据恢复2 个月前
服务器数据恢复—RAID5阵列硬盘坏道掉线导致存储不可用的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复·raid5数据恢复
北亚数据恢复2 个月前
服务器数据恢复—EVA存储上VDISK被删除如何恢复数据?
数据恢复·服务器数据恢复·存储数据恢复
北亚数据恢复2 个月前
服务器数据恢复—SAN环境中LUN映射错误导致文件系统一致性出错的数据恢复案例
数据恢复·服务器数据恢复·存储数据恢复
北亚数据恢复2 个月前
服务器数据恢复—异常断电导致服务器挂载分区无法访问的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复