Bagaimana saya bisa mengakses konten snapshot ZFS tanpa memengaruhi data saat ini?

10

Saya memiliki dataset ZFS yang mengambil snapshot per jam. Kemarin, perubahan dilakukan pada beberapa file yang perlu dikembalikan; namun, dataset memiliki perubahan yang sedang berlangsung yang seharusnya tidak dikembalikan.

Apa pilihan saya untuk mengakses foto tanpa mengganggu salinan datanya saat ini? Bisakah saya memasang snapshot dalam mode hanya baca ke titik pemasangan baru?

STW
sumber

Jawaban:

15

Sudah lama sejak saya bermain dengan zfs, tetapi Anda harus dapat menggunakan zfs list -t snapshotuntuk menemukan snapshot yang tersedia dan mengakses file di bawah .zfsdirektori khusus di bawah zfs mountpoint Anda.

[~]# 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, snapshots sudah hanya baca, jadi upaya untuk mengubah data dalam direktori snapshot akan gagal. Jika data berubah dalam fs nyata, snapshot akan tumbuh, karena menyalin data yang telah diubah untuk menjaga snapshot konsisten.

Anda perlu zfs clonemengambil snapshot ke lokasi baru, agar Anda dapat mengedit snapshot (pada saat itu, snapshot tidak akan menjadi snapshot lagi).

Seperti yang saya katakan, meskipun, sudah lama, jadi tes dulu ...

ref: http://www.googlux.com/zfs-snapshot.html

jimbobmcgee
sumber
3
Ya, snapshot ZFS hanya bisa dibaca.
jlliagre
Mungkin itu karena saya menggunakan ZFS di Linux, tapi saya tidak melihat folder .zfs di bawah mount point pool saya
STW
9
@STW - sesuai dengan groups.google.com/a/zfsonlinux.org/forum/#!topic/zfs-discuss/… , Anda memerlukan ZoL 0.6.0rc8, pada kernel> 2.6.37. Menurut lists.freebsd.org/pipermail/freebsd-fs/2008-November/… , Anda harus zfs set snapdir=visible /mnt/zfspoolmembuatnya terlihat, tetapi Anda tidak perlu melihatnya untuk mengakses snapshot Anda (artinya Anda tetap bisa melakukannya cd /mnt/zfspool/.zfs/snapsot/snap1) .. .
jimbobmcgee
9
@ STV Anda tidak akan melihat .zfs tetapi Anda masih dapat menggunakannya. snapshot disimpan dalam dataset induknya sehingga dataset induk harus dipasang agar dapat mengakses .zfs
mikky
@mikky kau buat hariku
Alessio