dd
とlzop
を定期的に使用して圧縮バックアップイメージを作成しています。以前は、head -c xxG /dev/zero > zeros.tmp && rm zeros.tmp
(xxGは使用可能な空き領域)を使用してゼロを含む大きなファイルを事前に作成し、削除されたファイルをクリーンアップしていました。これにより、多くの時間とバックアップディスクスペースが節約されましたが、空きスペース全体に行き渡り、SSDに不要な摩耗が発生するため、非常に効果がありません。
Fstrimは、割り当てられていないファイルのブロックもゼロにしますか?または、ddは、削除されたコンテンツとともにこれらのブロックを後で返しますか?未割り当てのファイルでブロックを圧縮したくありません。
(fstrim
または他のそのようなツールまたはmount
オプションを使用して)トリム後の読み取りで返されるデータは、デバイスによって異なります。ランダムデータを返すもの、ゼロ以外の不変のデータを返すもの、ゼロ以外のデータを返すものがあります。ゼロを返します。 ATAデバイスでhdparm -I
を実行して、これらのオプションのどれが適用されるかを判断できます。2番目に「TRIM後の確定的読み取りデータ」、3番目に「TRIM後の確定的読み取りゼロ」が表示されます。それ以外の場合は最初が適用されます。
特定のユースケースでは、他のツールの方が適切な場合があります。たとえば、Ext2/3/4ファイルシステムを想像している場合、e2image -ra
は使用中のブロックのみを含むバックアップイメージを作成し、e2image -Qa
はブロックのみを含むQCOW2イメージを作成します使用中です。