Migrer une instance Cyberwatch vers un autre serveur

Cette documentation explique comment migrer une instance Cyberwatch d’un serveur à un autre sans perte de données.

Avant l’application de cette procédure, nous vous recommandons de contacter notre support à l’adresse support@cyberwatch.fr afin de vous guider à travers ces éléments.

Dans un premier temps, s’assurer que l’instance à migrer se trouve dans la dernière version du logiciel et dans la dernière version du socle applicatif.

Si besoin, mettre à jour l’application et le socle applicatif à l’aide des procédures officielles.

Dans la suite de cette documentation, le serveur sur lequel se trouve actuellement l’instance Cyberwatch sera appelé « l’ancien serveur ». Le serveur cible sur lequel aura lieu le transfert de données sera qualifié de « nouveau serveur ».

Commandes et actions à effectuer sur l’ancien serveur

Générer un dump SQL de la base de données

La procédure ci-dessous se base sur la documentation officielle de génération d’un dump.

Générer le backup de la base :

sudo cyberwatch backup save

La commande doit indiquer la création d’un fichier /var/lib/cyberwatch/backups/cyberwatch_AAMMDD_HHMMSS.sql.gz.

Vérifier que ce fichier est bien présent et qu’il n’est pas corrompu.

Transférer le fichier du dump vers le nouveau serveur, via une méthode au choix.

Commandes et actions à effectuer sur le nouveau serveur

Installer Cyberwatch

Installer Docker et Cyberwatch selon la procédure standard officielle.

Si votre installation d’origine ne suit pas la procédure standard, adaptez l’installation de Docker et de Cyberwatch à votre contraintes.

S’arrêter avant l’étape 4. de la documentation, NE PAS lancer la commande cyberwatch configure.

Supprimer l’ensemble des fichiers présents dans le répertoire nouvellement installé /etc/cyberwatch :

sudo rm /etc/cyberwatch/*

Cela permet de préparer la copie des fichiers de configuration de l’ancien serveur.

Vérifier la version du socle

Lancer la commande sudo cyberwatch version et vérifier que la version du socle installée correspond à celle de l’ancien serveur.

Copier les fichiers de configuration de l’ancien serveur vers le nouveau

L’objectif est de transférer l’ensemble du contenu présent dans le répertoire /etc/cyberwatch de l’ancien serveur vers le nouveau.

Les méthodes sont au choix, par exemple avec une commande rsync qui permet de conserver les liens symboliques (à adapter à votre environnement) :

cd /etc/cyberwatch
sudo rsync -Wav -e "ssh -i key.pem" /etc/cyberwatch user@[NOUVEAU_SERVEUR]:/etc/cyberwatch

Le nouveau serveur devrait donc avoir l’ensemble des fichiers de l’ancien serveur dans son répertoire /etc/cyberwatch/.

Démarrer Cyberwatch sur le nouveau serveur

Lancer la commande de configuration, vérifier à bien conserver les options spécifiques à votre installation présentes sur votre ancien serveur (--offline par exemple).

sudo cyberwatch configure --option1 --option2

Répondre « non » aux demandes de changement de configuration.

Une fois la commande terminée, l’interface Cyberwatch devrait être disponible et présenter une page de création de compte.

Importer le dump de la base de données

Restaurer le dump de la base de données transféré sur le nouveau serveur dans les étapes précédentes :

sudo cyberwatch backup restore /var/lib/cyberwatch/backups/cyberwatch_AAMMDD_HHMMSS.sql.gz

La retour de la commande doit indiquer que la base de données a été restaurée.

L’interface Cyberwatch hébergée sur le nouveau serveur doit alors être accessible à l’identique.