web-dev-qa-db-fra.com

Est-il prudent d'utiliser un disque dur pendant l'exécution de rsync?

Je prévois de sauvegarder mes gros disques durs de rsync, et je prévois que cela prendra quelques jours. Est-il prudent d'utiliser le disque dur d'origine (ajout de fichiers) pendant que rsync fonctionne? Ou il est préférable de laisser les disques durs intacts jusqu'à ce que la variable rsync soit terminée?

27
Googlebot

Comme d'autres l'ont déjà souligné, il est prudent de lire à partir du disque source ou d'utiliser le disque cible en dehors du répertoire cible lorsque rsync est en cours d'exécution. Il est également sûr de lire dans le répertoire cible, en particulier si le répertoire cible est rempli exclusivement par l'exécution de rsync.

Ce qui n’est pas généralement est sûr d’écrire dans le répertoire source lorsque rsync est en cours d’exécution. "Écriture" désigne tout ce qui modifie le contenu du répertoire source ou de l'un de ses sous-répertoires, ainsi les mises à jour de fichiers, les suppressions, la création, etc.

Cela ne fera pas réellement casser quoi que ce soit, mais la modification peut ou non être prise en compte par rsync pour être copiée vers l'emplacement cible. Cela dépend du type de changement, si rsync a déjà analysé ce répertoire particulier et si rsync a déjà copié le fichier ou le répertoire en question.

Cependant, il existe un moyen simple de contourner ce problème: Une fois l'opération terminée, exécutez à nouveau rsync avec les mêmes paramètres. (sauf si vous avez un paramètre de suppression génial; sinon, soyez un peu plus prudent.) Cela aurait pour effet de ré-analyser la source et de transférer toutes les différences qui n'auraient pas été relevées lors de l'exécution initiale.

La deuxième exécution ne devrait transférer que les différences survenues lors de l'exécution précédente de rsync et, en tant que telles, se terminerait beaucoup plus rapidement. Ainsi, vous pouvez utiliser normalement l'ordinateur lors de la première utilisation, mais évitez autant que possible de modifier la source lors de la deuxième utilisation. Si vous le pouvez, envisagez fortement de remonter le système de fichiers source en lecture seule avant de lancer la deuxième exécution de rsync. (Quelque chose comme mount -o ro,remount /media/source devrait faire l'affaire.)

34
a CVn

Cela dépend du système de sauvegarde que vous utilisez, mais en général, il est déconseillé de de modifier le contenu d'un périphérique pendant la sauvegarde. Cependant, vous pouvez lire son contenu; c'est une opération sûre, même si cela ralentit le processus.

Dans votre cas, rsync construira une liste de fichiers puis lancera la sauvegarde. Par conséquent, tout fichier que vous ajoutez au disque dur source après le démarrage de la sauvegarde sera non copié.

Ce que je fais est de ne pas utiliser de périphérique du tout pendant une sauvegarde. C'est le moyen le plus sûr d'obtenir une sauvegarde rapide et cohérente.

22
dr01

Il est prudent de lire les données des zones sources lorsque rsync est actif, mais si vous mettez à jour quoi que ce soit, la copie que rsync crée/met à jour sera probablement incohérente:

  1. Si vous mettez à jour un fichier que rsync a déjà analysé, la mise à jour ne sera pas visualisée avant une prochaine exécution. Si vous mettez à jour un fichier qui n’a pas encore été analysé, la modification sera respectée dans la destination. Si vous mettez à jour des fichiers qui ont été analysés et qui n’ont pas été analysés, vous obtiendrez un mélange d’anciennes et de nouvelles versions dans la destination.

  2. Si vous ajoutez un fichier à un répertoire qui a déjà été analysé, il ne sera pas saisi de la copie de destination cette fois-ci. Si vous supprimez un fichier d'un répertoire qui a déjà été analysé, il restera cette fois dans la copie de destination. En fonction de la manière dont vous appelez rsync, toute l'arborescence peut être analysée au début ou de manière incrémentielle au fur et à mesure que le processus de synchronisation se produit.

  3. Dans certaines circonstances, rsync verra l'incohérence et vous avertira. Si vous supprimez un fichier ou un sous-répertoire d'un répertoire qui a déjà été analysé mais dont le contenu n'a pas été analysé, vous recevrez un message d'erreur indiquant que l'objet est manquant. Dans des circonstances similaires, il peut parfois (si la taille et/ou l'horodatage a changé) également avertir de la modification des fichiers en cours d'analyse.

Pour certaines sauvegardes, cette incohérence peut ne pas être un problème massif, mais pour la plupart des cas, il est recommandé de ne pas essayer de synchroniser une source en évolution active.

Si vous utilisez LVM pour répartir votre système de stockage, vous pouvez utiliser un instantané temporaire pour effectuer une sauvegarde ponctuelle. Cela nécessite que vous disposiez de suffisamment d'espace sur le groupe de volumes pour créer un volume d'instantané suffisamment grand pour contenir toutes les modifications qui surviendront pendant la durée pendant laquelle l'instantané est nécessaire. Consultez la documentation de LVM (ou l'un des nombreux exemples en ligne: recherchez "Sauvegarde d'instantané LVM" ou similaire) pour plus de détails.

Même sans LVM, certains systèmes de fichiers prennent en charge les instantanés - vous voudrez peut-être aussi examiner cette option.

Si vous souhaitez sauvegarder de gros volumes actifs sans indisponibilité prolongée et que vous ne pouvez pas utiliser d'instantanés, il peut suffire d'exécuter l'analyse "en direct", puis d'arrêter l'accès au volume et d'exécuter un autre processus rsync qui peut prendre beaucoup moins de temps (si nécessaire). très peu de choses ont changé, il suffit de parcourir l’arborescence puis les quelques fichiers mis à jour). De cette façon, la durée pendant laquelle vous devriez éviter les changements pourrait être beaucoup plus courte.

14
David Spillett
  • Le disque dur source peut tout lire pendant la synchronisation.

  • Le disque dur source peut écrire n’importe quel contenu non lié au contenu de rsync.

  • Le disque dur de destination peut tout lire pendant la synchronisation.

  • Le disque dur de destination peut écrire n’importe quoi pendant la synchronisation avec la condition d’avoir suffisamment d’espace réservé pour le contenu synchronisé.

Bien sûr, dans tous les cas, il y aura une réduction des performances.

11
Overmind

Toutes les réponses actuelles parlent de sécurité des données en termes de cohérence et d’assurance d’un matériel parfait.

Une autre chose à considérer est la sécurité du matériel lui-même. Si vous possédez des disques durs non sauvegardés susceptibles de ne pas fonctionner (vous ne le savez peut-être même pas encore) et que vous effectuez une sauvegarde complète initiale , ne l'utilisez pas. Ne le montez même pas si les données sont critiques. Vous pouvez utiliser un outil tel que dd pour cloner le disque en tant que périphérique en mode bloc. Ce que vous ne voulez pas que la tête de disque recherche, et éventuellement écrit pendant que vous essayez de faire une sauvegarde. De plus, dd devrait être plus rapide pour la sauvegarde initiale car il ne fait que copier les bits dans l’ordre (si le lecteur n’est pas plein, je suppose que rsync gagnerait également dans le cas initial).

Pour les sauvegardes incrémentielles ultérieures, rsync est un excellent choix et je suis d’accord à 100% avec les autres réponses.

0
Zak