簡體   English   中英

MongoDB意外關閉。 無法重啟

[英]Unexpected shutdown of MongoDB. Unable to restart

我的MongoDB在Windows Server2012 R2上運行。 直到今天,MongoDb意外崩潰,我才能夠訪問它。 錯誤日志如下:

2015-11-03T06:41:33.057-0800 I JOURNAL  [journal writer] error exception in dur::**journal error appending to file** c:\data\db\journal\j._1 8192 8192 errno:112 There is not enough space on the disk.
2015-11-03T06:41:33.080-0800 F JOURNAL  [journal writer] **dbexception in journalWriterThread causing immediate shutdown**: 13517 error appending to file c:\data\db\journal\j._1 8192 8192 errno:112 **There is not enough space on the disk.**
2015-11-03T06:41:33.081-0800 I -        [journal writer] Invariant failure false src\mongo\db\storage\mmap_v1\dur_journal_writer.cpp 258
2015-11-03T06:41:37.818-0800 I CONTROL  [journal writer] mongod.exe    ...\src\mongo\util\stacktrace_win.cpp(175)                       mongo::printStackTrace+0x43
2015-11-03T06:41:37.818-0800 I CONTROL  [journal writer] mongod.exe    ...\src\mongo\util\log.cpp(135)                                  mongo::logContext+0x97
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] mongod.exe    ...\src\mongo\util\assert_util.cpp(147)                          mongo::invariantFailed+0xf0
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] mongod.exe    ...\src\mongo\db\storage\mmap_v1\dur_journal_writer.cpp(258)     `mongo::dur::JournalWriter::_journalWriterThread'::`1'::catch$0+0x8c
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] MSVCR120.dll                                                                   _unDNameEx+0x268
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] MSVCR120.dll                                                                   _BuildCatchObjectHelper+0x345
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] ntdll.dll                                                                      RtlCaptureContext+0x3c3
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] mongod.exe    ...\src\mongo\db\storage\mmap_v1\dur_journal_writer.cpp(244)     mongo::dur::JournalWriter::_journalWriterThread+0x35a
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] mongod.exe    ...\src\third_party\boost\libs\thread\src\win32\thread.cpp(185)  boost::`anonymous namespace'::thread_start_function+0x21
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] MSVCR120.dll                                                                   beginthreadex+0x107
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] MSVCR120.dll                                                                   endthreadex+0x192
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] KERNEL32.DLL                                                                   BaseThreadInitThunk+0x22
2015-11-03T06:41:37.820-0800 I CONTROL  [journal writer] 
2015-11-03T06:41:37.821-0800 I -        [journal writer] 

***aborting after invariant() failure

我的數據庫有大約50GB的數據,並且在不斷增長。 日志顯示“ 附加到日志文件時出錯。磁盤上沒有足夠的空間 ”。但是,我的C驅動器上仍有大約20GB的可用空間。

我根本無法連接到mongodb。 我什至沒有只讀權限。 有什么方法可以連接到數據庫並還原數據。

我不確定,但這可能是由於日記文件的預分配。 MongoDB通常嘗試預分配上次日志使用的空間的兩倍。

因此,如果最后一個日記文件的大小為16GB,則可能需要32GB可用空間來啟動MongoDB。

您可以嘗試使用–nojournal選項啟動mongoDB服務器一次,以檢查是否有問題。 但是MongoDB不建議在生產環境中以–nojournal選項開頭

您可以找到有關日記文件的更多信息https://docs.mongodb.org/manual/tutorial/manage-journaling/

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM