現在のデータに影響を与えずにZFSスナップショットの内容にアクセスするにはどうすればよいですか?


10

1時間ごとのスナップショットを取得するZFSデータセットがあります。昨日、元に戻す必要があるファイルの一部に変更が加えられました。ただし、データセットには、元に戻してはならない進行中の変更があります。

データの現在のコピーを乱すことなくスナップショットにアクセスするには、どのようなオプションがありますか?読み取り専用モードでスナップショットを新しいマウントポイントにマウントできますか?

回答:


15

私が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スナップショットを編集するには、スナップショットを新しい場所に移動する必要があります(この時点で、スナップショットではなくなります)。

でも言ったように、久しぶりなのでまずテストしてみてください...

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


3
はい、ZFSスナップショットは最終的に読み取り専用です。
jlliagre 2014

LinuxでZFSを使用しているためと思われますが、プールのマウントポイントの下に.zfsフォルダーが表示されません
STW

9
@STW -に従ってgroups.google.com/a/zfsonlinux.org/forum/#!topic/zfs-discuss/...、あなたは> 2.6.37カーネル上で、ZOL 0.6.0rc8を必要としています。lists.freebsd.org/pipermail/freebsd-fs/2008-November/…によると、zfs set snapdir=visible /mnt/zfspoolそれを表示する必要がありますが、スナップショットにアクセスするために必要ではありません(つまり、cd /mnt/zfspool/.zfs/snapsot/snap1とにかく実行できるはずです)。 。
jimbobmcgee

9
@STVには.zfsは表示されませんが、そこにcdすることはできます。スナップショットはその親データセットに保存されるため、.zfsにアクセスできるように親データセットをマウントする必要があります
mikky

@mikkyあなたは私の日を作る
アレッシオ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.