Mystérieusement après une copie hors connexion de mes données vers un autre serveur, bomgar.1
(un fichier de données) était manquant sur tous les serveurs. J'ai environ 850 Go de données dans le magasin de fichiers de la grille dans cette base de données. Tous les outils de réparation ont échoué en raison du fichier manquant. J'ai essayé de copier dans un "faux" bomgar.1
d'un autre serveur (même nom de base de données, même taille de fichier), et cela a permis aux outils de réparation de vider les données, mais quand ils sont allés insérer les docs valides , je suis la sortie suivante:Mongo RepairDatabase a échoué sur Dupliquer
> use bomgar
switched to db bomgar
> db.repairDatabase()
{
"ok" : 0,
"errmsg" : "E11000 duplicate key error index: bomgar.fs.chunks.$files_id_1_n_1 dup key: { : null, : null }",
"code" : 11000
}
Je ne fais pas beaucoup dans la coquille Mongo. Je ne suis pas intéressé à conserver des données en double. Le fichier "faux" est seulement 128 Mo, donc perdre cette tranche de mes données est beaucoup mieux que de perdre l'ensemble de 850 Go. Nous sommes en train de déplacer ces données vers un jeu de réplicas, et il semble qu'aucun des serveurs n'affiche la collection fs.files, donnant l'erreur bad offset:0 accessing file: /data/grid/bomgar.0. See http://dochub.mongodb.org/core/data-recovery
, mais je peux voir fs.chunks et system.indexes.
En résumé: Comment puis-je sauvegarder mes données même si une partie est manquante?
Egalement intéressant à noter: lors de la récupération de cette façon, je me suis retrouvé avec au moins 1,5 fois la taille de mes données en cours de vidage (dernière fois que j'ai vérifié avant de dormir). Maintenant, les données _tmp ont disparu, mais je n'ai vu aucune référence aux outils de réparation utilisant beaucoup plus d'espace pour réparer. – QuickDanger