2012-09-30 2 views
3

Nous avons un mongodb fonctionnant sur un seul AWS EC2 (pas de maître-esclave, pas de jeux de réplicas). Les fichiers de données sont stockés dans un volume EBS distinct. Alors, quel est le meilleur moyen de sauvegarder et de restaurer les données sans le bloquer de l'écriture (synchronisation & verrouiller)? Ou devons-nous avoir maître-esclave pour l'atteindre?Quelle est la bonne stratégie pour sauvegarder les données de mongodb sans les verrouiller (fsync & lock)?

Répondre

5

Tant que vous avez la journalisation activée (la valeur par défaut dans MongoDB 2.0+), vous pouvez profiter de instantanés EBS pour obtenir une décharge cohérente des fichiers de données sans la nécessité de fSyncLock().

Ceci est traité plus en détail dans la documentation EC2 Backup & Restore sur le site MongoDB.

+0

Merci. En passant, j'ai encore quelques soucis sur les performances de DB lors de l'exécution de l'instantané ebs. Cela affecte-t-il beaucoup la performance? Et si oui, y a-t-il une meilleure solution? –

+0

D'après mon expérience, les performances EBS en général ont été incohérentes, mais les instantanés EBS sont la stratégie de sauvegarde ponctuelle prise en charge par Amazon Web Services. L'impact réel varie en fonction de l'utilisation de votre système, du système de fichiers, de la taille du répertoire de données, de la fréquence des instantanés et des conditions météorologiques d'EBS :). – Stennie

+0

En ce qui concerne les alternatives, il y a un bon aperçu dans [MongoDB Backup and Restoration Strategies] (http://docs.mongodb.org/manual/administration/backups/). Il vaut la peine d'envisager l'utilisation d'un jeu de réplicas car vous disposerez d'une sauvegarde à chaud avec une sauvegarde complète des données et d'autres avantages administratifs par rapport à un serveur unique. Par exemple, vous pouvez effectuer vos sauvegardes depuis un serveur secondaire sans affecter le serveur principal. Vous pouvez également avoir des nœuds dans d'autres zones de disponibilité pour le basculement. Un jeu de réplicas ne remplace pas une stratégie de sauvegarde d'archivage, mais peut constituer un bon complément. – Stennie

0

Chez MongoDirector.com, nous utilisons LVM snapshotos pour sauvegarder nos bases de données MongoDB. Au fur et à mesure que votre taille de BD augmente, c'est vraiment la seule option. Si vous utilisez MongoDump et essayez de restaurer à l'aide de MongoRestore, cela peut prendre des heures. Dans 2.0+ le fsyncLock() est optionnel mais nous le faisons quand même.

Questions connexes