次の方法で共有


ファイルシステムの動作

最終的に、Azure Arc によって有効になっている Azure Container Storage は、アプリケーションへのファイルシステム インターフェイスを提供します。 ファイルシステムには、アプリケーションが処理するように設計する必要がある特定の動作があります。 この記事では、共有ファイル システムの変更が反映されるしくみと、ミラー同期中にミラー ファイル システムに何が起こるかについて説明します。

ファイルシステムインターフェイスとはどういう意味ですか?

アプリケーションは、 マウントを介してフォルダー構造内の多くのファイルシステムにアクセスできます。 Kubernetes では、アプリケーション (ポッド) は PVC を使用してマウントを構成します。 ポッドが EdgeVolume PVC でマウントされると、マウントされたフォルダーを介して共有ファイルシステムにアクセスできます。

この ガイドを参照してください。たとえば、拡張機能のクラウドベースのボリューム用に PVC を構成します。 EdgeVolume PVC でマウントされたファイルシステムには、ローカルコンポーネントとリモートコンポーネントがあります。 ローカル ファイルシステムは、アプリケーション ファイルシステム操作を受け取ります。 ファイル システム操作は、基になるストレージにアクセスできるリモート コンポーネントに転送されます。

変更の反映とローカル キャッシュ

クラスター内の任意のノードの多くのポッドで、同じ共有 EdgeVolume フォルダーをマウントできます。 このフォルダー内では、1 つのポッドからの書き込みが他のポッドから読み取られます。 同じ共有フォルダーの変更をマウントしている別のノードにポッドがある場合、反映されるまでに時間がかかる場合があります。 新規または削除されたファイルとフォルダーが伝達されるまでに最大 60 秒かかることがあります。 ファイルの書き込みが反映されるまでに最大 30 秒かかることがあります。

これらの遅延の理由は、クライアント側のキャッシュ無効化時間が原因です。 ポッドは、ローカル ファイルシステムに対して読み取り操作を実行するときに、ローカル キャッシュを使用し、ネットワーク呼び出しを行わない可能性があります。 使用するキャッシュ エントリは最終的に期限切れになるため、関連するキャッシュがタイムアウトすると、ポッドのファイルシステムはネットワーク経由で情報を再読み取りします。 この時点で、ローカル ファイルシステムは最新のファイル メタデータとコンテンツをプルします。

ファイルを開いて読み取り、ファイルを閉じる操作シーケンス (有効期間が長いファイルとは対照的) は、常にファイルの最新の内容を読み取ります。 ローカル ポッドのファイルシステムがオープン呼び出しを処理すると、ファイルが変更されたかどうかを確認するためにサーバーに直接アクセスします。

ミラー ファイル システムの動作

ミラー同期が発生すると、内部アプリケーションが実行され、ファイルシステム操作を検出して実行し、エッジファイルシステムをブロブターゲットに一致するように同期します。 ミラー サブボリュームの構成 については、この記事で説明します。

ミラー同期を完了するために実行できる操作は、次のカテゴリに分類されます。

  • 新しく作成された BLOB と一致する新しいファイルまたはフォルダーを作成する。
  • 削除された BLOB と一致するように既存のファイルまたはフォルダーを削除する。
  • 変更された BLOB と一致するように既存のファイルを変更するには、新しい BLOB をダウンロードして、古いファイルに上書きします。
  • ファイルまたはフォルダーのメタデータを変更します: BLOB内のメタデータの変更に基づいて、所有者、グループ、アクセス権、xattrs を設定します。

内部アプリケーションがこれらの操作を実行すると、基になるファイルシステムで直接実行されます。 この変更は、最終的に、お客様のポッドに適用され、ファイルシステムを読み取り可能にします。 内部ファイルシステムで変更が行われると、ファイルの変更に最大 30 秒、作成または削除されたファイルが顧客のポッドに反映されるまでに最大 60 秒かかることがあります。

BLOB の変更の同期は、完全なファイルの内容で名前の変更を使用して実装されるため、アプリケーションでは部分的に同期されたファイルは表示されません。 古いファイルの内容または新しいファイルの内容が表示されます。

ただし、メタデータの変更は、顧客に表示されるファイルまたはフォルダーに直接適用されます。 つまり、部分的に同期されたメタデータ (所有者、グループ、アクセス許可、xattrs) を表示できます。