2TB のディスクと約 80GB の使用済みスペースを持つ Google Compute インスタンス (VM) があります。この VM をアーカイブして、2TB 全体に対して課金されないようにし、必要に応じてすぐに再作成できるようにしたいと考えていました。ディスク スナップショットは、その場合、使用したディスク スペースに対してのみ課金されると記載されているため、最適なオプションのようです。しかし、これを試してみると、取得するスナップショットのサイズは約 600GB で、使用済みスペースのほぼ 10 倍ですが、それでも 2TB 全体よりは小さくなります。
ディスクのデフラグを試みましたが、効果はありませんでした。また、「zerofree」を使用して未使用の領域に 0 を書き込むことも試みましたが、スナップショットのサイズが 20 GB に削減されました。これは、使用済み領域の 4 分の 1 です。ただし、zerofree の実行には多くの労力と時間がかかりますが、ディスクの圧縮には役立っていると思います。
この場合、ディスク圧縮効率を向上させるより良い方法はありますか? ディスク スナップショットを生成する際に、何か重要な手順を見逃しているのでしょうか?
注: マシン イメージも試しましたが、内部的にディスク スナップショットを使用しているようで、何らかの理由でコストが高くなります。
答え1
ディスクには通常、ファイル システムがあります。ファイル システムには、ユーザー データとファイル システム メタデータがあります。詳細は、ディスクのパーティション スキームとファイル システムの種類によって異なります。スナップショットは、変更されたディスク ブロックで構成されます。これには、ファイル システムによって割り当てられ、変更され、割り当て解除されたディスク データ ブロックが含まれます。
ブロックゼロ戦略では変更されたブロックの数が増えるため、スナップショットの回復に時間がかかります。注: 永続ディスクはスナップショットから回復できます。怠け者実際のデータ復元が行われている間、高速回復のように見える方法です。ただし、そのプロセスはバックグラウンドでデータを転送するためにディスク帯域幅を消費します。
おすすめ:
使用タールまたは同様のアーカイブ ツールを使用して、ファイルを圧縮アーカイブとして Cloud Storage に保存します。永続ディスクの再作成、パーティション分割、フォーマットは非常に簡単で、ほとんどの場合数秒で完了します。その後、保存したファイルを復元します。