Как я могу получить доступ к содержимому снимка ZFS, не влияя на его текущие данные?

8

У меня есть набор данных ZFS, который получает почасовые снимки. Вчера были внесены изменения в некоторые файлы, которые необходимо восстановить; однако в наборе данных есть текущие изменения, которые не должны быть возвращены.

Какие есть варианты доступа к снимку, не нарушая текущую копию его данных? Могу ли я подключить снимок в режиме только для чтения к новой точке подключения?

STW
источник

Ответы:

13

Прошло много времени с тех пор, как я поиграл с zfs, но вы сможете использовать его zfs list -t snapshotдля поиска доступных снимков и доступа к файлам в специальном .zfsкаталоге в точке монтирования 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, снимки уже доступны только для чтения, поэтому попытки изменить данные в каталоге снимков не удаются. Если данные изменяются в реальном fs, моментальный снимок должен увеличиваться, поскольку он копирует предварительно измененные данные, чтобы сохранить целостность моментального снимка.

Вам нужно будет сделать zfs cloneснимок в новом месте, чтобы внести изменения в снимок (в этот момент он больше не будет снимком).

Как я уже сказал, прошло много времени, так что сначала проверь ...

ссылка: http://www.googlux.com/zfs-snapshot.html

jimbobmcgee
источник
3
Да, снимок ZFS доступен только для чтения.
Jlliagre
Возможно, это потому, что я использую ZFS в Linux, но я не вижу папку .zfs в точке монтирования моего пула
STW
7
@STW - в соответствии с groups.google.com/a/zfsonlinux.org/forum/#!topic/zfs-discuss/… вам нужен ZoL 0.6.0rc8, для ядра> 2.6.37. В соответствии с lists.freebsd.org/pipermail/freebsd-fs/2008-November/… , вам нужно zfs set snapdir=visible /mnt/zfspoolсделать его видимым, но вам не нужно это для доступа к вашему снимку (то есть вы должны быть в состоянии сделать это в cd /mnt/zfspool/.zfs/snapsot/snap1любом случае) .. .
jimbobmcgee
5
@STV вы не увидите .zfs, но вы все равно можете перейти на него. моментальные снимки хранятся в его родительском наборе данных, поэтому родительский набор данных должен быть смонтирован, чтобы иметь доступ к .zfs
mikky
@mikky ты делаешь мой день
Алессио