我们的+ - 400Gb数据库停在我们的服务器上.
从日志:
2015-07-07T09:09:51.072+0200 I STORAGE [conn10] _getOpenFile() invalid file index requested 8388701
2015-07-07T09:09:51.072+0200 I - [conn10] Invariant failure false src/mongo/db/storage/mmap_v1/mmap_v1_extent_manager.cpp 201
2015-07-07T09:09:51.082+0200 I CONTROL [conn10]
Run Code Online (Sandbox Code Playgroud)
我应该开始寻找什么想法?存储问题?
我今天也遇到了这种情况的变体。奇怪的是,我的一个数据文件消失了(或者在从另一台服务器迁移时没有成功)。所有修复/恢复过程都不起作用,因您引用的相同错误而失败。幸运的是,我有一个单独的 mongod,它有一个同名的集合,所以作为一个廉价的黑客,我将(诚然是错误的)数据文件复制到另一台服务器,虽然我知道我不会得到任何数据,但修复工具(例如mongod --repair)然后能够发挥他们的魔力,但正如预期的那样,他们从我复制的错误文件中恢复了一些数据,所以我不得不清除一些文档。幸运的是,这是“mycollection.1”文件,只有 128MB。
我认为这不适用于您的情况,因为您的日志所讨论的丢失数据文件的索引高得离谱。您的日志本质上是说它找不到/data/dbname/mycollection.8388701. 你说你的数据集只有 400GB,所以这么高的索引没有意义。您应该只有大约 200 个数据文件,因为默认情况下大多数数据文件的大小均为 2GB。db.stats()(特别是 fileSize 属性)的结果是什么?
这篇mongolab 博客文章帮助我理解了数据文件结构。
我对你应该从哪里开始寻找的建议:
db.stats()命令以了解磁盘上的数据实际有多大。mongod --repair、 或db.repairDatabase()工具来开始修复。我假设它不会工作,因为我的修复尝试因相同的invalid file index requested错误而崩溃。希望这有助于为您指明正确的方向。
| 归档时间: |
|
| 查看次数: |
6568 次 |
| 最近记录: |