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.
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-snapshot2. 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.serviceArchivez ensuite directement le répertoire de données :
tar -czvf sauvegarde.tar.gz -C /var/lib typesenseImportant: 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-serveurTransfé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_keys4. 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.serviceNettoyez 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.gzTypesense 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
