3 votes

Sauvegarde de fichiers unix sur un système de fichiers qui n'autorise pas chgrp/chown, etc.

Je n'ai malheureusement pas d'autre choix que de sauvegarder certains fichiers d'une partition ext3 sur un serveur vers un système de fichiers qui ne me permet pas de définir et de modifier les attributs de fichier normaux (NFS, avec all_squash défini, de sorte que chgrp/chown etc. même en tant que root est interdit). J'ai l'intention d'utiliser rsnapshot pour les sauvegardes proprement dites, puisque je suis déjà familier avec ce système et qu'il a bien fonctionné dans d'autres scénarios.

Il est clair que j'aimerais que les autorisations, la propriété et les autres attributs soient conservés d'une manière ou d'une autre pour ces sauvegardes, même si ce n'est pas directement avec les fichiers eux-mêmes. Comme je le vois, cela laisse trois options :

  1. Créer un système de fichiers de bouclage sur l'espace NFS distant.
  2. Videz les autres attributs séparément.
  3. Utilisez un système de fichiers FUSE comme superposition qui simule cela, en écrivant dans /backup/.permissions/ ou un autre fichier supplémentaire.

Aucun d'entre eux n'est idéal :

  1. Je voulais que l'utilisation du filestore externe utilise automount, mais automount ne permet pas les montages récursifs comme celui-ci (à ma connaissance).
  2. cela ne semble pas terriblement facile à faire en utilisant Shell Shell. En utilisant find + stat serait un peu un gaspillage, mais plus important encore, la restauration à partir de ces informations serait fastidieuse. Je pourrais écrire un petit outil (en C) pour appeler stat Il est possible, par exemple, de vider la structure dans un fichier et de restaurer les informations appropriées à partir de cette structure, mais cela semble être beaucoup de travail pour quelque chose qui devrait être trivial.
  3. Je suis surpris que rien n'existe qui fasse déjà cela, mais je ne vois rien d'approprié sur cette liste de systèmes de fichiers FUSE que j'ai considéré comme faisant autorité.

Des suggestions ? Je penche pour la solution n°3, à moins qu'elle n'existe déjà ou que la solution n°2 soit plus triviale que je ne le pensais. Je veux quelque chose de simple et robuste qui ne nécessite pas de réinventer des roues, mais je suis prêt à écrire de nouvelles roues si elles sont vraiment utiles.

6voto

user9517 Points 113163

Vous pouvez vider les attributs des fichiers en utilisant getfacl -R * >perms.bak et les récupérer en utilisant setfacl --restore=perms.bak

4voto

voretaq7 Points 78924

Ma première suggestion serait de mettre en place un système de sauvegarde plus traditionnel Bacula , tar ou même l'ennuyeuse vieille dump (8) & restore (8) -- et stocke ces sauvegardes dans le magasin NFS écrasé. Vous pouvez toujours utiliser rsnapshot localement comme un outil de type "récupération rapide".
Le grand avantage ici est un moyen bien connu et bien supporté de faire vos sauvegardes qui est plus facile à dépanner et qui ne se soucie pas vraiment de ce que le stockage sous-jacent est (parce qu'en ce qui concerne les outils que j'ai mentionnés, ils utilisent juste le fichier disponible sur NFS comme un conteneur).

Si ce n'est pas le cas, je pense que votre meilleure option est de mettre en place le système de fichiers loopback - ce qui nous ramène à la métaphore du conteneur ci-dessus - mais c'est loin d'être idéal comme vous l'avez déjà noté. Il vous sera peut-être possible de bricoler quelque chose d'acceptable avec un Shell Shell pour gérer le montage/démontage du dispositif de fichiers du FS de bouclage (Automount mai fonctionne ici, mais je ne pense pas qu'il puisse "enchaîner" correctement le montage comme vous semblez en avoir besoin -- c'est-à-dire réaliser que vous avez besoin de /nfs/file y /nfs est un point de montage automatique qui doit être monté en premier)

1voto

JOTN Points 1727

Pourquoi ne pas simplement mettre les fichiers dans une archive ? Vous pouvez simplement les goudronner sur le NFS. J'utilise Bacula pour crypter, archiver et transférer mes fichiers vers un serveur de sauvegarde.

0voto

BillThor Points 27096

Regardez le backuppc. Il stocke tous les attributs dans un fichier séparé. Il fait de la déduplication lorsque vous avez plusieurs versions du même fichier dans vos sauvegardes. Si vous utilisez rsync comme protocole, les sauvegardes ultérieures sont effectuées à des vitesses incrémentales. Il gère également les ordinateurs portables et autres.

Une fois que j'ai fait fonctionner mes premières sauvegardes, l'ajout de systèmes supplémentaires a été un jeu d'enfant.

Bacula serait une bonne option pour sauvegarder votre dépôt backuppc sur bande pour un stockage hors site.

EDIT : Relisez votre message, il est probable que vous lisez en utilisant rsync. Je pense que backuppc pourrait mieux répondre à vos besoins que rsnapshot, et devrait avoir des capacités similaires.

0voto

Tom Panning Points 189

En parcourant la page de manuel de rsync aujourd'hui pour une raison totalement différente, je suis tombé sur la page suivante --fake-super option :

De la page de manuel :

Lorsque cette option est activée, rsync simule les activités du super-utilisateur en sauvegardant/restaurant les attributs privilégiés par le biais d'une extension spéciale. qui sont attachés à chaque fichier (si nécessaire). Cela inclut le propriétaire et le groupe du fichier...

C'est exactement ce que je cherchais lorsque j'ai posé cette question à l'origine, même si je ne savais pas ce que je cherchais avant de la poster. Cela résout proprement le problème sans aucune astuce de bouclage du système de fichiers, ni de vidage d'attributs externes ou de piratage de FUSE.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X