ファイル・システムのクローニング

クローンとは、既存のファイル・システムのスナップショットに基づいて作成された新しいファイル・システムのことです。スナップショットは、特定の時点におけるファイル・システムのデータの状態を保持します。ファイル・システムのスナップショットを定期的に取得すると、その存続期間中の複数の時点で存在していたファイル・システムのクローンを作成できます。

スナップショットは、クローンの初期ブループリントを提供します。使用可能なスナップショットが少なくとも1つあれば、親ファイル・システムをクローニングすることも、クローンをクローニングすることもできます。作成時点では、クローンに含まれるデータはスナップショット内のデータと同じです。作成後、クローンのデータ変更は元のファイル・システムには反映されません。逆に、元のファイル・システムに対するデータ変更はクローンに反映されません。親ファイル・システム、クローン、クローンのクローンのいずれかに関係なく、すべてのファイル・システムは互いに独立して動作します。

クローンを作成しても、親ファイル・システムからクローンにデータはレプリケートも移動もされないため、クローンは領域効率と時間効率が高くなります。クローンは、共有するすべてのデータの親ファイル・システムを参照します。クローンのクローンであるファイル・システムは、共有データの元の親ファイル・システムも参照します。

クローンを作成すると、最初はメタデータのみのストレージ・コストが発生します。クローン・データの使用量は、区別されたデータのみに対して測定されます。クローンが親ファイル・システムから参照するデータは、クローンに対しては測定されず、親のみに対して測定されます。詳細は、ファイル・システムの使用量および測定を参照してください。

ノート

テナンシのサービス制限に基づくクローン数は、通常のファイル・システムと同じように制限されます。適用可能な制限の一覧と制限の引上げをリクエストする手順は、サービス制限を参照してください。

クローンは、テスト、パッチ適用、およびアプリケーションのプロビジョニングの高速化に使用できます。テストまたはパッチ適用の失敗によってデータがリカバリ不能になった場合は、元のファイル・システム・スナップショットから新しいクローンを作成し、古いクローンを削除してから操作を再開します。

次のクローニング・タスクを実行できます。

クローニングの概念

親ファイル・システム

親ファイル・システムとは、1つまたは複数のクローンによって参照されるデータを含むファイル・システムです。クローンを作成するときに、クローン・ディレクトリ階層およびファイル・データのブループリントとして使用するファイル・システム・スナップショットを指定する必要があります。このスナップショットを含むファイル・システムが、クローンの最初の親です。クローンは、引き続き、共通で共有するすべてのデータの親ファイル・システムを参照します。

クローンの作成後に、クローンの親ファイル・システムが変わることがあります。たとえば、クローンの親ファイル・システムを削除すると、その親ファイル・システムの親(クローンの親)がクローンの新しい親になります。クローンのデータ参照が新しい親に転送されます。

ソース・スナップショット
クローンを作成するためのブループリントとして使用されるスナップショット。スナップショットとは、ファイル・システムのポイントインタイム参照です。ファイル・システムのスナップショットは、何度でも、必要な数だけ作成できます。1つの親ファイル・システムに、その存続期間中の多くの時点に対する使用可能なスナップショットがあることがあります。現存するファイル・システムのクローン、または過去に存在したファイル・システムのクローンを作成できます(その時点でファイル・システムのスナップショットが取得されていることが前提)。詳細は、スナップショットの管理を参照してください。
ファイル・システム・クローン
クローンは、既存のファイル・システムのスナップショットに基づいて作成された新しいファイル・システムです。クローンは、ファイル・システムのディレクトリ階層およびファイル・データを自動的に継承します。親ファイル・システム内に存在するすべてのスナップショット(クローンのソースとして使用されるスナップショットまでを含む)がクローンに継承されます。継承されたスナップショットのtimeCreatedフィールドは、クローン操作が開始された時間に設定されます。これらのスナップショットを保持するか削除するかを選択できます。
コンパートメント、タグ、表示名、キー、マウント・ターゲット・エクスポート情報などのファイル・システム・プロパティは、親からコピーされません。これらのプロパティは手動で指定する必要があります。クローンにアクセスするには、そのクローンにエクスポートを作成し、他のファイル・システムと同じ方法でそれをインスタンスにマウントします。エクスポートの作成およびファイル・システムのマウントを参照してください。
クローンを作成すると、それに一意のOCIDが割り当てられます。クローンの「詳細」ページには、他のファイル・システムおよびスナップショットとの関係をトラッキングできるように、次の情報も含まれています:
  • ハイドレーション: クローンがソースからメタデータを現在コピーしているかどうかを示します。
  • ソース・スナップショット: クローンの作成に使用されるスナップショットへのリンク。
  • 親ファイル・システム: クローンの親ファイル・システムへのリンク。
  • ルート: このファイル・システムがクローン・ツリーのルートであるかどうかを示します。
  • 子孫: このファイル・システムがクローニングされたものかどうかを示します。

クローニングされたファイル・システムも、他のファイル・システムと同じ方法で管理されます。クローンの「詳細」ページの表示、そのプロパティの編集、またはクローンの削除の方法の詳細は、ファイル・システムの管理を参照してください。

クローン・ツリー
クローン・ツリーとは、すべて同じルート・ファイル・システムの子孫からなるクローンのグループです。ルートと子孫クローンの間に推移関係があります。クローン・ツリーのルートを削除するには、まずそのすべての子孫を削除する必要があります。
この図では、B、C、D、E、F、Gはすべてクローンです。A→B→C→DおよびA→B→E→F→Gは、すべてクローン・ツリーの一部です。ファイル・システムAがこのクローン・ツリーのルートであり、ファイル・システムBの親です。
この図は、クローン・ツリーを示しています。
ブランチ
クローン・ツリー・ブランチとは、クローン・ツリーの共通の祖先からデータが分化するクローンのセットです。前述の例では、CとDがクローン・ツリーの1つのブランチであり、E、FおよびGがクローン・ツリーの2つ目のブランチです。
深さとは、クローン・ツリー内のあるファイル・システムと別のファイル・システムの間のクローンの数を表す語です。前述の例では、GからEまでの深さは2で、GからAまでの深さは4です。
サイズは、1つの親からのクローンの数を表す語です。前述の例では、クローンAからのクローン・ツリーのサイズは6ですが、Fからのクローン・ツリーのサイズは1です。
ハイドレーション
ハイドレーションは、ソースからクローンにメタデータをコピーするプロセスです。ハイドレーションは、クローンの作成時に開始される非同期プロセスです。クローンは作成するとすぐに使用可能になり、ハイドレーションの進行中も通常の操作に使用できます。クローンの「詳細」ページを表示すると、ハイドレーションのプロセスがまだ進行中かどうかを確認できます。詳細は、ファイル・システムの詳細の取得を参照してください。

制限事項および考慮事項

論理編成

クローンは、その親ファイル・システムと同じ可用性ドメインにのみ作成できます。詳細は、リージョンおよび可用性ドメインについてを参照してください。

クローンのハイドレーション

パフォーマンス

クローンの作成は瞬時に行われ、読取り操作と書込み操作のどちらでもクローンにすぐにアクセスできます。ただし、ハイドレーションがまだ進行中に共有データにアクセスすると、親とクローンの両方でパフォーマンスへの軽微な影響があります。パフォーマンスへの影響は、親よりもクローンのほうが大きくなります。影響の期間は、ソースのサイズによって異なります。

クローンと親のハイドレーションが同時に行われている場合、ハイドレーションがクローン・ツリー・ルートのパフォーマンスに影響する可能性があります。クローンを作成する際には、クローン・ツリー内の10を超えるクローンを同時にハイドレーションしないことをお薦めします。

この図では、ファイル・システムAがクローン・ツリーのルートです。ファイル・システムB、C、D、E、FおよびGがすべて同時にハイドレーションされているため、ファイル・システムAのパフォーマンスが影響を受ける可能性があります。

この図は、クローン・ツリーのハイドレーションを示しています。

ハイドレーションが完了すると、親ファイル・システムにもクローン・ツリー・ルートにもそれ以上の影響はありません。クローンでハイドレーションが進行中かどうかは、「詳細」ページを表示すると確認できます。詳細は、ファイル・システムの詳細の取得を参照してください。

クローン・ツリーのサイズおよび深さ

同時にハイドレーションできるクローン・ツリー内のクローンの数は、次の2つの値に基づいて制限されます:

  • 最大サイズ: 10 この値は、1つの親ファイル・システムから同時にハイドレーションできるクローン・ツリー内のクローンの最大数を表します。
  • 最大の深さ: 5 この値は、作成するクローンとその最後にハイドレーションされた祖先の間の、クローン・ツリー・ブランチのハイドレーションされていないクローンの最大数を表します。

これらの制限を超えると、クローニング操作は失敗します。必要な数のクローンがハイドレーションを完了するまで待機してから、操作を再試行してください。

リソースの削除

ファイル・システム

クローン・ツリーのルートでないファイル・システムは、削除できます。ファイル・システムがクローン・ツリーのルートである場合、まずすべての子孫クローンを削除する必要があります。

クローンの親が削除されても、その子孫がまだハイドレーション中の場合、ハイドレーションが完了するまで親は削除中の状態のままになります。クローンの親に関連付けられている測定対象領域は、すべての子孫クローンのすべてのハイドレーションが完了するまで使用中のままになります。ファイル・システムが削除中の状態の間は、その親、子および兄弟を削除できません。削除中の状態のファイル・システムはクローニングできません。ただし、その兄弟または子はクローニングできます。

削除が完了すると、削除されたファイル・システムの親が子孫クローンの新しい親になります。

ソース・スナップショット

クローンのソース・スナップショットは削除できます。ソース・スナップショットがハイドレーション中に削除された場合、ハイドレーションが完了するまでソース・スナップショットは削除中の状態のままになります。

親スナップショット

クローンは親からすべてのスナップショットを継承します。ハイドレーションの進行中に親ファイル・システム内のスナップショットを削除した場合、ハイドレーションが完了するまでスナップショットは削除中の状態のままになります。ハイドレーションの完了後はいつでも、親またはクローンのファイル・システムのスナップショットを削除できます。

ファイル・システムの管理で、ファイル・システムを削除する手順を参照してください

スナップショットの管理で、スナップショットを削除する手順を参照してください。

測定および請求

親ファイル・システムは、その子孫クローンと共有されているすべてのデータについて測定されます。クローンは、そのメタデータおよびそのデータに加えられた増分変更について測定されます。クローンが削除されると、そのクローンによってのみ参照されているすべてのブロックが再利用されます。別のクローンが削除されたクローンからハイドレーションしている場合、参照されているブロックは、ハイドレーションの完了後に再利用されます。

親クローンを削除した場合、子孫クローン間で共有されているデータ・ブロックは解放できません。子孫クローンによって参照されている割当て済ブロックは、測定の目的で新しいクローンの親(クローンの親の親)に転送されます。複数のファイル・システム間で共有されているデータについて、2回以上測定されることはありません。詳細は、ファイル・システムの使用量および測定を参照してください。

必要なIAMサービス・ポリシー

Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限を持っていない、または認可されていないというメッセージが表示された場合は、持っているアクセス権のタイプと作業しているコンパートメントを管理者に確認してください。

管理者の場合: ファイル・システムのクローニングでは、CreateFileSystem API操作を使用し、FILE_SYSTEM_CLONE権限が必要です。ユーザーによるファイル・システムの作成、管理および削除のポリシーにより、ユーザーはクローン・ファイル・システムを管理できます。詳細は、ポリシー・リファレンスを参照してください。

ポリシーを初めて使用する場合は、ポリシーの開始共通ポリシーを参照してください。