Webinar: Opérations pour votre application - Session 7 - Sauvegarde et DR
-
Upload
mongodb -
Category
Technology
-
view
247 -
download
0
description
Transcript of Webinar: Opérations pour votre application - Session 7 - Sauvegarde et DR
Tugdual Grall (@tgrall) Alain Hélaïli (@AlainHelaili)
#MongoDBBasics @MongoDB
Construire une application avec MongoDB
Sauvegarde et disaster recovery
2
• Résumé de l’épisode précédent
• Options de backup
• MMS
Agenda
3
• Virtual Genius Bar– Utilisez la fenêtre de chat
– Tug & Alain dispo pendant, et après…
• MUGs à Paris, Toulouse, Bordeaux, Rennes, Lyon
• Groupes LinkedIn « MongoDB France » et « MongoDB » sur Viadeo
Q & A
@tgrall, [email protected] - @AlainHelaili, [email protected]
Résumé de l’épisode précédent…
5
Stratégies de déploiement
• Taille du “working set”
• Durabilité de la donnée• Replica Sets
• Tags
• Préférences de lecture
6
Stratégies de déploiement
• Scalabilité horizontale
• Partitioning
• Distribution de la donnée
• Choix de la clé de sharding
• Sharding au moment opportun
Options de backup
8
• mongodump & mongorestore
• Copie du système de fichiers
• Snapshot du système de fichiers
• Replique cachée avec slaveDelay
• mongoimport & mongoexport n’est pas une solution de backup!
Outils & Approches
9
• Crée un fichier de données bson plus un fichier de métadonneées JSON
• Fonctionne à travers le réseau ou directement sur le système de fichiers
Mongodump
>mongodump –h myhost -d cms -c articlesconnected to: myhost 2014-04-16T12:54:56.758+0100 DATABASE: cms to dump/cms2014-04-16T12:54:56.759+0100 cms.articles to dump/cms/articles.bson2014-04-16T12:54:56.816+0100 7 documents2014-04-16T12:54:56.817+0100 Metadata for cms.articles to dump/cms/articles.metadata.json
10
• Back up réseau peut introduire des page faults
• Primaire et Secondaire identiques– A la latence près
• Préférer les secondaires – Eventuellement cachés
Où faire ce backup
mongodump
11
• Inconsistence potentielle des données– mongodump lit les fichiers de manière séquentielle– Déplacement de document suite à update, objets liés…
• 3 options pour maintenir la consistence– Option –oplog de mongodump.– Verrouiller la DB pour empêcher les écritures– Isoler un noeud secondaire
Consistence des données
12
--oplog & --oplogRestore
//Backup with –oplog//--oplog requires that you backup all databases / collections on the server>mongodump –h myhost –oplog
//To restore use mongorestore with the –oplogRelay switch for example>mongorestore –h myhost –oplogReplay ./cms/dump
13
• Pour les primaires or secondaires– Déverse la données sur le disque et verrouille– db.fsyncLock() & db.fsyncUnlock()
Verrouiller la DB en écriture
//use fsync and lock from the mongo shell> db.fsyncLock(){
"info" : "now locked against writes, use db.fsyncUnlock() to unlock",
"seeAlso" : "http://dochub.mongodb.org/core/fsynccommand","ok" : 1
}//Perform file system backup… then unlock with… unlocked secondaries will catchup.> db.fsyncUnlock(){ "ok" : 1, "info" : "unlock completed" }
14
• Copie des fichiers du dbpath (e.g. /data/db)– Utiliser fsync+lock
• Snpashot au niveau système de fichiers ou stockage bloc
– Par example LVM snapshots– Backup/restore le plus rapide
• Considérations– Journal, Consistence– Granularité (système complet ou DB individuelle)– Ops expertise– Stockage des snapshots et fichiers de données
Backup niveau système de fichiers
15
• Arrêter le process balancer– Attendre la fin des migrations en cours
– Backup de chaque shard
– Ne pas oublier les config servers!
Backup d’un cluster shardé
//Switch the balancer off…mongos> sh.setBalancerState(false)
//Check to see if the balance is currently doing any migrations.mongos> sh.isBalancerRunning()
MMS Backup
17
• On premise
• In the cloud
What is MongoDB Management Service?
http://mms.mongodb.com
18
MMS Backup Architecture
• Replication Data piped into MMS Backup
19
• From the initial sync, we rebuild your data in our datacenters and take a snapshot
• We take snapshots every 6 hours
• Oplog is stored for 48 hours
How it works
20
• Balancer paused every 6 hours
• A no-op token is inserted across all shards, mongoses and config servers
• Oplog applied to replica sets until point in which token was inserted
• Provides a consistent state of database across shards
Sharded Clusters
Summary
22
• Choisissez la meilleure stratégie pour vous
• Les snapshots sont rapides
• Pensez à l’intégrité
• MMS Backup sur le cloud ou sur site
Résumé
23
– Monitoring– Tuning
– Outils
– Quelles sont les métriques importantes
Prochaine session – 3 juin