ファイル・システムのクローニング
クローンとは、既存のファイル・システムのスナップショットに基づいて作成された新しいファイル・システムのことです。スナップショットは、特定の時点におけるファイル・システムのデータの状態を保持します。ファイル・システムのスナップショットを定期的に取得すると、そのライフタイムの多くの時点で存在していたファイル・システムのクローンを作成できます。
スナップショットは、クローンの初期ブループリントを提供します。少なくとも1つのスナップショットが使用可能であれば、親ファイル・システムをクローニングすることも、クローンをクローニングすることもできます。作成時点では、クローンに含まれるデータはスナップショット内のデータと同じです。作成後、クローンのデータ変更は元のファイル・システムには反映されません。逆に、元のファイル・システムに対するデータ変更はクローンに反映されません。親ファイル・システム、クローン、クローンのクローンのいずれであるかに関係なく、すべてのファイル・システムは互いに独立して動作します。
クローンを作成しても、親ファイル・システムからクローンにデータはレプリケートも移動もされないため、クローンは領域効率と時間効率が高くなります。クローンは、共有するすべてのデータの親ファイル・システムを参照します。クローンのクローンであるファイル・システムは、共有データの元の親ファイル・システムも参照します。クローンをデタッチすると、完全に独立したファイル・システムになります。共有データは、デタッチされるたびにファイル・システムにコピーまたは移動されます。
クローンを作成すると、最初はメタデータのみのストレージ・コストが発生します。クローン・データの使用量は、区別されたデータのみに対して測定されます。クローンが親ファイル・システムから参照するデータは、クローンに対しては測定されず、親のみに対して測定されます。クローンをデタッチすると、正常に測定される独立したファイル・システムになります。詳細は、ファイル・システムの使用量および測定を参照してください。
クローンは、テスト、パッチ適用、およびアプリケーションのプロビジョニングの高速化に使用できます。テストまたはパッチ適用の失敗によってデータがリカバリ不能になった場合は、元のファイル・システム・スナップショットから新しいクローンを作成し、古いクローンを削除してから操作を再起動します。
次のクローニング・タスクを実行できます:
クローニングの概念
- 親ファイル・システム
-
親ファイル・システムとは、1つまたは複数のクローンによって参照されるデータを含むファイル・システムです。クローンを作成するときに、クローン・ディレクトリ階層およびファイル・データのブループリントとして使用するファイル・システム・スナップショットを指定する必要があります。このスナップショットを含むファイル・システムが、クローンの最初の親です。クローンは、クローンがデタッチされないかぎり、引き続き、共通で共有するすべてのデータの親ファイル・システムを参照します。
クローンの作成後に、クローンの親ファイル・システムが変わることがあります。たとえば、クローンの親ファイル・システムを削除すると、その親ファイル・システム(クローンの祖父母)がクローンの新しい親になります。クローンのデータ参照が新しい親に転送されます。
クローニングされたファイル・システムは、親ファイル・システムからデタッチして、独立したファイル・システムになることができます。
- ソース・スナップショット
- クローンを作成するためのブループリントとして使用されるスナップショット。スナップショットとは、ファイル・システムのポイントインタイム参照です。ファイル・システムのスナップショットは、必要に応じて何度でも作成できます。1つの親ファイル・システムに、その存続期間中の多くの時点に対する使用可能なスナップショットがあることがあります。現存するファイル・システムのクローン、または過去に存在したファイル・システムのクローンを作成できます(その時点でファイル・システムのスナップショットが取得されていることが前提)。詳細は、スナップショットの管理を参照してください。
- ファイル・システム・クローン
- クローンとは、既存のファイル・システムのスナップショットに基づいて作成された新しいファイル・システムのことです。クローンは、ファイル・システムのディレクトリ階層およびファイル・データを自動的に継承します。親ファイル・システム内のすべてのスナップショット(クローンのソースとして使用されるスナップショットまでを含む)がクローンに継承されます。継承されたスナップショットの
timeCreated
フィールドは、クローン操作が開始された時間に設定されます。これらのスナップショットを保持するか削除するかを選択できます。 - クローン・ツリー
- クローン・ツリーとは、すべて同じルート・ファイル・システムの子孫からなるクローンのグループです。ルートと子孫クローンの間に推移関係があります。クローン・ツリーのルートを削除するには、まずそのすべての子孫を削除する必要があります。
- ブランチ
- クローン・ツリー・ブランチとは、クローン・ツリーの共通の祖先からデータが分化するクローンのセットです。前述の例では、CとDがクローン・ツリーの1つのブランチであり、E、FおよびGがクローン・ツリーの2つ目のブランチです。
- ハイドレーション
- ハイドレーションは、ソースからクローンにメタデータをコピーするプロセスです。ハイドレーションは、クローンの作成時に開始される非同期プロセスです。クローンは作成するとすぐに使用可能になり、ハイドレーションの進行中も通常の操作に使用できます。クローンの詳細ページを表示すると、ハイドレーションのプロセスがまだ進行中かどうかを確認できます。詳細は、ファイル・システムの詳細の取得を参照してください。
制限事項および考慮事項
論理編成
クローンは、その親ファイル・システムと同じ可用性ドメインにのみ作成できます。詳細は、リージョンおよび可用性ドメインについてを参照してください。
クローンのハイドレーション
パフォーマンス
クローンの作成は瞬時に行われ、読取り操作と書込み操作のどちらでもクローンにすぐにアクセスできます。ただし、ハイドレーションの進行中に共有データにアクセスすると、親とクローンの両方でパフォーマンスへの軽微な影響があります。パフォーマンスへの影響は、親よりもクローンのほうが大きくなります。影響の期間は、ソースのサイズによって異なります。高パフォーマンスのマウント・ターゲットの最大スループットは、クローンが完全にハイドレーションされるまで使用できません。
クローンと親のハイドレーションが同時に行われている場合、ハイドレーションがクローン・ツリー・ルートのパフォーマンスに影響する可能性があります。クローンを作成する際には、クローン・ツリー内の10を超えるクローンを同時にハイドレーションしないことをお薦めします。
この図では、ファイル・システムAがクローン・ツリーのルートです。ファイル・システムB、C、D、E、FおよびGがすべて同時にハイドレーションされているため、ファイル・システムAのパフォーマンスが影響を受ける可能性があります。
ハイドレーションが完了すると、親ファイル・システムにもクローン・ツリー・ルートにもそれ以上の影響はありません。クローンでハイドレーションが進行中かどうかは、その詳細ページを表示すると確認できます。詳細は、ファイル・システムの詳細の取得を参照してください。
クローン・ツリーのサイズおよび深さ
同時にハイドレーションできるクローン・ツリー内のクローンの数は、次の2つの値に基づいて制限されます:
- 最大サイズ: 10 この値は、1つの親ファイル・システムから同時にハイドレーションできるクローン・ツリー内のクローンの最大数を表します。
- 最大の深さ: 5 この値は、作成するクローンとその最後にハイドレーションされた祖先の間の、クローン・ツリー・ブランチのハイドレーションされていないクローンの最大数を表します。
これらの制限を超えると、クローニング操作は失敗します。必要な数のクローンがハイドレーションを完了するまで待機してから、操作を再試行してください。
リソースの削除
ファイル・システム
クローン・ツリーのルートでないファイル・システムは、削除できます。ファイル・システムがクローン・ツリーのルートである場合、まずすべての子孫クローンを削除またはデタッチする必要があります。
ファイル・システムが1つのクローンのみの親である場合、親ファイル・システムを削除でき、クローニングされたファイル・システムが独立したファイル・システムになります。
クローンの親が削除されても、その子孫がまだハイドレーション中の場合、ハイドレーションが完了するまで親は削除中の状態のままになります。クローンの親に関連付けられている測定対象領域は、すべての子孫クローンのすべてのハイドレーションが完了するまで使用中のままになります。ファイル・システムが削除状態の間は、その親、子および兄弟を削除できません。削除中の状態のファイル・システムはクローニングできません。ただし、その兄弟または子はクローニングできます。
削除が完了すると、削除されたファイル・システムの親が子孫クローンの新しい親になります。
ソース・スナップショット
クローンのソース・スナップショットは削除できます。ソース・スナップショットがハイドレーション中に削除された場合、ハイドレーションが完了するまでソース・スナップショットは削除中のままになります。
親スナップショット
クローンは親からすべてのスナップショットを継承します。ハイドレーションの進行中に親ファイル・システム内のスナップショットを削除した場合、ハイドレーションが完了するまでスナップショットは削除中の状態のままになります。ハイドレーションの完了後はいつでも、親またはクローンのファイル・システムのスナップショットを削除できます。
ファイル・システムの管理で、ファイル・システムを削除する手順を参照してください
スナップショットの管理で、スナップショットを削除する手順を参照してください。
クローンのデタッチ
クローニングされたファイル・システムは、その親ファイル・システムからデタッチできます。親がテンプレートとして使用された場合、またはクローンがディザスタ・リカバリに使用された場合は、クローンをデタッチできます。
デタッチの対象となるためには、クローン・ファイル・システムをクローン・ツリー内のそれ以降のクローンの親にしないでください。クローンをデタッチするには、いくつかの方法があります。
- クローンは、作成時にデタッチできます。
- クローンは、クローンの作成後、可能であればいつでもデタッチできます。
- 親ファイル・システムにクローンが1つのみ存在する場合は、親ファイル・システムの削除時にクローンをデタッチできます。
クローンのデタッチ中は、デタッチが完了するまで別のクローンの作成に使用できません。
クローンのデタッチは非同期操作です。デタッチ操作のステータスをモニターするには、ファイル・システムの「アタッチされたクローンのステータス」を使用します。
測定および請求
親ファイル・システムは、その子孫クローンと共有されているすべてのデータについて測定されます。クローンは、そのメタデータおよびそのデータに加えられた増分変更について測定されます。クローンが削除されると、そのクローンによってのみ参照されているすべてのブロックが再利用されます。別のクローンが削除されたクローンからハイドレーションしている場合、参照されているブロックは、ハイドレーションの完了後に再利用されます。
親クローンを削除した場合、子孫クローン間で共有されているデータ・ブロックは解放できません。子孫クローンによって参照されている割当て済ブロックは、測定の目的で新しいクローンの親(クローンの親の親)に転送されます。複数のファイル・システム間で共有されているデータについて、2回以上測定されることはありません。
クローンをデタッチすると、共有データ・ブロックがクローニングされたファイル・システムにコピーされ、そのように測定および請求される独立したファイル・システムになります。
詳細は、ファイル・システムの使用量および測定を参照してください。
必要なIAMサービス・ポリシー
Oracle Cloud Infrastructureを使用するには、管理者がテナンシ管理者によってポリシーでセキュリティ・アクセス権が付与されたグループのメンバーである必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限がない、または認可されていないというメッセージが表示された場合は、どのタイプのアクセス権があり、どのコンパートメントでアクセスが機能するかをテナンシ管理者に確認してください。
管理者の場合: ファイル・システムのクローニングでは、CreateFileSystem
API操作を使用し、FILE_SYSTEM_CLONE権限が必要です。ユーザーによるファイル・システムの作成、管理および削除のポリシーにより、ユーザーはクローン・ファイル・システムを管理できます。
ポリシーを初めて使用する場合は、ポリシーの開始およびファイル・ストレージ・サービスの詳細を参照してください。