スナップショットの速度を上げるために何かできることはありますか?

スナップショットの速度を上げるために何かできることはありますか?

データベース サーバーに 3 つの SSD EBS ボリュームがマウントされています。メイン データ ボリュームは 10 TB、ジャーナル ボリュームは 1 TB、3 番目のボリュームは 100 GB です。

3 つのボリュームのスナップショットを作成すると、1 TB ジャーナル ボリュームのスナップショット作成には、使用されている領域が約 100 GB しかないにもかかわらず、10 TB データ ボリュームのスナップショット作成よりもはるかに長い時間がかかります (8 時間以上経過しましたが、まだ 55% しか完了していません。10 TB スナップショットは約 2 時間後に完了しました)。

プロセスをスピードアップするために何かできることはありますか?

答え1

EC2がスナップショットを作成するのにかかる時間は、最後のスナップショット以降にボリュームが見た変更されたブロックの数に直接比例します。ジャーナルの場合、多く書き込み/削除操作が多いため、スナップに長い時間がかかるのは当然です。

これらは本当にブロックデバイス. ファイルシステムについて何も知りません。ジャーナルボリュームが現在 100GB しか使用されていないのは事実かもしれませんが、最後のスナップショット以降、そのブロックのすべてが変更されている可能性があります。それらのブロックを占有していたファイルの一部は削除されているため、ファイルシステムには「使用中」として表示されませんが、ブロックデバイス自体はそのことを知らないため、スナップする必要があります。全てそのデータの。(余談ですが、これは、ファイルシステム レベルでストレージをクエリできるサーバー側エージェントがなければ、AWS が EBS ボリュームに保存されているデータの量をレポートできないのと同じ理由です。)

この問題を軽減するには、より頻繁にスナップショットを撮るようにしてください。

しかし、1 つ疑問があります... どれくらい時間がかかるかを気にするのはなぜでしょうか? スナップ作成リクエストから API 呼び出しが返されると、ボリュームを自由に使い続けることができ、ブロック デバイスに対するその後の変更はスナップショットに含まれません。

関連情報