web-dev-qa-db-ja.com

NetAppファイラースナップショットの実際のサイズを確認するにはどうすればよいですか?

CIFSデータを提供するボリュームがあり、他のデータよりもはるかに多くのスナップショットデータがあるようです。これは変更率が高いためであり、snap deltaコマンドを使用してこれを判別できると思われます。ただし、スナップショットのサイズを確認し、そのサイズに基づいて特定のスナップショットをターゲットにできるようにもしたいと思います。

CLIおよびシステムマネージャーで、スナップショットを数分間にわたって繰り返し表示すると、サイズはあるポイントまで徐々に大きくなり、その後再びすぐに下がります。これは、スナップショットのサイズが増減していることを意味するのではなく、報告されたサイズだけを意味します。理想的には、これが発生する原因を知りたいです。

ただし、もっと重要なのは、スナップショットの実際のサイズをどのように決定するのでしょうか。

1
john

スナップがどのように機能するかを考えると、実際には明確に言うのは非常に困難です。スナップショットは、それ自体がデータではなく、iノードテーブルのコピーにすぎません。このiノードテーブルによって参照されるブロックでは、参照カウントが増加します。ブロックは、参照カウントがゼロに低下したときにのみ解放されます。

これは、本質的に、重複排除もどのように機能するかです。ポインタは重複ブロックにリダイレクトされ、その参照カウントが増加します。 'old'ブロックの参照数が減少しているため、リリースの候補になる可能性があります。 (これは、それを参照するスナップショットの有効期限が切れた後です)。

ただし、これらの「解放された」ブロックは実際にはすぐには再利用されません。WAFLの動作方法では、着信書き込み(通常は!)はとにかく完全に新しいブロックに送られ、「解放された」ブロックはバックグラウンドプロセスとしてクリアされます。

これが、スナップショットの大きさを判断するのが実際にはかなり難しい理由です。スナップショット内の各ブロックを検査して、その特定のブロックがその特定のスナップに固有であるかどうかを確認する必要があるためです。 snap deltaおよびsnap listはこれをかなり適切に近似していますが、スナップ間の依存関係があるため、完全な答えを出すのは非常に困難です。

2
Sobrique