LVMスナップショット - 新しいデータは古いデータに置き換えられますか?

LVMスナップショット - 新しいデータは古いデータに置き換えられますか?

私が理解したのは、LVMスナップショットは作成時のサイズです。 LVMのマニュアルページによると、スナップショットはすべてのスペースを消費し(拡張しない限り)使用できなくなる可能性があります。しかし、その空間はどのように使用されますか?

前提:ソース(元の論理ボリューム)に10Mファイルがあります。スナップショットを作成しても同じです。ソースファイルにいくつかのデータを添付しました。これでファイルサイズは15Mです。同じ操作をやり直して15Mファイルサイズを20Mに変更すると、15Mファイルはスナップショットの10Mファイルを置き換えますか?そうでない場合、スナップショットはどのように空き容量を消費しますか?

答え1

書き込み中のコピーLVMスナップショットには、スナップショットとソースの違いが含まれています。したがって、アイテムが変更されるたびに変更がスナップショットに追加され、スナップショットに必要なスペースが増える可能性があります。 (以前に変更されたスナップショットブロックに対する変更は、より多くのスペースを必要としないため、以前の変更を上書きするため、「おそらく」です。目標は、すべての変更の記録ではなく現在の違いを追跡することです。)

LVは、保存されたデータの構造に関する知識を持っていません。ファイルに5MiBを追加すると、最小5MiBの変更がソースに書き込まれるため、変更されたブロックをスナップショットコンテンツを保存するためにスナップショットに追加する必要があります。ファイルにさらに5MiBを書き込むと、ソースに(少なくとも)5MiBがさらに変更され、同様の量のデータがスナップショットに書き込まれます(つまり、元のコンテンツを保存するため)。これコンテンツスナップショットに示すように、ファイルまたはボリュームの内容はソースの変更によって決して変更されません。

関連情報