ファイル・システムの使用量および測定
このトピックでは、サービス・コストの理解および管理に役立つファイル・システムの使用量と測定の計算方法について説明します。また、ファイル・システム、クローンおよびスナップショットの使用率を表示する様々な方法、および使用方法に応じて発生するレポートの違いについても説明します。
概要
ファイル・ストレージ・サービスのプロビジョニングは、使用率がスケーリングされるにつれて完全に管理され、自動化されます。詳細は、領域の割当てを参照してください。
ファイル・システム、クローンおよびスナップショットの使用量を表示するのに使用できる方法は次のとおりです:
- ファイル・ストレージ・サービスは、測定されたファイル・システムの使用率をレポートし、毎時更新します。従量制ファイル・システム使用率は、APIの
meteredBytes
値から取得され、サービス・コストのカウントに使用される認可使用率の値を表します。コンソール、コマンドライン・インタフェース(CLI)またはAPIを使用して、各ファイル・システムについてレポートされた使用率にアクセスできます。詳細は、次のファイル・システムの測定された使用率の項を参照してください。 - ファイル・ストレージ・サービスはネットワーク・ファイル・システム(NFS)プロトコルをサポートしているため、インスタンス・コマンドライン・ツールから
df
またはdu
コマンドを使用して、マウントされたファイル・システムの使用状況を確認できます。ただし、du
によって報告される使用方法は、meteredBytes
値とdf
値の両方とは異なる場合があります。詳細は、DFおよびDUコマンドの使用を参照してください。
領域の割当て
ファイル・ストレージ・サービスでは、可変サイズのブロックで領域を割り当てます。これにより、顧客の合計コストを最小限に抑え、パフォーマンスを最適化します。他のストレージ・システムは、Oracle Cloud Infrastructure File Storageと異なる方法でブロックを割り当てることがあります。別のストレージ・デバイスからOracle Cloud Infrastructureファイル・システムにファイルをコピーした場合、コピーの前後で物理ファイルのサイズを比較すると、わずかな差異が確認されることがあります。
測定およびサービス・コスト
この項では、ファイル・システムの使用量の側面と、それがサービス・コスト全体に与える影響について説明します。
ファイル・システムの測定された使用率
ファイル・ストレージ・サービスは、各ファイル・システムの測定された使用率のサイズをレポートします。測定された使用率のサイズは、毎時サイクルで更新されます。ファイル・システムの詳細ページで、測定された使用率のサイズをコンソールに表示できます。この値は、ファイル・ストレージ・サービスAPIのmeteredBytes
プロパティで取得されます。このプロパティは、ファイル・システムによって消費されるバイトの合計数です。ファイルシステムが別のファイルシステムのクローンである場合、クローンはそのクローンに固有の差別化されたデータについてのみ計測されます。
meteredBytes
値は、ファイル・システムに対する更新に関して非同期に更新されます。使用料金は、meteredBytes
値に基づいて計算されます。
CLIまたはAPIを使用して、この情報を取得することもできます。ファイル・システムの使用率を表示する方法については、ファイル・システムの管理を参照してください。
ファイル・システムに対してファイルを追加または削除する場合、ファイル・ストレージ・サービスが測定サイズの変更をレポートするのに最大1時間かかる可能性があります。
スナップショットの測定された使用率
スナップショットとは、ファイル・システムのポイントインタイム・ビューです。複製のかわりに元のデータを参照して使用量コストを制限するため、スナップショットは最初、ファイル・システムの追加の使用量を消費しません。スナップショットは、取得後に参照するブロックを変更しません。
スナップショット・データの使用量は、区別されたデータのみに対して測定されます。最後のスナップショットが作成されてからファイル・システム内で何も変更されていない場合、新しいスナップショットはストレージを消費しません。スナップショットの従量制サイズは、スナップショットが属するファイル・システムのレポートされたmeteredBytes
値に含まれます。
例:
- たとえば、MyFileSystemというファイル・システムを作成してFile1を追加するとします。新しいファイル・システムには、メタデータを含む1GBが含まれます。毎時更新サイクルの完了後、ファイル・ストレージ・サービスによって表示される合計の
meteredBytes
は、1GBになります。 -
次に、Snapshot1という名前のMyFileSystemのスナップショットを作成します。時間ごとの更新サイクルが完了すると、ファイル・ストレージ・サービスによって表示される合計
meteredBytes
は、差別化されたデータがまだないため、1 GBのままになります。 -
次に、File1の最初の0.5 GBを上書きします。これで、MyFileSystemには、Snapshot1で以前に取得したバージョンとは異なるファイルが設定されます。ライブ・ファイル・システムとスナップショット間の差別化されたデータは0.5 GBであるため、
meteredBytes
値は1.5 GBです。1GB (スナップショット) + 0.5GB (区別されたデータ) = 1.5GB
- 次に、File1を削除します。MyFileSystemの
meteredBytes
値が1 GBになり、これはSnapshot1の使用方法のみを表します。 - 最後に、Snapshot1を削除します。スナップショットを削除すると、そのスナップショットのファイル・データへの参照が削除されます。他のスナップショットがファイル・データを参照していない場合、領域は放棄され、使用率はゼロに戻ります。
従量制利用のクローニング
ファイル・システム・クローンの初期従量制コストは、そのメタデータのみに基づきます。これは、クローンが親ファイル・システムのデータを複製するかわりに参照するためです。
クローンの親ファイルシステムは、その子孫クローンと共有されるすべてのデータに対して計測されます。クローンは、そのデータに対して行われたすべてのメタデータおよび増分変更について計測されます。クローンが削除されると、そのクローンによってのみ参照されているすべてのブロックが再利用されます。削除されたクローンから別のクローンがハイドレーション中の場合、参照されているメタデータ・ブロックはハイドレーションの完了後に再利用されます。
親クローンを削除した場合、子孫クローンで共有されているデータ・ブロックは解放できません。子孫クローンによって参照される割当て済ブロックは、測定のために新しいクローンの親(親の親)に転送されます。複数のファイル・システム間で共有されるデータに対して複数回計測されることはありません。
例:
- たとえば、Clone1というFileSystemAのクローンを作成するとします。作成時およびデータが変更される前:
- FileSystemA (親)は、そのデータおよびメタデータに対して測定されます。
- Clone1はメタデータに対してのみ測定されます。
- 次に、File1という新しい1GBファイルをClone1に作成します。
- FileSystemA (親)は、Clone1 (クローン)と共有するデータに対して測定されます。
- Clone1は、そのメタデータに加え、File1で発生した1GBの変更済データに対して測定されます。
- FileSystemAの親はOriginalRootです。クローン・ツリーのルートです。FileSystemAを削除するとします:
- OriginalRootは、Clone1の新しい親になります。
- OriginalRootは、Clone1と共有するデータに対して測定されます。
- Clone1は、そのメタデータに加え、File1で発生した1GBの変更済データに対して測定されます。
レプリケーションの従量制使用率
ファイル・システムのレプリケーションを有効にすると、ファイル・システムは、指定されたリージョンおよび可用性ドメイン内のターゲット・ファイル・システムにレプリケートされます。File Storageは、ソース・ファイル・システムとターゲット・ファイル・システムの両方でディスクに格納された容量の合計に対して計測されます。ソース・ファイル・システムとターゲット・ファイル・システムの価格は同じです。
請求には、リージョン間のレプリケーション・プロセスに適用されるすべてのネットワーク・コストが含まれます。レプリケーション・プロセスの一環として、ソース・ファイル・システムで更新されるすべてのデータがファイル・システムのレプリカに転送されるため、継続的に更新されるファイル・システムではネットワーク・コストが高くなります。同じリージョン内またはインバウンド・データ転送内の可用性ドメイン間帯域幅に対する追加料金はありません。
多くのレプリケーション・フェイルバック・シナリオでは、元のソース・ファイル・システムのクローンを使用します。最後に適用されたスナップショットからソースをクローニングすると、ソースとターゲットの互換性が確保されます。フェイルバックに新しいファイルシステムを使用することもできます。ただし、元のソース・ファイル・システムのクローンを使用すると、新しいファイル・システムを使用するよりも高速でコスト効率が高い傾向があります。例:
- ソース・ファイル・システム、ファイル・システムA、ターゲット・ファイル・システムBを作成するとします。ファイル・システムA (ソース)からファイル・システムB (ターゲット)へのレプリケーションを設定します。ファイル・システムAはマウントされ、データはインスタンスまたはアプリケーションからファイルに書き込まれます。レプリケーション・プロセスでは、ファイル・システムBのファイル・システムAからデータの更新が複製されます。
- ファイル・システムA (ソース)は、そのデータおよびメタデータに対して測定されます。データが更新されると、コストが増加する可能性があります。
- ファイル・システムAのユーザー作成スナップショットは、ファイル・システムAの差別化されたデータに対してのみ計測されます。
- ファイル・システムB (ターゲット)のデータはファイル・システムAと同じであり、データおよびメタデータに対して測定されます。
- ファイル・システムBのユーザー作成スナップショットは、ファイル・システムAと同じであり、区別されたデータに対してのみ測定されます。
- レプリケーションで作成されたスナップショットは、差別化されたデータに対してのみ計測され、レプリケーションサイクルの完了後に削除されます。
ノート
レプリケーション・サイクルが完了するまで、ファイル・システムBのデータとメタダの使用は、ファイル・システムAでは異なる場合があります。 - その後、ある時点で、ファイル・システムAを含む可用性ドメインが失敗し、ファイル・システムBにフェイルオーバーします。ファイル・システムBはアプリケーション・インスタンスにマウントされ、データが書き込まれます。
- ファイル・システムAは、既存のデータおよびメタデータに対して計測されます。データが更新されないため、コストの変更はありません。
- ファイル・システムAのユーザー作成スナップショットは、ファイル・システムAのみの既存の差別化データに対して引き続き測定されます。
- ファイル・システムBのデータは、そのデータおよびメタデータに対して測定されます。データが更新されると、コストが増加する可能性があります。
- ファイル・システムBのユーザー作成スナップショットは、ファイル・システムBの差別化データに対してのみ計測されます。
- レプリケーション・スナップショットは作成されません。
- ファイル・システムAを含む可用性ドメインがリストアされた後、レプリケーションを逆転して、更新されたデータをファイル・システムBからファイル・システムAにコピーしなおして、同期に戻ります。Clone1というファイル・システムAのクローンを作成します。作成時およびデータが変更される前:
- ファイル・システムA (元のレプリケーション・ソース、クローンの親)は、そのデータおよびメタデータに対して測定されます。
- Clone1はメタデータに対してのみ測定されます。
- ファイル・システムBからClone1へのレプリケーションが進行すると、データはファイル・システムBからClone1にコピーされます。
- ファイル・システムA (古いレプリケーション・ソース、クローンの親)は、そのデータおよびメタデータに対して測定されます。データが更新されないため、コストの変更はありません。
- ファイル・システムAのユーザー作成スナップショットは、ファイル・システムAのみの既存の差別化データに対して引き続き測定されます。
- Clone1 (新しいターゲット)は、ファイル・システムAと区別されるデータに対して測定されます。データがファイル・システムBからClone1にレプリケートされるため、コストが増加します。
- ファイル・システムB (新しいソース)は、そのデータおよびメタデータに対して測定されます。
- ファイル・システムBのユーザー作成スナップショットは、ファイル・システムBの差別化データに対してのみ計測されます。
- レプリケーションで作成されたスナップショットは、Clone1とファイル・システムBの間の差別化されたデータに対してのみ測定され、レプリケーション・サイクルの完了後に削除されます。
詳細は、File System Replicationを参照してください。
メタデータの測定された使用率
ファイル・システムのファイルには、メタデータに領域を割り当てる必要があります。各ディレクトリ・エントリには512
バイトが必要で、各シンボリック・リンクには8192
バイトが必要です。ファイルに複数のハードリンクを設定すると、そのファイルに対して複数のディレクトリ・エントリが作成され、メタデータの使用率が増加します。この使用率は、それが属するファイルシステムの meteredBytes
値に含まれています。
DFおよびDUコマンドの使用
インスタンス・コマンドライン・アプリケーションからdf
またはdu
コマンドを使用して、ファイル・システムの使用状況情報を表示できます。これらのコマンドを使用してファイル・システムの使用量を表示するには、まずファイル・システムをインスタンスにマウントする必要があります。ファイル・システムのマウント手順については、ファイル・システムのマウントを参照してください。
コマンドの動作
df
は、ファイル・システムに従量制のストレージを提供します。結果はすぐに返されますが、最大で1時間古くなる可能性があります。du
は、ディレクトリ階層で使用されるストレージを提供します。du
コマンドはディレクトリ・ツリーをたどります。階層が大きい場合は、実行して結果を返すのに時間がかかる場合があります。
結果の違い
DFとDUでレポートされるスナップショットとクローンの使用率が異なる
スナップショットとは、ファイル・システムのポイントインタイム・ビューです。スナップショットは、複製するかわりに、変更されていないファイル・システム・データを参照します。スナップショットが参照するファイル・システム・ブロックは、スナップショット使用率に対してカウントされません。区別されたデータのみがスナップショット使用率を増やします。
同じ動作がファイル・システムのクローンにも当てはまります。クローンは、親ファイル・システムと共有するデータを参照します。クローンが参照するファイル・システム・ブロックは、クローンの使用率にカウントされません。区別されたデータのみがクローン使用率を増やします。
df
コマンドは、NFS FSSTATコールを使用してファイル・ストレージ・サービスによって提供される情報を取得します。NFS FSSTATコールによって、スナップショットとクローンがファイル・システム・データを参照する方法が正しく示されます。区別されたデータによる使用率のみがレポートされます。du
コマンドは、ファイル・システム・ツリーを下降して使用し、各ファイルのサイズ属性を使用して使用済領域を合計します。スナップショットまたはクローンを作成すると、各ファイルの元のサイズ属性がコピーされます。このため、du
コマンドを実行すると、スナップショットは、スナップショットが取得された時点のファイル・システムのサイズをレポートします。必ずしもスナップショットの現在の実際の使用率ではありません。クローンは、ソーススナップショットが作成された時点での親ファイルシステムのサイズを最初に報告します。クローン・データが変更されると、du
は、更新されたファイルのみの新しいサイズ属性のレポートを開始します。
たとえば、
-
「MyFileSystem」というファイル・システムを作成するとします。次に、「FileA」という1GBのファイルをファイル・システムに追加します。各コマンドがどのようにサイズをレポートするかを次に示します。
対象... duレポート... dfレポート...
FileA 1GB 1GB MyFileSystem 1GB 1GB -
次に、「Snapshot1」を作成します。スナップショットはMyFileSystemの
/.snapshot
フォルダに配置されます。各コマンドがどのようにサイズをレポートするかを次に示します:対象... duレポート... dfレポート...
FileA 1GB 1GB Snapshot1 1GB 1GB MyFileSystem
2GB 1GB du
では、コピーされたFileAのファイル・サイズ属性(1GB)がレポートされるため、Snapshot1に1GBをレポートします。
-
次に、「Snapshot1」を使用して、「Clone1」というクローンを作成します。各コマンドがどのようにサイズをレポートするかを次に示します:
対象... duレポート... dfレポート...
FileA 1GB 1GB Snapshot1 1GB 1GB MyFileSystem
2GB 1GB Clone1 2GB 0GB df
は、データがまだ変更されていないため、Clone1に0GBをレポートします。そのため、差別化されたデータには領域が割り当てられません。du
では、コピーされたFileA (1GB)のファイル・サイズ属性と、別の1GBのSnapshot1のサイズがレポートされるため、Clone1に2GBをレポートします。
-
「FileB」という1 GBのファイルをクローニングされたファイル・システムに追加します。各コマンドがどのようにサイズをレポートするかを次に示します:
対象... duレポート... dfレポート...
FileA 1GB 1GB Snapshot1 1GB 1GB MyFileSystem
2GB 1GB Clone1 3Gビット 1GB FileB 1GB 1GB df
は、FileBに追加された差別化データについて、Clone1について1GBをレポートします。du
は、FileA、FileBおよびSnapshot1のコピーされたファイル・サイズ属性の合計をレポートするため、Clone1に対して3GBをレポートします。
料金は、
meteredBytes
値を使用して計算されます。du
によってレポートされる使用率のサイズは、meteredBytes
値よりも大きくなる可能性があります。df
はmeteredBytes
と同じ値をレポートするため、これを使用してファイル・システムのサイズを正確に確認できます。DFとDUでハード・リンクのカウントが異なります
df
は、各ファイルを1回のみカウントします。du
は、ハード・リンクを持つファイルを複数回カウントできます。
DFとDUでsymlinkとメタデータのカウントが異なります
-
df
は、メタデータおよびシンボリックリンクのファイル・ストレージで、空のファイルでも必要なバイトの使用率を報告します。 du
は、空のファイルを0バイトのようにレポートします。メタデータとsymlinkのためにファイル・ストレージによって使用されているバイトは正確にレポートされません。