Quels systèmes de fichiers offrent aux utilisateurs une fonctionnalité de capture instantanée pour récupérer des données?

8

Je travaille sur un projet qui enseignera le linux aux jeunes. Sachant qu'ils auront tendance à supprimer ou à corrompre des éléments dans leurs répertoires personnels, nous recherchons une bonne option d'instantané. Nous n'aurons pas accès aux outils sophistiqués disponibles auprès des principaux fournisseurs de stockage et espérons trouver une solution au niveau du système de fichiers.

J'ai beaucoup lu sur btrfs mais j'ai peu d'expérience. J'ai une certaine expérience avec LVM mais je ne suis pas familier avec sa fonction d'instantané. Un système de fichiers ou un autre a-t-il la possibilité de créer des instantanés à la demande ou planifiés? Ensuite, rendez-vous ces instantanés toujours disponibles sans racine, comme un dossier .snapshot dans chaque dossier d'accueil?

Idéalement, cette solution permet à un utilisateur de restaurer automatiquement ses sauvegardes à la demande, dans une fenêtre de 24 à 48 heures, par exemple. Nous aurons un autre processus de sauvegarde pour le système et des sauvegardes plus globales. Mais nous ne voulons pas que ce processus soit utilisé par des étudiants qui commettent simplement des «erreurs».

Course grise
la source
LVM crée un instantané de périphérique de bloc. Le système de fichiers (la plupart des systèmes modernes) sur la partition est en cours d' syncédition juste avant la création de l'instantané. Pour récupérer certaines données à partir de l'instantané, vous devez le monter. Mais sachez que tout instantané a une taille. L'espace est utilisé pour stocker les différences entre l'état de l'instantané et l'état actuel, c'est pourquoi le stockage de l'instantané en tant que sauvegarde n'est pas une bonne idée.
HUB
@Hub Merci pour les commentaires. Peut-être que «sauvegarde» n'est pas le bon mot. Comme ce ne sera pas une forme principale de sauvegarde ou de stockage. Nous reconnaissons que de l'espace sera nécessaire pour les diffs ou tout autre mécanisme utilisé par le gestionnaire de fichiers / système de fichiers. Le but est cependant de fournir un instantané temporaire afin que les élèves qui font des erreurs puissent rapidement revenir en arrière et récupérer les informations précédentes. Ils ne feront pas de bonnes pratiques pour enregistrer leurs propres sauvegardes avant d'apporter des modifications malgré notre formation et veulent donc les aider à surmonter cela.
Gray Race
1
Je n'ai pas d'expérience de ce genre mais je pense que vous avez besoin de quelque chose comme ceci: en.wikipedia.org/wiki/Versioning_file_system LVM ne convient pas car vous devrez monter et copier chaque fichier (ou garder une trace des fichiers modifiés) restaurer. LVM n'a pas de "restauration" interne.
HUB

Réponses:

6

Sous Linux, btrfs est votre principale option pour les instantanés dans un système de fichiers, mais n'est pas encore stable, bien qu'il ait quelques outils fsck et de réparation .

ZFS est une autre option de Solaris. Bien que vous puissiez en théorie l'utiliser sous Linux, il est principalement implémenté dans le pays utilisateur uniquement (bien qu'il y ait du travail sur une implémentation basée sur le noyau) et ne soit pas dans les distributions Linux standard.

Cette réponse LVM contient quelques détails sur les avantages et les inconvénients de l'utilisation des instantanés LVM, et certains liens btrfs / ZFS. Avec certains systèmes de fichiers (ext3 et XFS), LVM se chargera de geler le FS avant de prendre le snapshot, mais les snapshots LVM peuvent avoir des problèmes de performances et encore quelques bugs.

Je ne pense pas que LVM soit une excellente solution pour votre application «instantané rapide des données utilisateur», et les btrfs / ZFS ne sont pas encore adaptés [en 2011].

Au lieu de cela, vous voudrez peut-être regarder rsnapshot , qui est un outil de l'espace utilisateur qui crée efficacement des instantanés à l'aide de n'importe quel système de fichiers, sans utiliser LVM. Parce qu'il utilise rsync et stocke les instantanés dans des répertoires successifs, en utilisant des liens durs entre différents instantanés si un fichier n'a pas changé, il peut s'exécuter étonnamment rapidement même sur des ensembles de fichiers assez volumineux. Il est beaucoup utilisé pour les sauvegardes, mais peut également être utilisé pour ce type d'exigence d'instantané de données utilisateur, et avec un peu de configuration peut permettre à quiconque de restaurer leurs fichiers instantanés, en utilisant NFS ou Samba en lecture seule - voir cette section HOWTO sur restauration de fichiers . Les fichiers peuvent être restaurés avec des outils Linux standard car rsnapshot met en miroir le répertoire source dans chaque répertoire de snapshots.

rsnapshot est assez flexible en utilisant ses fonctionnalités standard, et comme il est écrit en Perl, il est assez facile de le personnaliser, par exemple si vous voulez fournir des instantanés à la demande. Les principaux inconvénients par rapport aux instantanés du système de fichiers sont la vitesse et l'espace disque - chaque fichier qui change entraîne une nouvelle copie dans l'instantané, tandis que les instantanés du système de fichiers copient uniquement les nouveaux blocs dans le fichier.

RichVel
la source
Merci beaucoup pour le suivi. Je vais regarder de plus près à rsnapshot lundi.
Gray Race
2

Je viens de repérer CETTE page sur wikipedia, il y a une colonne de capacités d'instantanés - je voulais juste que les gens en soient conscients à l'avenir.

Chopper3
la source
1

Vous ne devez pas utiliser les instantanés LVM à cet effet car ils imposent une grosse pénalité de performance (surtout si vous avez plusieurs instantanés "roulants" actifs en même temps). Malheureusement, Linux n'a tout simplement aucun système de fichiers mature avec prise en charge des instantanés.

Par conséquent, je recommande d'utiliser FreeBSD sur votre serveur de fichiers. Le format de système de fichiers UFS2 par défaut prend en charge les instantanés. FreeBSD comprend également une implémentation ZFS appropriée (contrairement à la laideur kludge trouvée sous Linux) avec des instantanés et de nombreuses autres fonctionnalités très avancées. Associé à un outil simple comme celui- ci, il est assez similaire à ce que proposent les fournisseurs de stockage haut de gamme tels que NetApp.

Si vous avez un serveur dédié à fonctionner comme un serveur de fichiers, vous voudrez peut-être regarder FreeNAS qui emballe bien FreeBSD et ZFS dans un système semblable à une appliance.

casser
la source
1
Bon point, et clairement UFS2 ou ZFS sont utilisables sur FreeBSD alors qu'ils ne le sont pas (ZFS) sous Linux. Cependant, la question d'origine mentionne «l'enseignement de Linux aux jeunes», donc un NAS FreeBSD séparé serait nécessaire. De plus, je ne sais pas si les snapshotcommandes FreeBSD liées peuvent être utilisées par des utilisateurs non root. Étant donné que les étudiants apprendraient Linux, il est préférable que les instantanés puissent être créés et utilisés par des utilisateurs non root. rsnapshotrend cela assez simple, et avec certains travaux de configuration, chaque utilisateur pourrait avoir sa propre arborescence d'instantanés appartenant à lui-même.
RichVel
Je suppose que les jeunes n'ont pas accès au serveur de fichiers, mais qu'il est monté avec NFS ou similaire aux postes de travail Linux où ils apprennent Linux. Ils n'ont pas besoin de connaître l'architecture du serveur de fichiers. L' snapshotutilitaire lié a la fonctionnalité qui permet de rendre les instantanés disponibles pour les utilisateurs, presque les mêmes que sur NetApp. Il n'est pas nécessaire d'exécuter rsnapshotpour créer manuellement des imitations de clichés lorsque vous pouvez utiliser un meilleur système d'exploitation (à cet effet) qui implémente des clichés dans le code du système de fichiers. Les instantanés appropriés sont atomiques.
snap
Il s'agit d'une option viable à envisager. Je suis préoccupé par la surcharge du système de fichiers et du réseau avec NFS. Dans le cadre de l'apprentissage de Linux, les étudiants compileront du code, exécuteront des bases de données et d'autres processus intensifs d'E / S. Ils feront tout ce travail dans leurs répertoires personnels. Si cela est mis en réseau sur NFS, je m'inquiète d'une baisse des performances. Cela est particulièrement préoccupant dans un système homebrew car notre NAS de production n'est pas disponible pour diverses raisons politiques. La fonctionnalité de capture instantanée est secondaire par rapport aux performances de base, car nous avons des systèmes de sauvegarde mondiaux mais nous voulons des captures instantanées en libre-service.
Gray Race
Les bases de données sur NFS semblent un peu velues, mais apparemment, cela peut fonctionner si la charge n'est pas trop élevée et que vous utilisez une version récente du SGBD: serverfault.com/questions/30525/mysql-5-1-34-on-nfs-w- netapp . Vous devrez également exécuter FreeBSD et Linux dans votre laboratoire, ce qui pourrait être bon si vous avez les étudiants les plus capables d'aider (quelque chose de nouveau à apprendre) ou mauvais si vous faites tout vous-même et que vous manquez de temps.
RichVel
En ce qui concerne la déclaration "kludge laid trouvé sous Linux", je suppose que cela se réfère à zfs-fuse.net (qui ressemble en effet à une manière sous-optimale de l'implémenter). Notez cependant que ZFS est également disponible dans une implémentation "normale", zfsonlinux.org (bien qu'il ne soit pas directement inclus dans le noyau en raison de problèmes de licence).
hlovdal