Comment migrer en toute sécurité un dossier de données Nextcloud vers un disque dur externe

Déplacer un dossier de données Nextcloud vers un disque dur externe plus grand peut sembler une simple opération de copie et d'édition. Or, ce n'est pas le cas. Nextcloud identifie le stockage local par son chemin absolu sur le disque. Si ce chemin est modifié par inadvertance, le serveur peut considérer les fichiers comme se trouvant à un autre emplacement de stockage, ce qui peut entraîner des enregistrements de fichiers dupliqués ou orphelins, des métadonnées corrompues ou la perte des relations de partage.

Pour une installation existante, la solution la plus sûre consiste donc à conserver le même chemin d'accès au répertoire de données dans Nextcloud tout en déplaçant les données elles-mêmes vers le disque externe. Le manuel d'administration actuel de Nextcloud recommande explicitement de déplacer le répertoire, puis de créer un lien symbolique depuis le chemin d'origine vers le nouvel emplacement. Le manuel précise également que toute modification directe datadirectorynécessite des modifications de la base de données et ne constitue pas une méthode de migration prise en charge. Consultez le guide de dépannage du répertoire de données de Nextcloud .

Avant de commencer : qu’est-ce qui est vérifié, qu’est-ce qui dépend de votre configuration ?

QuestionRéponse pratique
Puis-je simplement modifier datadirectoryle texte config.php?Cette opération n'est pas sans risque. Nextcloud indique que modifier le chemin absolu du stockage local peut rompre les relations de la base de données. Il est préférable de conserver le chemin d'origine à l'aide d'un lien symbolique.
Ai-je besoin d'une sauvegarde complète ?Oui. La documentation de sauvegarde de Nextcloud inclut la configuration, le répertoire de données, la base de données et les données des applications/thèmes personnalisés. Ne considérez pas l'ancien disque comme votre unique copie de restauration.
Le disque dur externe doit-il être au format ext4 ?Cette procédure n'impose aucun système de fichiers particulier. Les exemples ci-dessous utilisent ext4 car la gestion des droits d'accès et de propriété sous Linux y est simple. D'autres systèmes de fichiers peuvent nécessiter des options de montage différentes.
Devrais-je courir files:scan --allensuite ?En général, cette fonction n'est pas recommandée pour un déplacement préservant le chemin d'accès. Utilisez-la uniquement lorsque des fichiers sont absents du cache ou lorsqu'ils ont été copiés dans l'arborescence de données en dehors de Nextcloud et nécessitent une nouvelle analyse immédiate.
Un disque dur USB est-il aussi fiable qu'un disque interne ?Cela dépend du boîtier, du câble, de l'alimentation, du système de fichiers et de l'hôte. L'indisponibilité d'un disque amovible représente un risque pour la disponibilité du service ; assurez-vous donc que le montage est permanent et vérifiez-le avant de démarrer Nextcloud.

1. Montez le disque dur externe sur un chemin stable

Commencez par identifier le périphérique et le système de fichiers. Sous Linux, des commandes comme `ls` lsblk -fet `ls` blkidaffichent l'UUID du système de fichiers. Évitez de créer une configuration permanente basée sur un nom de périphérique tel que `/dev` ; les noms de périphériques Linux peuvent changer lors de l'ajout de matériel ou d'une modification de l'ordre de détection. Le manuel `fstab`/dev/sdb1 de Linux recommande l'utilisation d'identifiants UUID ou LABEL pour les montages persistants.

lsblk -f
sudo blkid /dev/sdb1
sudo mkdir -p /mnt/nextcloud-data-storage

Ajoutez une entrée appropriée /etc/fstab. Remplacez l'UUID et le type de système de fichiers d'exemple par les valeurs de votre propre disque :

UUID=YOUR-FILESYSTEM-UUID  /mnt/nextcloud-data-storage  ext4  defaults  0  2

Ensuite, testez le montage avant de toucher à Nextcloud :

sudo mount -a
findmnt /mnt/nextcloud-data-storage
df -h /mnt/nextcloud-data-storage
Terminal Linux affichant les résultats de lsblk, blkid, une entrée UUID dans fstab, mount -a et findmnt pour le disque externe Nextcloud.

Vérifiez le disque externe par son UUID et confirmez son point de montage avant de déplacer des fichiers Nextcloud.

Idée reçue : un répertoire nommé «/mnt/nextcloud-data-storage mount » ne prouve pas que le disque y est monté. Si le disque est absent, le répertoire de montage peut toujours exister sur le disque système. Action : utilisez findmntcette commande à mountpointchaque test de migration et après un redémarrage.

2. Sauvegardez Nextcloud et arrêtez les écritures.

Le guide de sauvegarde actuel de Nextcloud indique qu'une sauvegarde récupérable inclut le répertoire de données, la configuration, la base de données et tout autre contenu spécifique au déploiement, comme les applications et thèmes personnalisés. Consultez la documentation officielle de Nextcloud relative à la sauvegarde et assurez-vous que celle-ci est stockée ailleurs que sur le disque que vous vous apprêtez à repartitionner ou à réutiliser.

Ensuite, activez le mode maintenance depuis le répertoire d'installation de Nextcloud. Sous Debian et Ubuntu, le compte du serveur web est généralementwww-data :

cd /var/www/nextcloud
sudo -E -u www-data php occ maintenance:mode --on

Les instructions de migration précisent également qu'aucune tâche cron ne doit s'exécuter pendant le déplacement et recommandent d'arrêter les serveurs web/d'applications pendant la migration des données. La procédure à suivre dépend du déploiement : Apache, Nginx avec PHP-FPM, Docker Compose, Snap, AIO et Kubernetes ont tous des limites de service différentes.

Action : désactivez la tâche cron Nextcloud ou arrêtez le service cron concerné, puis arrêtez le service web/application avant la copie finale. Si le volume de données est important, vous pouvez pré-remplir le disque externe pendant que le site est en ligne, puis passer en mode maintenance, arrêter les processus d’écriture et effectuer une dernière rsynccopie pour capturer les modifications.

3. Copiez l'intégralité du répertoire de données, y compris les fichiers cachés.

Ne copiez pas uniquement les dossiers utilisateur. Le répertoire de données contient également des fichiers cachés, tels que .ncdatades données d'application, qui font partie intégrante du stockage. Nextcloud mentionne explicitement les fichiers cachés (ou fichiers « dot ») lors de sa procédure de déplacement.

Supposons que le répertoire courant soit /var/www/nextcloud/dataet que le disque externe soit monté à /mnt/nextcloud-data-storage. Créez la destination et copiez le répertoire :

sudo mkdir -p /mnt/nextcloud-data-storage/data
sudo rsync -Aax --info=progress2   /var/www/nextcloud/data/   /mnt/nextcloud-data-storage/data/

La documentation de restauration de Nextcloud utilise rsync -Aaxcomme exemple la préservation de l'arborescence des répertoires et des métadonnées. Pour les installations très volumineuses, effectuez une seconde passe après l'arrêt de tous les processus d'écriture et examinez le résultat. Les options exactes nécessaires peuvent varier selon que votre source utilise des listes de contrôle d'accès (ACL), des attributs étendus, des systèmes de fichiers inhabituels ou un stockage monté dans un conteneur.

Terminal affichant le mode maintenance de Nextcloud, cron arrêté et rsync copiant l'intégralité du répertoire de données, y compris .ncdata, vers un disque externe.

Arrêtez les écritures en arrière-plan et copiez l'intégralité de l'arborescence des données, y compris les fichiers de métadonnées Nextcloud cachés.

Idée reçue : une copie terminée signifie que la migration est achevée. Ce n’est pas le cas. Nextcloud a toujours besoin du chemin d’accès prévu, et l’utilisateur HTTP doit pouvoir accéder au nouvel emplacement et y écrire. Action : vérifiez le nombre de fichiers ou les sommes de contrôle avant de changer de chemin, et conservez le répertoire source intact jusqu’à ce que le nouveau stockage ait passé les tests.

4. Préservez le chemin de données d'origine avec un lien symbolique

Il s'agit de la principale mesure de sécurité. Supposons que Nextcloud utilise actuellement :

'datadirectory' => '/var/www/nextcloud/data',

Ne modifiez pas cette valeur pour la migration recommandée avec préservation du chemin. Conservez plutôt l'ancien répertoire comme copie de restauration et remplacez-le par un lien symbolique pointant vers le lecteur externe :

sudo mv /var/www/nextcloud/data /var/www/nextcloud/data.old
sudo ln -s /mnt/nextcloud-data-storage/data /var/www/nextcloud/data
ls -ld /var/www/nextcloud/data

Nextcloud documente cette méthode de lien symbolique car le stockage local est identifié par son chemin absolu. Grâce à ce lien, Nextcloud continue d'y accéder /var/www/nextcloud/datamême si les données résident sur le disque externe.

Vérifiez la propriété avant d'apporter des modifications importantes aux autorisations :

stat -c '%U:%G %a %n' /var/www/nextcloud/data.old
stat -c '%U:%G %a %n' /mnt/nextcloud-data-storage/data
namei -l /mnt/nextcloud-data-storage/data

L'utilisateur HTTP doit pouvoir parcourir les répertoires parents et lire/écrire dans le répertoire de données. Le propriétaire correct varie selon la distribution et la méthode d'installation. La documentation occ de Nextcloud indique que le compte HTTP est généralement utilisé www-datasur Debian/Ubuntu, apachesur Fedora/CentOS, et différent sur d'autres systèmes.

Terminal affichant des vérifications de propriété et un lien symbolique du chemin d'accès aux données Nextcloud d'origine vers le disque externe

Conservez le chemin d'accès d'origine du répertoire de données et faites-le pointer vers le disque externe à l'aide d'un lien symbolique.

Idée reçue : l’exécution récursive d’une commande générique chmod 777corrige les permissions. Or, elle peut masquer le véritable problème tout en affaiblissant la sécurité. Action : comparez le nouveau répertoire avec ses droits d’accès et son propriétaire d’origine, conservez les ACL lorsqu’elles sont utilisées et n’effectuez que les corrections minimales requises pour l’utilisateur HTTP.

Et si vous vouliez vraiment changer datadirectory?

Nextcloud décrit bien une procédure sans lien symbolique, mais la même documentation indique qu'elle n'est pas prise en charge et avertit qu'elle peut endommager la base de données. Elle nécessite à la fois la modification config.phpet la mise à jour de l' local::/old-data-dir/entrée correspondante dans la oc_storagestable.

Il ne s'agit pas simplement d'une syntaxe alternative pour la même opération ; cela modifie l'identifiant de stockage enregistré en interne par Nextcloud. Action : utilisez la méthode du lien symbolique, sauf si vous disposez d'une sauvegarde et d'une procédure de restauration testées, ainsi que d'une raison opérationnelle spécifique justifiant la suppression de l'ancien chemin d'accès. Lors d'une nouvelle installation de Nextcloud, choisissez plutôt l'emplacement final des données pendant l'installation. Nextcloud indique clairement que cette méthode est plus simple que de déplacer les données ultérieurement.

5. Redémarrez, vérifiez le montage et remettez Nextcloud en ligne.

Avant de démarrer Nextcloud, vérifiez que le système de fichiers externe est bien monté et que le lien symbolique pointe vers celui-ci :

findmnt /mnt/nextcloud-data-storage
readlink -f /var/www/nextcloud/data
sudo -E -u www-data test -r /var/www/nextcloud/data/.ncdata && echo readable

Redémarrez le service web/applicatif et réactivez la tâche cron Nextcloud en utilisant la méthode appropriée à votre déploiement. Désactivez ensuite le mode maintenance et vérifiez l'état du serveur.

cd /var/www/nextcloud
sudo -E -u www-data php occ maintenance:mode --off
sudo -E -u www-data php occ status

Connectez-vous et testez plusieurs opérations : ouvrir un fichier existant, en téléverser un nouveau, le renommer, le supprimer, le restaurer depuis la Corbeille et vérifier qu’un autre client peut le synchroniser. Redémarrez l’hôte une fois et répétez l’opérationfindmnt ; cela permet de détecter une entrée invalide /etc/fstabavant qu’elle ne devienne problématique en cas de panne.

Terminal vérifiant l'état de Nextcloud et le montage du système de fichiers externe, en parallèle de l'interface Nextcloud Files

Après la modification, vérifiez le montage du système d'exploitation et le fonctionnement normal des fichiers dans Nextcloud.

Avez-vous besoin de occ files:scan --all?

Pas automatiquement. La documentation de la commande `files` de Nextcloud indique files:scanqu'elle met à jour le cache de fichiers pour les fichiers nouveaux ou modifiés et peut s'avérer utile après une copie manuelle ou lors de la résolution d'incohérences dans le cache. Un déplacement conservant les chemins d'accès, correctement exécuté, vise à préserver les mêmes fichiers et le même chemin d'accès logique au stockage local. Par conséquent, une analyse complète ne devrait pas être l'étape de précaution par défaut.

Action : commencez par tester l’interface utilisateur et comparez-la aux fichiers attendus. Si des fichiers sont absents de Nextcloud alors qu’ils sont présents sur le disque, effectuez une analyse ciblée ou, le cas échéant, une analyse plus poussée files:scan --all. Notez qu’une analyse complète d’une installation importante peut prendre beaucoup de temps.

Liste de contrôle finale pour la migration

  • Une base de données, une configuration et une sauvegarde de données actuelles existent en dehors du disque en cours de migration.
  • Le système de fichiers externe possède un point de montage stable configuré par UUID ou LABEL.
  • findmntconfirme que le disque dur externe est bien monté.
  • Les écritures Nextcloud et les tâches cron sont interrompues pendant la synchronisation finale.
  • L'intégralité du répertoire de données, y compris .ncdata, a été copiée.
  • Le datadirectorychemin d'accès d'origine est conservé grâce à un lien symbolique.
  • L'utilisateur HTTP peut parcourir le chemin de montage et lire/écrire les données.
  • Nextcloud démarre sans erreur de stockage et occ statusfonctionne normalement.
  • Les tests de chargement, de renommage, de suppression, de restauration, de téléchargement et de synchronisation ont réussi.
  • Le serveur a été redémarré une fois pour prouver que le disque externe se monte correctement au démarrage.
  • L'ancien répertoire de données n'a pas été supprimé tant que la nouvelle configuration n'a pas été testée et sauvegardée séparément.

L'idée principale est simple : migrer des données Nextcloud ne se limite pas à une simple copie du système de fichiers. Le chemin d'accès fait partie intégrante de l'identité du stockage local de Nextcloud. Il est donc essentiel de le préserver autant que possible, de configurer le disque externe comme un point de montage système fiable, d'interrompre les écritures pendant la copie finale et de conserver une copie de restauration jusqu'à ce que le nouveau stockage ait résisté aux tests applicatifs et à un redémarrage.

Laisser un commentaire

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Comparez 10 outils de balayage ping pour une découverte rapide du réseau local, une analyse multiplateforme et la gestion des adresses IP. Découvrez ce qu'un balayage peut – et ne peut pas – vous révéler.

6 outils de gestion de réseau performants pour le suivi des performances

6 outils de gestion de réseau performants pour le suivi des performances

Comparez six outils de gestion de réseau pour la surveillance des performances, notamment la couverture SNMP, la cartographie, les alertes, les modèles de déploiement et les compromis en matière de coûts.

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Comparez sept moniteurs de ping gratuits et open source, allant des suites réseau complètes aux sondes de latence ciblées, et choisissez celui qui convient le mieux à vos besoins en matière de disponibilité, de perte de paquets et d'historique.

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Comparez les meilleurs analyseurs Wi-Fi pour Windows, iPhone et Android, incluant des outils pour la congestion des canaux, la couverture du signal, les cartes thermiques et le dépannage réseau.

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

Découvrez ce que signifie la QoS dans le domaine des réseaux, comment les marquages ​​DSCP et les files d'attente de trafic priorisent la voix, la vidéo et les applications professionnelles, et ce que la QoS ne peut pas corriger.

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Comparez les logiciels serveurs SFTP fiables pour Windows et Linux, notamment OpenSSH, Bitvise, SolarWinds et SFTPGo. Trouvez la solution idéale pour vos besoins en matière de sécurité et de transfert de fichiers.

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Comparez sept outils de gestion d'adresses IP pour la découverte de sous-réseaux, la coordination DNS et DHCP, l'inventaire réseau et l'IPAM open source.

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Mettez en place une surveillance réseau pratique avec une couverture claire des périphériques, des indicateurs de performance utiles, des alertes exploitables et une comparaison de SolarWinds NPM, PRTG et OpManager.

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Comparez les outils d'analyse réseau pour la découverte rapide des périphériques, les analyses IP multiplateformes et la gestion des identités et des accès IP (IPAM) d'entreprise, avec des conseils pour adapter chaque option à votre réseau.

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Utilisez l'option --traceroute de Nmap pour associer les sauts à un hôte autorisé, comprendre les résultats des sauts et du RTT, et résoudre les problèmes de réponses manquantes sans sur-analyse.