Коллеги, в очередной раз монга доела место на диске.
гарабля частая, опишу методику решения:
- находим немного места ~ 10% размеры базы – уже не плохо
- определяемся что съело все место, как правило это:
- noc.log.sa.interaction
- noc.log.sa.failed_scripts
- noc.events.archive
- db.noc.ts.p*
- грохаем эти базы. тут я предполагаю что они ненужны.
# 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
не забываем вернуть авторизацию как было. место почищено
- Profit