Child pages
  • Mongo съела все место

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

  • находим немного места ~ 10% размеры базы уже не плохо
  • определяемся что съело все место, как правило это:
  • грохаем эти базы. тут я предполагаю что они ненужны.

...

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

    Code Block
    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 
  • потом надо дропнуть базу

    Code Block
    # mongo noc -u noc -p thenocproject        
    MongoDB shell version: 2.6.5
    connecting to: noc
    > db.dropDatabase()
    { "dropped" : "noc", "ok" : 1 }
    > 
    bye


    после дропа базы реально освободиться место

    .

  • потом разворачиваем обратно

    Code Block
    mongorestore dump 

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

    Code Block
    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 }

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

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

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

    Code Block
    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

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

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

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

  • Profit