スマートスタイル TECH BLOG

データベース&クラウド技術情報

OCIでブロック・ボリュームのバックアップサイズを小さくしてみる

Oracle Cloud Infrastructure(OCI)のブロック・ボリュームのバックアップサイズを縮小しよう

はじめに

先日(06/15)にブロック・ボリュームで SCSI UNMAP がサポートされたと リリースノート に記載されました
そこで、本記事ではSCSI UNMAPを行うことで、どれだけのバックアップ・サイズが縮小できるのかを検証してみたいと思います

なぜバックアップ・サイズが縮小されるのか?

SCSI UNMAPコマンドは、未使用領域を再利用するためにSSDドライブに送信できるTRIMコマンドに似ています。

SCSI UNMAPコマンドを送信して、アプリケーションまたはファイル・システムによって削除または使用されなくなったブロックを破棄して
解放するようにストレージ・サブシステムに指示します。
このコマンドを送信しない場合、ストレージ・サブシステムはブロックが使用されなくなったことを認識せず、すべてのバックアップに
これらのブロックを含め、新しいボリュームへのクローンを作成します。ストレージ・サブシステムがブロックのUNMAPコマンドを
受信すると、対応するブロックは破棄されて解放されるため、今後のバックアップおよびクローンから除外されます。

引用: SCSI UNMAPのサポート
と記載されているように、SCSI UNMAPコマンドを利用することで、ファイルを削除し使用しなくなったブロックを開放するようにストレージ・サブシステムに通知し、バックアップ対象から除外することが可能となります
その結果、バックアップ・サイズが縮小されることとなります

バックアップ・サイズの検証

環境

  • OS は Oracle Linux 8 を使用
  • 512GB の新規に作成したブロック・ボリュームをアタッチ
  • ファイルシステムは XFS とし、/mnt/vol01 にマウント
  • ディレクトリ、ファイルは何も作成しない

1. ブロック・ボリュームのバックアップを取得

ディレクトリ、ファイルは何も存在しません

メタ情報の関係か4GBほど消費されていますが、ほぼ空の状態です

バックアップ・サイズが 1GB であることが確認できます

2. ダミーのテキストファイルを作成した後にバックアップを取得

以下のコマンドを実行し、 1GB のテキストファイルを 100 個作成します

1GB のファイルが作成されています(抜粋)

パーティションも 100GB 使用されていることが確認できます

バックアップ・サイズも 100GB増加 したことが確認できます

3. ダミーファイルを削除した後にバックアップを取得

ダミーファイルを削除します

ファイルが削除され、パーティションの使用率も元に戻っています

ファイルを削除しただけだと、バックアップ・サイズに変動はありません

4. UNMAP コマンドを手動で発行した後にバックアップを取得

ドキュメントに記載があるように、 fstrim コマンドを実行して、UNMAP コマンドをバックエンドに発行し、ファイルシステムによって削除されたブロックを開放します

バックアップ・サイズが 51GB に縮小することが確認できましたが、なぜ 1GB に戻らないかの理由はドキュメントに記載があります

UNMAPは非決定的なコマンドであり、このコマンドを使用するときに、要求されたすべてのブロックがただちに破棄されるという保証はありません。

そのため、今回は約半分の 50GB が破棄されたため、バックアップ・サイズが 51GB になったということになります

まとめ

以上のように、UNMAP コマンドを発行することにより、バックアップ・サイズが縮小されることが確認できましたが、以下の注意点がございます

  • 2023年6月14日より前にアタッチされたボリュームの場合、再アタッチなどの作業が必要
  • すべての削除・未使用ブロックが開放されるとは限らず、実際の使用サイズでバックアップが取得される保証はありません
  • ファイルシステムの削除・未使用ブロックが大量にある場合、 UNMAP コマンドが完了するのに時間がかかります
  • UNMAP コマンドの時間は、ブロック・ボリュームの パフォーマンス・レベル や、ファイルシステムによって異なります
  • UNMAP コマンドを使用しても、保証されたIOPSおよびスループットは影響しませんが、UNMAP コマンドの完了時間は影響を受けます

他にも注意点や自動実行の方法などがございますので、 ドキュメント を確認していただき、UNMAP コマンドの利用を検討していただければと思います

Return Top