Comment puis-je accéder au contenu d'un instantané ZFS sans affecter ses données actuelles?

10

J'ai un ensemble de données ZFS qui prend des instantanés toutes les heures. Hier, une modification a été apportée à certains fichiers qui doivent être rétablis; cependant, l'ensemble de données comporte des modifications en cours qui ne doivent pas être annulées.

Quelles sont mes options pour accéder à l'instantané sans perturber la copie actuelle de ses données? Puis-je monter un instantané en mode lecture seule sur un nouveau point de montage?

STW
la source

Réponses:

15

Cela fait un moment que je n'ai pas joué avec zfs, mais vous devriez pouvoir utiliser zfs list -t snapshotpour trouver vos instantanés disponibles et accéder aux fichiers dans un .zfsrépertoire spécial sous votre point de montage zfs.

[~]# zfs list -t snapshot
NAME                       USED  AVAIL  REFER  MOUNTPOINT
mypool                    1.49G   527M   528M  /mnt/zfspool
mypool@snap1                28K      -   993M  -
mypool@snap2                28K      -   993M  -
mypool@snap3                28K      -   993M  -

[~]# cd /mnt/zfspool/.zfs/snapshot/snap1
[snap1]# ls

IIRC, les instantanés sont déjà en lecture seule, les tentatives de modification des données dans le répertoire d'instantanés doivent donc échouer. Si les données changent dans le vrai fs, l'instantané devrait augmenter, car il copie les données pré-modifiées pour garder l'instantané cohérent.

Vous auriez besoin de zfs clonel'instantané vers un nouvel emplacement, afin que vous puissiez apporter des modifications à l'instantané (à ce moment-là, ce ne serait plus l'instantané).

Comme je l'ai dit, cela fait un moment, alors testez d'abord ...

réf: http://www.googlux.com/zfs-snapshot.html

jimbobmcgee
la source
3
Oui, un instantané ZFS est définitivement en lecture seule.
jlliagre
C'est peut-être parce que j'utilise ZFS sous Linux, mais je ne vois pas le dossier .zfs sous le point de montage de mon pool
STW
9
@STW - selon groups.google.com/a/zfsonlinux.org/forum/#!topic/zfs-discuss/… , vous avez besoin de ZoL 0.6.0rc8, sur le noyau> 2.6.37. Selon lists.freebsd.org/pipermail/freebsd-fs/2008-November/… , vous devez zfs set snapdir=visible /mnt/zfspoolle rendre visible, mais vous ne devriez pas en avoir besoin pour accéder à votre instantané (c'est-à-dire que vous devriez pouvoir le faire de cd /mnt/zfspool/.zfs/snapsot/snap1toute façon). .
jimbobmcgee
9
@STV, vous ne verrez pas .zfs mais vous pouvez toujours y entrer. instantanés sont stockés dans les données parent de si le jeu de données parent doit être monté afin de pouvoir accéder aux .zfs
mikky
@mikky tu fais ma journée
Alessio