Pourquoi tous mes répertoires d'instantanés ZFS sont-ils vides?

13

J'exécute une boîte Oracle 11 en tant qu'appliance de stockage ZFS et je prends régulièrement des instantanés des systèmes de fichiers ZFS via cron.

Dans le passé, je sais que si je voulais récupérer un fichier particulier à partir d'un instantané, une copie en lecture seule était conservée .zfs/snapshot/{name}/et je pouvais simplement y naviguer et extraire le fichier. Ceci est documenté sur le site Web d'Oracle .

Cependant, je suis allé le faire l'autre jour et j'ai remarqué que les répertoires ZFS dans les répertoires de clichés sont tous vides. zfs list -t snapshotaffiche correctement la liste des instantanés qui devraient être présents, et .zfs/snapshotscontient correctement un répertoire pour chaque instantané, et dans chaque instantané il y a un répertoire présent pour chaque système de fichiers ZFS. Cependant, ces répertoires semblent être vides.

Je viens de tester une restauration en touchant un fichier dans un partage peu utilisé et en revenant au dernier instantané horaire, et cela semble avoir bien fonctionné. La fonctionnalité de restauration est donc là.

Oracle a-t-il modifié la façon dont les instantanés sont effectués? Ou est-ce que quelque chose ne va vraiment pas ici?

grandir
la source
Et aussi github.com/zfsonlinux/zfs/issues/3030 . Cependant, vous utilisez l'arborescence Oracle ZFS, et ils ont probablement suffisamment détourné pour ne plus être directement comparables.
Perseids

Réponses:

5

Si vous avez un système de fichiers ZFS descendant, par exemple tank/newfs. Ensuite, vous ne trouverez pas de fichiers dans tank/newfsle /tank/.zfs/mysnapshotdossier, seul le point de montage newfsexistera. Si vous souhaitez accéder aux fichiers, vous devez rechercher vos fichiers dans le /tank/newfs/.zfs/mysnapshotdossier.

Olav Grønås Gjerde
la source
0

Les instantanés répertoriés dans .zfs/snapshot/sont montés automatiquement à la demande, lors de leur navigation, et sont automatiquement démontés lorsqu'ils ne sont plus utilisés.

Faire un simple lsdans un répertoire n'est apparemment pas suffisant pour être considéré comme une «demande». Vous devrez cdentrer dans le répertoire en question et ensuite émettre la lscommande.

Vous devrez peut-être également définir snapdir=visiblele système de fichiers.

Daniel
la source