Guide de migration
Ce guide explique comment migrer vos données Relution d’un backend de stockage objet vers un autre. Les scénarios courants incluent :
- La migration de MinIO vers SeaweedFS (MinIO n’est plus maintenu)
- Le passage d’un fournisseur cloud vers un hébergement auto-géré (ou l’inverse)
- Le changement de fournisseur cloud
Les exemples ci-dessous illustrent une migration de MinIO vers SeaweedFS, mais les étapes peuvent être adaptées à toute source et destination compatibles S3.
Le processus de migration comprend quatre étapes :
- Mettre en place le nouveau backend de stockage
- Copier les données de l’ancien vers le nouveau stockage
- Mettre à jour la configuration de Relution
- Supprimer l’ancien backend
Prérequis
- Un accès simultané aux deux backends de stockage
- L’outil en ligne de commande
rclone(guide d’installation →) - Les identifiants des deux backends de stockage
Mettre en place le nouveau backend
Si vous migrez vers SeaweedFS, suivez d’abord notre guide d’installation SeaweedFS →, mais ne démarrez pas encore Relution.
Assurez-vous que l’ancien et le nouveau backend de stockage sont tous deux en cours d’exécution :
docker compose up -d minio seaweedfs
Configurer rclone
L’outil rclone offre un moyen rapide et fiable de copier des données entre backends compatibles S3.
Installer rclone
Suivez les instructions sur rclone.org/install → pour votre système d’exploitation.
Créer les configurations distantes
Lancez l’assistant de configuration :
rclone config
Configurez la source (MinIO) :
- Tapez
npour un nouveau remote - Nom :
source - Type de stockage : sélectionnez
s3 - Fournisseur : sélectionnez
Minio(ouOtherpour un S3 générique) - Saisissez votre Access Key et Secret Key
- Endpoint :
http://localhost:9000 - Conservez les valeurs par défaut pour les options restantes
- Confirmez avec
y
Configurez la destination (SeaweedFS) :
- Tapez
npour un nouveau remote - Nom :
dest - Type de stockage : sélectionnez
s3 - Fournisseur : sélectionnez
Other - Saisissez votre nouvel Access Key et Secret Key
- Endpoint :
http://localhost:8333 - Conservez les valeurs par défaut pour les options restantes
- Confirmez avec
y
Tapez q pour quitter la configuration.
Vérifier l’accès aux ports
Assurez-vous que les ports de l’API S3 sont exposés sur votre hôte. Vérifiez votre compose.yml :
minio:
ports:
- "9000:9000" # API S3 - doit être accessible
- "9001:9001" # Console web
# ...
seaweedfs:
ports:
- "8333:8333" # API S3 - doit être accessible
- "23646:23646" # Console web
Copier les données
Vérifiez que Relution est arrêté afin d’éviter toute modification des données pendant la migration :
docker compose ps # Doit afficher les backends de stockage, mais PAS relutionDémarrez le transfert :
rclone copy source:relution dest:relution --progressAttendez la fin du transfert. Le temps de transfert dépend de la quantité de données dans votre bucket.
Vérifiez le transfert :
rclone check source:relution dest:relutionSortie attendue :
0 differences found
Mettre à jour la configuration de Relution
Mettez à jour la configuration de Relution pour qu’elle pointe vers le nouveau backend. Vous devez modifier les éléments suivants :
| Paramètre | Ancienne valeur | Nouvelle valeur |
|---|---|---|
| Endpoint | http://minio:9000 | http://seaweedfs:8333 |
| Access Key | Ancienne clé | Nouvelle clé |
| Secret Key | Ancien secret | Nouveau secret |
Pour une description détaillée de la configuration/modification, consultez Configurer Relution →
Vérifier et nettoyer
Démarrez Relution :
docker compose up -d relutionVérifiez le bon fonctionnement : Connectez-vous à Relution et confirmez que les applications et ressources se chargent correctement.
Supprimez l’ancien backend (uniquement après une vérification approfondie) :
docker compose down minio # Arrêtez l'ancien serviceNettoyez la configuration : Supprimez l’ancien service de votre
compose.yml.Supprimez les anciennes données : Supprimez l’ancien volume ou répertoire de stockage (par exemple
./volumes/minio/data).Nettoyez rclone : Vous pouvez éventuellement supprimer la configuration rclone :
rclone config delete source rclone config delete dest
Dépannage
Connexion refusée / Timeout
Assurez-vous que les ports de l’API S3 sont exposés et non bloqués par un pare-feu ou une segmentation réseau. Testez la connectivité :
curl http://localhost:8333 # Doit retourner une erreur S3
Access denied / 401 / 403
Vérifiez que vos identifiants sont corrects et que l’utilisateur a accès au bucket.
Fichiers manquants après la migration
Relancez la vérification :
rclone check source:relution dest:relution
Si des différences sont détectées, relancez rclone copy ; seuls les fichiers manquants seront transférés.