再帰的なzfsスナップショットマウントは、デフォルトのマウントディレクトリである.zfs / snapshotでどのように機能しますか?

再帰的なzfsスナップショットマウントは、デフォルトのマウントディレクトリである.zfs / snapshotでどのように機能しますか?

私も「data」というzfsプールを持っています。/var/lib/docker。 dockerの後(私が知っている限り、dockerはこの質問には関係ありません)zfsのリストは次のとおりです。

data                                                                        1.33G   133G      660M  /data
data/1366b029121dbc907878e8a6fc5c481244b7aac11757fe63b94384fe64e48c6d       6.02M   133G      511M  legacy
data/272a5f859a53ec996868fb0e4953f2219aadbd96c0cd3b8b9be09ee550b7d0e5        236K   133G      511M  legacy
data/284641b6a43d2446be81ddf21fbeb70b781f6fb5f70025d88c44c19ed4728541        288K   133G  
...

これでスナップショットを取る場合は、再帰オプション(zfs snapshot -r data@snapshot 名前)すべてのデータセット(鉱山 - / dataおよびdockerのデータセット)のスナップショットを取得します。

デフォルトでは、スナップショットは次の場所にインストールされます。プール/.zfs/スナップショット/スナップショット - 名前

使っても安全ですか?プール/.zfs/スナップショット/スナップショット - 名前(一貫しているためスナップショット)バックアップ用のソースディレクトリとして、または一部のデータが失われていますか? zfsは私のスナップショットを再帰的にマウントしていますか?ドキュメントに何も見つかりませんでした。

答え1

スナップショットは再帰的に作成できます。ただし、スナップショットをマウントしても、以前のスナップショットはマウントされません。あなたはそれを使用することができますスナップショットを繰り返しマウントするスクリプト特定のディレクトリに移動し、そこからバックアップします。

ただし、Dockerの場合、この方法では一部のデータが除外されます。特に、legacyマウントポイントがある(そしてマウントポイントがに設定されている)データセットですnone。 ZFSは起動時にスナップショットを自動的にマウントせず、マウントポイントにファイルシステムパスが含まれていないため(バックアップとは対照的に/data)、バックアップを実行するときにスナップショットがマウントされた場所は明確ではありません。

私が何を学んだのかこの回答lagacyはコンテナイメージを含むDockerデータセットです。したがって、このデータをまったくバックアップする必要はないかもしれません。

出力結果によると、zfs listDocker専用のデータセットを作成しているようには見えません。これが、これらのDockerの古いデータセットが親データセット(データセットと呼ばれるものdata)の下に保存される理由です。私は個人的に、data以下のように、これらのレガシー共有をDockerデータセットの下にネストするために専用のDockerデータセット(以下でも利用可能)を作成することを好みます。

zfs list -r data
NAME                                                                                    USED  AVAIL     REFER  MOUNTPOINT
data                                                                                   3.57G  2.63T      200K  /mnt/data
data/jip                                                                               2.27G  2.63T      208K  /mnt/data/jip
data/jip/docker                                                                         108M  2.63T     1000K  /mnt/data/jip/docker
data/jip/docker/4142fdca5ac3e7dbd12c0518e3377eb47a2c1a8599f564e07e08e5b25944146c        396K  2.63T      388K  legacy
data/jip/docker/43023791ce39ba890e8de50809cacda45a884b5990e4923fd6563eaed58e6b42        168K  2.63T      396K  legacy
data/jip/docker/98a9127ff2dd5fd2d0ea52f5e6343e85a8d2a80aa4cd2ffcf1c92e9b2d2b371f        101M  2.63T      102M  legacy
data/jip/docker/b68a666a8602cdbc3639b010558a0aa5f92f0b765a6efc15c4f7f30651ba2860       1.05M  2.63T      102M  legacy
data/jip/docker/b68a666a8602cdbc3639b010558a0aa5f92f0b765a6efc15c4f7f30651ba2860-init   216K  2.63T      102M  legacy
data/jip/home                                                                          2.16G  2.63T     36.9M  /mnt/data/jip/home

関連情報