GKE 向け Filestore マルチシェアでは、エンタープライズ ティアの 1 つのインスタンスに最大 80 個の共有を割り当てます。
この機能により、Filestore インスタンス内での共有の使用が最適化され、以下のような利点が得られます。
- ユーザーが最大共有容量の見積もりと設定を行えるようになる
- インスタンスあたりの共有数を最適化する
- 関連する GKE ストレージ プール内の Filestore インスタンスの使用を最適化する
- コストを改善する
GKE 用 Filestore Multishares を使用する理由
Filestore インスタンスは、GKE インスタンスで使用できるフルマネージド ネットワーク接続ストレージ(NAS)システムです。
GKE 用の Filestore マルチシェアは、GKE Filestore CSI ドライバのバージョン 1.27 と組み合わせて使用すると、次のような利点があります。
- 永続ボリューム(PV)を 1 つのストレージ プールとして包括的に確認できます。ドライバは、ボリュームの追加、削除、サイズ変更に応じて、Filestore インスタンスを動的に作成または削除します。ドライバは、StorageClass の定義に従って共通の特性を持つ 1 つの大きなボリュームのプールとして Filestore インスタンスを管理し、各ボリュームを個別にスケールまたはバックアップする機能が含まれます。 
- データ用の共有ファイル システムを必要とするアプリケーション向けのマルチライター アクセスをサポートします。 
- 各 Filestore インスタンスの使用率とコスト効率を改善するため、より小さく柔軟なサイズ設定により複数の共有をサポートします。 
- 1 つの Filestore エンタープライズ ティア インスタンスに最大 80 個の共有を割り当てます。 - 各共有は、GKE の一意の永続ボリュームにマッピングされます。 
- GKE StorageClasses を使用して、最大共有サイズを 128 GiB、256 GiB、512 GiB、または 1,024 GiB(1 TiB)に制限できます。 - GKE Filestore CSI ドライバは、指定されたサイズに基づいて、Filestore インスタンスあたりの最大共有数を、それぞれ 80、40、20、10 個の共有に制限します。 
- GKE Filestore CSI ドライバのバージョン 1.23~1.26 は、エンタープライズ インスタンスごとに最大 10 個の共有を引き続きサポートします。 
 
- 複数のクライアントで小規模なボリュームと、共有ネットワークにわたる複数の書き込み権限者のアクセスの両方を必要とする組織に柔軟に対応します。 - 10 GiB から 1 TiB(1,024 GiB)までの拡張共有サイズ、または指定された最大共有サイズをサポートします。 
- GKE Filestore CSI ドライバのバージョン 1.23~1.26 は、100 GiB から 1 TiB の範囲の共有サイズをサポートします。 
 
- 動的ボリューム プロビジョニング(必要に応じた共有とインスタンスの容量のスケーリング)をサポートします。 - アプリケーション ワークロードが 80 個の永続ボリュームの要求(PVC)を超えると、GKE Filestore CSI ドライバはそれに対応してより多くの Filestore インスタンスを作成し、必要な共有をインスタンス間で動的に割り当てます。 
- PV を削除すると、GKE Filestore CSI ドライバは、割り当てられた共有ストレージを回収し、共有を削除します。関連するすべての共有が削除された場合、GKE Filestore CSI ドライバは Filestore インスタンスも削除します。 
- PV の容量を作成、削除、編集すると、GKE Filestore CSI ドライバは、関連する Filestore インスタンスの容量を追加または回収して、すべての共有の容量に対応します。Filestore インスタンスのサイズは、256 GiB 単位で変動します。 
- 基盤となる Filestore エンタープライズ マルチ共有インスタンスのパフォーマンスが共有されるため、必要に応じて特定の GKE PV のスループットが向上します。 
- ワークロードの需要に基づいて、ダウンタイムがほぼゼロで PV 容量のアップスケーリングをサポートします。 
 
- GKE Filestore CSI ドライバ バージョン 1.23(マルチシェア機能でリリースされた最初のバージョン)からバージョン 1.26 までを使用して作成されたインスタンスとの下位互換性をサポートします。 
- これらのインスタンスの共有では、10 GiB の拡張最小共有サイズを利用できます。 
StorageClass と動的ボリューム プロビジョニング
Filestore マルチシェア機能にアクセスするには、らかじめ GKE Filestore CSI ドライバのバージョン 1.23 以降を有効にしておく必要があります。有効にすると、GKE StorageClasses を利用して、動的ボリューム プロビジョニングと呼ばれる自動プロセスを使用し、PV と PVC のライフサイクルを効率的に管理できます。
GKE Filestore CSI ドライバは、特定のニーズに合わせて StorageClass を作成します。次の表では、Filestore エンタープライズ マルチシェアのパフォーマンスを単一の共有オプションを比較します。
| サービスティア | GKE の StorageClass | インスタンスごとの共有の数 | GKE PVC サイズ | Filestore の容量 | 増分変更 | Deployment | アクセスモード | 
|---|---|---|---|---|---|---|---|
| 基本 HDD | standard-rwx | 1 | 100 GiB~64 TiB | 100 GiB~64 TiB | 1 GiB | ゾーン | read/write many | 
| 基本 SSD | premium-rwx | 1 | 2.5 TiB~64 TiB | 2.5 TiB~64 TiB | 1 GiB | ゾーン | read/write many | 
| エンタープライズ | enterprise-rwx | 1 | 1 TiB~10 TiB | 1 TiB~10 TiB | 256 GiB | リージョン | read/write many | 
| マルチシェア機能を備えたエンタープライズ | enterprise-multishare-rwx | 最大で 80 | 10 GiB~1 TiB | それぞれ 1 TiB ~ 10 TiB のサイズの Filestore インスタンスのプール   | インスタンスあたり 256 GiB   | リージョン | read/write many | 
サービスティア オプションの詳細な比較については、サービスティアをご覧ください。
仕組み
GKE Filestore CSI ドライバ バージョン 1.27 と max-volume-size StorageClass パラメータを使用すると、最大共有サイズをより細かく設定できます。この値を参照して、ドライバはインスタンスで許可される共有の数を制限します。
この機能を実装するには、新しい StorageClass を作成し、構成ファイルにそのパラメータを追加して、最初の列に表示されている 4 つの許容値のいずれかを割り当てます。
| 最大ボリューム サイズ(共有サイズ) | インスタンスあたりの最大共有数 | 
|---|---|
| 128 GiB | 80 | 
| 256 GiB | 40 | 
| 512 GiB | 20 | 
| 1,024 GiB(1 TiB) | 10 | 
共有サイズを 128 GiB に制限する場合は、Key-Value ペア max-volume-size: "128Gi" を使用します。
max-volume-size パラメータに値が指定されていないか、パラメータが完全に省略されている場合、ドライバは共有ごとにデフォルト値の 1,024 GiB を割り当てます。これにより、実質的にインスタンスでの共有の最大数が 10 に設定されます。詳細な例については、マルチシェアの最適化をご覧ください。
下位互換性
最新のマルチシェア機能は、GKE Filestore CSI ドライバ バージョン 1.23(マルチシェア機能でリリースされた最初のバージョン)からバージョン 1.26 までを使用して作成されたインスタンスとの下位互換性をサポートしています。
- 既存のインスタンスでは、拡張された最小サイズの制約を持つ新しい PVC(共有)を作成できます。その結果共有サイズは、共有ごとに 10 GiB から 1,024 GiB(1 TiB)の範囲になりました。 
- GKE Filestore CSI ドライバ バージョン 1.27 では、レガシー エンタープライズ インスタンスが認識され、デフォルトの最大共有サイズの上限 1,024 GiB が割り当てられます。つまり、従来のインスタンスはインスタンスあたり 10 個以下の共有に制限されます。 
従来のインスタンスの例
たとえば、GKE Filestore CSI ドライバ バージョン 1.25 をインストールして、enterprise-multishare-rwx というラベルの付いた StorageClass を作成するとします。次に、F1 とラベル付けされた 1 TiB エンタープライズティア インスタンスをプロビジョニングし、単一の 100 GiB 共有にマッピングします。ドライバはこのリクエストの StorageClass に記述されたインスタンス仕様を参照します。
次に GKE Filestore CSI ドライバをバージョン 1.27 にアップグレードし、その後 10 個の新しい 10 GiB の共有をプロビジョニングします。
F1 の作成に使用された StorageClass 構成ファイルには max-volume-size パラメータが含まれていないため、ドライバはインスタンス F1 をレガシー インスタンスとして認識し、インスタンスにマッピングされているすべての新しい共有に 1,024 GiB のデフォルトの最大共有サイズを割り当てます。ドライバは、インスタンスを含む可能性のある将来のリクエストでこの値を参照します。新しい 10 GiB の最小共有サイズも使用できます。
10 個の 10 GiB PVC に対するプロビジョニング リクエストについては、9 個が F1 にマッピングされ、そして 2 番目のインスタンス F2 が作成されて最後の 10 GiB 共有がプロビジョニングされます。
ドライバは、まず最大許容共有サイズを認識し、次にその値を使用して Filestore インスタンスにマッピングできる最大共有数を決定します。インスタンスの最大共有数に達すると、プロビジョニング リクエストを満たすために、必要に応じて新しいインスタンスが作成されます。
モニタリング
インスタンスのパフォーマンスをモニタリングする方法については、インスタンスと割り当てのモニタリングをご覧ください。
機能の制限事項
次の制限が適用されます。
- Filestore マルチシェア機能は、Filestore エンタープライズ サービス ティアに限定されています。 
- GKE の StorageClass は不変です。最大共有サイズは慎重に選択する必要があります。 - Filestore インスタンスの最大共有サイズを変更する必要がある場合は、更新後のサイズで新しいカスタム StorageClass を作成し、新しいインスタンスを作成してから、データをコピーして移動する必要があります。 
- Filestore エンタープライズ インスタンスごとに、最大 80 個の共有または GKE PV をホストできます。PVC が 80 を超えると GKE Filestore CSI ドライバをトリガーしてより多くの Filestore インスタンスを作成し、インスタンス間でこれらの共有を動的に割り当てます。新しい Filestore の共有または PV の作成には、状況によっては余分な時間がかかる場合があります。アプリケーションで即時の PV プロビジョニングが必要な場合は、StorageClass YAML ファイルに次の仕様を含めます。 - volumeBindingMode: Immediate
- Filestore マルチシェアでは、まだスナップショットがサポートされていません。必要な場合は、単一共有の Filestore StorageClass を使用し、Filestore API を介して手動でスナップショットを作成できます。 
- Multishare インスタンスと関連する共有は、作成に数分かかることがあり、作成オペレーションが完了するまで表示されません。 
- PV 削除オペレーションの中には、完了までにかなり時間を要するものがあります。この間、同じ StorageClass で定義された PVC によって開始される PV 作成または PV 拡張オペレーションは、ブロックされる可能性があります。 
- GKE Filestore CSI ドライバは、Linux を使用するクラスタでサポートされています。 
- メタデータのオーバーヘッドが大きいワークロードが予想される場合は、アプリケーションの容量のニーズに対応できる最大共有サイズを設定することをおすすめします。 - たとえば、Filestore エンタープライズ マルチシェア インスタンスをプロビジョニングし、共有ごとの最大サイズを 256 GiB として、そのインスタンスの共有の上限を 40 に設定したとします。 - たとえば、インスタンスの共有で書き込みオペレーションが失敗し、Metrics Explorer でインスタンスの使用可能な空き容量の割合の指標を確認すると、インスタンスに十分な容量がないことがわかったとします。ワークロードのニーズに合わせて、大きな共有サイズ(たとえば 512 GiB)で新しいマルチシェア インスタンスを構成することをおすすめします。これにより、インスタンスで許可される共有が少なくなります(この例では 20)。 
- 共有サイズの最大値は、128 GiB、256 GiB、512 GiB、1,024 GiB(1 TiB)に制限されています。 
- サイズが 1 TiB の共有を必要とするワークロードの場合は、インスタンスごとに 1 つの共有を使用します。 
料金
課金が有効になると、基盤となる Filestore エンタープライズ サービス ティアに基づいて料金が発生します。複数の小さなボリューム間で共有容量を使用することで、ユーザーはストレージ コストを大幅に削減できます。
詳細については、エンタープライズ階層と容量の割り当てをご覧ください。
次のステップ
- GKE 向け Filestore マルチシェアでストレージを最適化する。
- GKE Filestore CSI ドライバを使用しする。
- 共有 VPC で GKE Filestore CSI ドライバを使用する。
- GKE StorageClass を作成する。