LVMスナップショットは、凍結状態のファイルシステムをキャプチャすることを目的としています。 それらは、それ自体のバックアップではありません。ただし、凍結されたイメージはバックアッププロセス中に変更できないため、変更されないため、一貫性のあるバックアップイメージを取得するのに役立ちます。 したがって、これらを直接使用して長期バックアップを作成することはありませんが、使用することに決めたバックアッププロセスでは非常に価値があります。
スナップショットを実装するには、いくつかの手順があります。1つ目は、新しい論理ボリュームを割り当てる必要があることです。このボリュームの目的は、ファイルシステムへのデルタ(変更)が記録される領域を提供することです。これにより、既存の読み取り/書き込みアクセスを中断することなく、元のボリュームを継続できます。これの欠点は、スナップショット領域のサイズが有限であることです。これは、書き込みが忙しいシステムでは、かなり早くいっぱいになる可能性があることを意味します。大量の書き込みアクティビティがあるボリュームの場合、スナップショットのサイズを増やして、すべての変更を記録するのに十分なスペースを確保する必要があります。スナップショットがオーバーフローする(いっぱいになる)と、両方のスナップショットが停止し、使用不可としてマークされます。これが発生した場合、元のボリュームをオンラインに戻すことができるように、スナップショットを解放する必要があります。リリースが完了すると、
2番目に起こることは、LVMが問題のボリュームの真の目的を「スワップ」することです。新しく割り当てられたスナップショットは、ファイルシステムへの変更を探す場所になると思うでしょう、結局のところ、すべての書き込みが行われる場所ですよね?いいえ、それは逆です。ファイルシステムはLVMボリューム名にマウントされるので、システムの残りの下から名前を交換することは、no-noになります(スナップショットは別の名前を使用するため)。したがって、ここでの解決策は簡単です。元のボリューム名にアクセスすると、スナップショットを作成したボリュームのライブ(読み取り/書き込み)バージョンを引き続き参照します。作成するスナップショットボリュームは、凍結を参照します(読み取り専用)バックアップするボリュームのバージョン。最初は少し混乱しますが、理にかなっています。
これらはすべて2秒未満で発生します。システムの残りの部分は気づいていません。もちろん、オーバーフローする前にスナップショットをリリースしない限り...
ある時点で、スナップショットを解放して、スナップショットが占有しているスペースを再利用できます。リリースが完了すると、スナップショットボリュームはボリュームに戻され、元のボリュームが残ります。
長期的なバックアップ戦略としてこれを追求することはお勧めしません。障害が発生する可能性のある同じ物理ドライブ上でデータをホストしているため、障害が発生したドライブからのファイルシステムの回復はバックアップされません。
だから、簡単に言うと:
- スナップショットはバックアップの支援に適しています
- スナップショットは、それ自体がバックアップの形式ではありません
- スナップショットは永遠に続きません
- 完全なスナップショットは良いことではありません
- スナップショットはある時点でリリースする必要があります
- LVMは、賢く使用すればあなたの友達です。