Mise en place des backups

29 views
Skip to first unread message

Christophe REZENTHEL

unread,
Sep 8, 2016, 4:26:13 AM9/8/16
to Neo4jFr

Bonjour,

Je souhaite mettre en place un backup planifié (1 fois / jour) des données de production.

Voici l'architecture en place :

                 Load Balancer (bdd.mondomaine.com)
        HaProxy#1         HaProxy#2 
Neo4J#1          Neo4J#2            Neo4J#3

J'ai testé la commande : neo4j-backup -host Neo4J#3 -to /mnt/backup = OK

Est-ce la bonne solution? Si non, pouvez vous me conseiller?

Merci d'avance.
Christophe

Benoit Simard

unread,
Sep 8, 2016, 4:32:08 AM9/8/16
to neo...@googlegroups.com

Bonjour,

Neo4j dispose d'un outil de backup à chaud. Cet outil réalise deux actions :

* une vérification de la consistance de la base
* une copie du répertoire `data/graph.db` dans le répertoire spécifié

Voici la commande pour l'exécuter :

[source]
----
$>bin/neo4j-backup -to BACKUP_FOLDER -host NEO4J_IP -port BACKUP_PORT
----

Où :

* **BACKUP_FOLDER** : est le répertoire vers lequel le backup sera réalisé. Si celui-ci contient déjà un précédent backup, l'outil va réaliser un delta avec la base (backup incrémentale).
* **NEO4J_HOST** : l'adresse IP de la machine Neo4j. Vu que l'utilitaire de backup est généralement sur la machine que le serveur Neo4j, on utilise `localhost`
* **BACKUP_PORT** : Le port sur lequel Neo4j écoute les instructions de backup. Par défaut celui-ci est `6362`. Celui-ci peut être changé en modifiant la clef `online_backup_server` du fichier `conf.neo4j.properties`.

*NB :* Ne pas oublier de prendre en compte dans votre script de backup, de vérifier le code de sortie de cette commande pour ne pas vous retrouver sans backup à cause d'une base inconsistante.

Même si la technique de backup peut être incrémetale, son livrable correspond toujours à l'intégralité de la base (ie. le répertoire `data/graph.db`). Il n'y a pas de backup incrémentale.

Ce qui est généralement mis en place, c'est un cron qui toutes les heures vient faire le backup de manière incrémentale.
Enfin, une fois par jour, le répertoire est zippé et envoyé sur SAN/FTP/... pour sauvegarde.


Sincèrement.

Message has been deleted

Christophe REZENTHEL

unread,
Sep 8, 2016, 4:51:39 AM9/8/16
to Neo4jFr
Merci Benoît pour ta réponse.

Comme indiqué dans mon post précédent, j'ai testé cette commande avec succès.
J'ai l'impression que cette méthode m'oblige à indiquer une machine en particulier dans le cluster plutôt que de passer par le DNS (niveau Load Balancer)

J'ai besoin de savoir s'il s'agit de la "bonne pratique" ou bien s'il y a un autre moyen. :)

Bien à toi.

Benoit Simard

unread,
Sep 29, 2016, 7:37:17 AM9/29/16
to Neo4jFr
Oui faut bien préciser une IP. Après il est possible de faire un LB pour le backup, mais je n'ai jamais mis en place une telle archi.
Reply all
Reply to author
Forward
0 new messages