Como acessar o conteúdo de um instantâneo do ZFS sem afetar os dados atuais?


10

Eu tenho um conjunto de dados do ZFS que obtém instantâneos de hora em hora. Ontem, foi feita uma alteração em alguns dos arquivos que precisam ser revertidos; no entanto, o conjunto de dados tem alterações em andamento que não devem ser revertidas.

Quais são minhas opções para acessar o instantâneo sem perturbar a cópia atual de seus dados? Posso montar um instantâneo no modo somente leitura em um novo ponto de montagem?

Respostas:


15

Já faz um tempo desde que eu joguei com o zfs, mas você deve conseguir zfs list -t snapshotencontrar os instantâneos disponíveis e acessar os arquivos em um .zfsdiretório especial no ponto de montagem do 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, as capturas instantâneas já são somente leitura, portanto, as tentativas de alterar dados no diretório de capturas instantâneas devem falhar. Se os dados mudarem no fs real, o instantâneo deverá aumentar, pois copia os dados pré-alterados para manter o instantâneo consistente.

Você precisaria zfs clonedo instantâneo em um novo local para poder fazer edições no instantâneo (nesse ponto, não seria mais o instantâneo).

Como eu disse, já faz um tempo, então teste primeiro ...

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


3
Sim, um instantâneo do ZFS é definitivamente somente leitura.
Jlliagre 23/04

Talvez seja porque estou usando o ZFS no Linux, mas não vejo a pasta .zfs sob o ponto de montagem do meu pool.
STW

9
@STW - de acordo com groups.google.com/a/zfsonlinux.org/forum/#!topic/zfs-discuss/… , você precisa do ZoL 0.6.0rc8, no kernel> 2.6.37. De acordo com lists.freebsd.org/pipermail/freebsd-fs/2008-November/… , você precisa zfs set snapdir=visible /mnt/zfspooltorná-lo visível, mas não deve acessar o instantâneo (ou seja, você pode fazer cd /mnt/zfspool/.zfs/snapsot/snap1assim mesmo) .. .
jimbobmcgee

9
@ STV você não verá .zfs, mas ainda poderá entrar nele. instantâneos são armazenados nele do conjunto de dados pai para que o conjunto de dados pai deve ser montada, a fim de ser capaz de acessar os .zfs
mikky

@mikky você faz o meu dia
Alessio
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.