COWスナップショットをサポートするLinux上のファイルシステムまたはボリュームマネージャはありますか?ただし、新しいスナップショットに新しいブロックを書き込む代わりに、以前の変更されていないブロックをコピーし、新しい書き込みを所定の位置で置き換えます。このシステム設計技術に正式名称があるかは分からないが逆COWだ。
具体的には、LVMの観点から、複数の物理ボリュームを1つのボリュームグループにまとめるシステムがあります。ファイルシステムデータブロックの最新コピーを含む読み取り/書き込み論理ボリュームがあります。新しい物理ボリュームを追加して割り当てると、読み取り/書き込み論理ボリュームの読み取り専用(ユーザー空間の観点から)履歴スナップショットを保存できます。読み取り/書き込み論理ボリュームに書き込むと、データの古いコピーは読み取り専用物理ボリュームにコピーされ、新しいコピーは読み取り/書き込みボリュームにその場所に書き込まれます。
これは、追加のコピーがほとんどまたはまったく必要なく、以前のスナップショット、すべてのデータ、および物理ボリュームを一度に完全に削除できるように設計されています。 LVMスナップショットまたはCOWファイルシステムを使用して一般的な方法でこれを実行すると、既存のディスクにはCOWが適用されていない既存のデータだけでなく、COWが適用されていないすべての既存のデータのコピーがあるため、ディスクを削除する前に変更されませんないすべてのデータをコピーする必要があります。
ベストアンサー1
LVMは範囲に基づいています。つまり、パーティションなどの大きな領域ではなく、ディスクの小さな領域を動的に割り当てます。スナップショットまたは論理ボリュームはそのボリューム内でこれらの範囲を参照しますが、これは基本的に元の論理ボリュームの仕組みと変わりません。いつでも古いスナップショットを削除でき、コンテンツをコピーせずに、所有者のすべてのエクステント(新しい状態で変更されたボリュームの一部)のみが解放されます。
物理的に真新しいディスクでは、範囲が考える順序で物理ボリュームに配置できますが、これはマイナーな場合にのみ当てはまります。スナップショットを削除すると、ボリュームのアクティブ状態を削除するよりも、一連のフラグメントを取得する可能性が高くなります。したがって、実用的な観点から見ると、LVMがある場合は、必要なものとスナップショットを削除して得られるものとの間に違いはありません。