Typesense migre vers Ubuntu

Migration d'un serveur Typesense Ubuntu vers un autre : sauvegarde et restauration

La migration de votre instance Typesense auto-hébergée vers un nouveau serveur est une tâche cruciale, que vous mettiez à niveau le matériel, que vous passiez à un autre fournisseur de cloud ou que vous effectuiez simplement la maintenance du serveur.

Ce guide vous guide à travers les étapes correctes pour sauvegarder, transférer et restaurer vos données Typesense de manière sûre et fiable.

Concepts clés

Typesense stocke vos données dans le chemin défini par le répertoire de données paramètre (par exemple, /var/lib/typesense). Cependant, ces données ne peuvent pas être sauvegardées en toute sécurité pendant que le serveur est en cours d'exécution, car il garde les fichiers ouverts pour les écritures.

Pour éviter la corruption, Typesense fournit une API Snapshot pour effectuer des sauvegardes cohérentes.

🤓😎 De plus en plus de personnes reçoivent nos conseils en geekerie, confidentialité, développement et style de vie

Vous souhaitez recevoir les derniers articles de blog sur la technologie, la confidentialité, le développement et le style de vie ? Abonnez-vous à notre newsletter.

1. Créer une sauvegarde à l'aide de l'API Snapshot

Meilleure option si votre instance Typesense fonctionne normalement.

Appelez l'API Snapshot pour créer un instantané sécurisé pour le système de fichiers :

curl -X POST 'http://localhost:8108/snapshot' \ -H 'X-TYPESENSE-API-KEY: YOUR_ADMIN_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"snapshot_path": "/tmp/typesense-snapshot"}'

Ensuite, archivez le répertoire des snapshots :

tar -czvf backup.tar.gz -C /tmp typesense-snapshot

(Facultatif) Nettoyez le répertoire des instantanés :

rm -rf /tmp/typesense-snapshot

2. Alternative : Arrêter Typesense et copier le répertoire de données

Si l'API Snapshot n'est pas disponible (par exemple, Typesense ne répond pas) :

Arrêtez le serveur Typesense :

sudo systemctl stop typesense-server.service

Archivez ensuite directement le répertoire de données :

tar -czvf sauvegarde.tar.gz -C /var/lib typesense

Important: Ne faites cela qu'après avoir arrêté le serveur pour garantir la cohérence des fichiers.

3. Transférer la sauvegarde vers un autre serveur à l'aide des clés SCP + SSH

Générez des clés SSH (si vous ne l'avez pas déjà fait) sur votre machine locale :

ssh-keygen -t ed25519 -C "[email protected]"

Enregistrez-le dans l'emplacement par défaut (~/.ssh/id_ed25519) et laissez la phrase secrète vide pour l'automatisation.

Copiez la clé publique sur le nouveau serveur :

ssh-copy-id -i ~/.ssh/id_ed25519.pub utilisateur@nouvelle-adresse-ip-du-serveur

Transférer la sauvegarde à l'aide de SCP :

scp -i ~/.ssh/id_ed25519 backup.tar.gz utilisateur@nouvelle-ip-serveur:/tmp/

Si cela ne fonctionne pas, assurez-vous d'abord que le contenu de ed25519.pub est déplacé vers une nouvelle ligne du fichier :

~/.ssh/authorized_keys

4. Restaurer la sauvegarde sur le nouveau serveur

Vous pourriez encore avoir besoin de installer Typesense sur le nouveau serveur, configurer SSL, etc.

Ensuite, arrêtez toute instance Typesense en cours d’exécution :

sudo systemctl stop typesense-server.service

Nettoyez le répertoire de données existant (vérifiez qu'il s'agit bien de votre nouveau serveur vide, et non de votre ancien serveur contenant des données) :

sudo rm -rf /var/lib/typesense/*

Extraire la sauvegarde :

sudo tar -xzf /tmp/backup.tar.gz -C /var/lib/

Assurez-vous que les données extraites se trouvent sur le bon chemin, par exemple, /var/lib/typesense.

Redémarrez Typesense et supprimez le fichier tar de sauvegarde :

sudo systemctl start typesense-server.service rm /tmp/backup.tar.gz

Typesense détectera l'instantané au démarrage et reconstruira ses index en mémoire.

Liste de contrôle finale

  • Sauvegarde créée à l'aide de l'API Snapshot ou après l'arrêt de Typesense
  • Données archivées et vérifiées
  • Accès basé sur une clé SSH configuré
  • Transfert SCP effectué en toute sécurité
  • Typesense a redémarré avec succès sur le nouveau serveur

Conseils de pro

  • Testez votre sauvegarde avant de l'utiliser en production. Essayez de la restaurer sur un serveur de test.
  • Automatisez les instantanés réguliers à l'aide de cron + boucle + goudron.
  • Utilisez des clés API sécurisées et n’exposez jamais la clé d’administration Typesense dans des scripts publics.
  • Vérifiez toujours les journaux Typesense après le démarrage du service : journalctl -u typesense-server.service

Conclusion

Migrer une instance Typesense n'est pas forcément une tâche ardue. Avec une bonne compréhension du fonctionnement des snapshots et un peu de magie SSH, vous pouvez déplacer vos données entre serveurs de manière fiable et sécurisée.

Si vous rencontrez des problèmes avec l'API de capture instantanée, un arrêt à froid et une sauvegarde manuelle fonctionnent toujours : suivez simplement les étapes attentivement.

C'est à vos risques et périls.

Dernière mise à jour le 30 juillet 2025

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrançais
Défiler vers le haut