Child pages
  • Mongo съела все место
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Коллеги в очередной раз монга доела место на диске.

гарабля частая опишу методику решения

  • находим немного места ~ 10% размеры базы уже не плохо
  • определяемся что съело все место как правило это
  • грохаем эти базы. тут я предполагаю что они ненужны.
# mongo noc -u noc -p thenocproject       
MongoDB shell version: 2.6.5
connecting to: noc
> db.noc.events.archive.drop()
true
> 
bye
  • делаем дамп
cd /tmp #там где есть место
# mongodump -d noc -u noc -p thenocproject
connected to: 127.0.0.1
2014-10-27T15:02:04.158+0500 DATABASE: noc     to     dump/noc
2014-10-27T15:02:04.159+0500     noc.system.indexes to dump/noc/system.indexes.bson
2014-10-27T15:02:04.160+0500          229 documents
2014-10-27T15:02:04.239+0500     noc.noc.activatorcapscache to dump/noc/noc.activatorcapscache.bson
2014-10-27T15:02:04.239+0500          1 documents
2014-10-27T15:02:04.239+0500     Metadata for noc.noc.activatorcapscache to dump/noc/noc.activatorcapscache.metadata.json
2014-10-27T15:02:04.240+0500     noc.noc.alarmclassconfigs to dump/noc/noc.alarmclassconfigs.bson
2014-10-27T15:02:04.240+0500          0 documents
2014-10-27T15:02:04.241+0500     Metadata for noc.noc.alarmclassconfigs to dump/noc/noc.alarmclassconfigs.metadata.json
2014-10-27T15:02:04.241+0500     noc.noc.alarmclasses to dump/noc/noc.alarmclasses.bson
2014-10-27T15:02:04.242+0500          116 documents
2014-10-27T15:02:04.377+0500     Metadata for noc.noc.alarmclasses to dump/noc/noc.alarmclasses.metadata.json
2014-10-27T15:02:05.786+0500     noc.noc.alarms.active to dump/noc/noc.alarms.active.bson
2014-10-27T15:02:05.787+0500          65 documents
2014-10-27T15:02:05.788+0500     Metadata for noc.noc.alarms.active to dump/noc/noc.alarms.active.metadata.json
2014-10-27T15:02:06.440+0500     noc.noc.alarmseverities to dump/noc/noc.alarmseverities.bson
....

  • если видим вот такое

    2014-10-27T15:02:22.591+0500     Metadata for noc.noc.fm.ignorepatterns to dump/noc/noc.fm.ignorepatterns.metadata.json
    2014-10-27T15:02:22.591+0500     noc.noc.log.sa.interaction to dump/noc/noc.log.sa.interaction.bson
    2014-10-27T15:02:25.099+0500         Collection File Writing Progress: 27300/1398336    1%    (documents)
    2014-10-27T15:02:28.046+0500         Collection File Writing Progress: 380800/1398336    27%    (documents)
    2014-10-27T15:02:31.218+0500         Collection File Writing Progress: 679600/1398336    48%    (documents)
    
    

    значит эта таблица у вас большая. определитесь с ее надобностью. не нужна – под нож.

  • Результат дампа будет в директории /tmp/dump 
  • потом надо дропнуть базу

    # mongo noc -u noc -p thenocproject        
    MongoDB shell version: 2.6.5
    connecting to: noc
    > db.dropDatabase()
    { "dropped" : "noc", "ok" : 1 }
    > 
    bye
  • после дропа базы реально освободиться место.
  • потом разворачиваем обратно

    mongorestore dump 

    в моем случае развернуть не удалось сразу

    assertion: 18 { ok: 0.0, errmsg: "auth failed", code: 18 }
    [noc-devel] 15:07:28 /tmp # mongorestore -u noc -p thenocproject     
    connected to: 127.0.0.1
    assertion: 18 { ok: 0.0, errmsg: "auth failed", code: 18 }
    [noc-devel] 15:07:35 /tmp # mongorestore -u noc -p thenocproject
    connected to: 127.0.0.1
    assertion: 18 { ok: 0.0, errmsg: "auth failed", code: 18 }
    [noc-devel] 15:08:23 /tmp # mongorestore -u noc -p thenocproject dump 
    connected to: 127.0.0.1
    assertion: 18 { ok: 0.0, errmsg: "auth failed", code: 18 }

    поэтому я выключил временно аутентификацию

    vim /etc/mongodb.conf
    делаем
    noauth = false
    auth = false

    еще было вот так

    2014-10-27T15:13:31.846+0500 dump/noc/noc.events.archive.metadata.json not found. Skipping.
    2014-10-27T15:13:34.009+0500         Progress: 59707177/281133056    21%    (bytes)
    2014-10-27T15:13:37.006+0500         Progress: 134295084/281133056    47%    (bytes)
    2014-10-27T15:13:40.023+0500         Progress: 206281144/281133056    73%    (bytes)
    2014-10-27T15:13:43.011+0500         Progress: 259074081/281133056    92%    (bytes)
    2014-10-27T15:13:46.052+0500         Progress: 280268599/281133056    99%    (bytes)
    2014-10-27T15:13:47.688+0500 Assertion failure amt == (size_t)( size - 4 ) src/mongo/tools/tool.cpp 330
    2014-10-27T15:13:47.713+0500 0x11e8261 0x118b669 0x116f97e 0x1161ddd 0x772347 0x7772e7 0x776ab1 
     mongorestore(_ZN5mongo15printStackTraceERSo+0x21) [0x11e8261]
     mongorestore(_ZN5mongo10logContextEPKc+0x159) [0x118b669]
     mongorestore(_ZN5mongo12verifyFailedEPKcS1_j+0x17e) [0x116f97e]
     mongorestore(_ZN5mongo8BSONTool11processFileERKN5boost11filesystem34pathE+0x99d) [0x1161ddd]
     mongorestore(_ZN7Restore22processFileAndMetadataERKN5boost11filesystem34pathERKSs+0xda7) [0x772347]
     mongorestore(_ZN7Restore9drillDownEN5boost11filesystem34pathEbbbb+0xe47) [0x7772e7]
     mongorestore(_ZN7Restore9drillDownEN5boost11filesystem34pathEbbbb+0x611) [0x776ab1]
    assertion: 0 assertion src/mongo/tools/tool.cpp:330

    из-за того что я не удалял дампы и получились битые архивы. боремся просто убивая плохие файлы

    rm dump/noc/noc.events.archive.bson

    не забываем вернуть авторизацию как было. место почищено

  • No labels