Ho richiesto this question in mongodb google group, in assenza di risposte che lo postano qui.Quanto spazio aggiuntivo potrebbe riparare il database richiede
Abbiamo un'istanza di mongo (versione 2.0.1) a nodo singolo. Stiamo esaurendo lo spazio su disco anche dopo l'archiviazione giornaliera, dato che mongo non restituisce lo spazio al sistema operativo e tenta di usarlo da solo. Attualmente la nostra configurazione è diventata molto scarsa con circa il 50% di spazio inattivo. È possibile notare che la dimensione dei dati + indice è di circa 1170 GB mentre la dimensione di archiviazione è di circa 2158 GB e la dimensione del file è di circa 2368 GB.
db.stats()
{
"db" : "default",
"collections" : 106,
"objects" : 553988389,
"avgObjSize" : 2094.1392962010254,
"dataSize" : NumberLong("1160128855044"),
"storageSize" : NumberLong("2315777236208"),
"numExtents" : 1487,
"indexes" : 107,
"indexSize" : 97914435136,
"fileSize" : NumberLong("2543459500032"),
"nsSizeMB" : 16,
"ok" : 1
}
Vogliamo recuperare lo spazio e come questo non è un sistema critico missione (proprio come un cantiere di dumping per i registri) può sostenere un tempo di inattività. Non vogliamo spendere per la creazione di un set di repliche anche se ci troviamo in un datacenter fisico, quindi preferiremo non collegare altro disco solo per la riparazione del database.
Voglio capire: -
-Come è richiesto molto spazio libero su disco per il database di riparazione
-Quanto spazio possiamo sperare di recuperare dopo la riparazione del database
-around quanto tempo dovrebbe prendere per ripristinare il database.
-Se il database di riparazione continua, è sufficiente ucciderlo e riavviare il database.
La massa dei nostri dati giace in un'unica raccolta, quindi se la raccolta compatta sarebbe meglio del database di riparazione.
di riparazione può richiedere fino a 2X spazio. –
2X di dimensione dei dati o dimensioni di archiviazione? – pseudonym
Repair eseguirà un '' mongodump'' e '' mongorestore'' e per questo richiede il doppio dello spazio su disco utilizzato dal database, vale a dire che ha bisogno di spazio per memorizzare i vecchi e nuovi file di database. Per evitare che si possa fare manualmente un '' mongodump'', eliminare i file del database e quindi eseguire '' mongorestore''. In alternativa, se hai solo bisogno di recuperare spazio inutilizzato puoi eseguire '' compact'' (assicurati di avere 2 GB di spazio libero). – diliop