すべてのプロダクト
Search
ドキュメントセンター

Container Compute Service:静的にプロビジョニングされた CPFS ボリュームのマウント

最終更新日:Nov 09, 2025

Cloud Parallel File Storage (CPFS) は、Alibaba Cloud が提供するフルマネージドで拡張可能な並列ファイルシステムであり、ハイパフォーマンスコンピューティングシナリオの要件を満たします。CPFS は、数千台のサーバーからの同時アクセスを可能にします。サブミリ秒という非常に低いレイテンシーで、数十 GB/s のスループットと数百万の IOPS (input/output operations per second) を提供します。このトピックでは、静的にプロビジョニングされた CPFS ボリュームをアプリケーションにマウントする方法と、ボリュームを使用してデータを共有および永続化できることを確認する方法について説明します。

概要

CPFS for LINGJUN (招待プレビュー) は、AIGC や自動運転などのインテリジェントコンピューティングシナリオに適しています。マウントする前に、次の項目に注意してください。

  • CPFS for LINGJUN は、エンドツーエンドの RDMA ネットワークをサポートしており、現在招待プレビュー中です。特定のリージョンとゾーンのみが CPFS for LINGJUN をサポートしています。

  • RDMA ネットワーク経由で CPFS for LINGJUN にアクセスする場合、Pod の hpn-zone は CPFS for LINGJUN の hpn-zone と同じである必要があります。

  • CPFS は共有ストレージファイルシステムです。CPFS ボリュームを複数の Pod にマウントできます。

  • CPFS ボリュームは、任意の CPU アクセラレーション ACS Pod にマウントできます。ただし、特定の GPU モデルを搭載した ACS Pod のみが CPFS ボリュームをサポートします。詳細については、チケットを送信してください。

前提条件

ACS クラスターに managed-csiprovisioner コンポーネントがインストールされていること。

説明

ACS コンソールで ACS クラスター管理ページに移動します。クラスター管理ページの左側のナビゲーションウィンドウで、[運用] > [アドオン] を選択します。[ストレージ] タブで、managed-csiprovisioner がインストールされているかどうかを確認できます。

CPFS ファイルシステムの作成

CPFS インテリジェントコンピューティングエディション

  1. CPFS for LINGJUN ファイルシステムを作成する

    ファイルシステム ID を記録します。

  2. (オプション) VPC マウントポイントを作成する

    • RDMA プロトコルをサポートしない Pod (CPU Pod や一部の GPU Pod など) の場合、VPC ネットワーク経由で CPFS にアクセスするために VPC マウントポイントを作成する必要があります。

    ACS クラスターの VPC と vSwitch を使用して VPC マウントポイントを作成し、マウントアドレスを生成します。マウントポイントのドメイン名を cpfs-***-vpc-***.<Region>.cpfs.aliyuncs.com の形式で記録します。

    CPFS-VPC挂载点

CPFS ボリュームのマウント

ステップ 1: PV と PVC の作成

kubectl

  1. 次の YAML コンテンツを cpfs-pv-pvc.yaml として保存します。

    使用する マウント先の Pod のコンピューティングタイプに基づいて、対応する YAML を選択します。

    CPFS for LINGJUN (RDMA ネットワーク)

    重要

    特定の GPU モデルを搭載した Pod のみがサポートされます。RDMA プロトコルをサポートする GPU モデルの詳細については、「ACS でサポートされている GPU モデル」をご参照ください。

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: cpfs-test
      labels:
        alicloud-pvname: cpfs-test
    spec:
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 10Ti
      csi:
        driver: povplugin.csi.alibabacloud.com
        volumeAttributes:
          filesystemId: bmcpfs-*****
          path: /
        volumeHandle: bmcpfs-*****
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: cpfs-test
    spec:
      accessModes:
      - ReadWriteMany
      selector:
        matchLabels:
          alicloud-pvname: cpfs-test
      resources:
        requests:
          storage: 10Ti
    • PV パラメーター

      パラメーター

      説明

      labels

      PVC が selector を使用して照合およびバインドできるようにラベルを設定します。

      accessModes

      PV のアクセスモード。

      capacity.storage

      宣言されたボリューム容量。

      csi.driver

      ドライバーのタイプ。povplugin.csi.alibabacloud.com に設定します。

      csi.volumeAttributes

      CPFS ボリュームの属性。

      • filesystemId: CPFS for LINGJUN ファイルシステム ID。

      • path: デフォルトは / で、CPFS ファイルシステムのルートディレクトリを示します。サブディレクトリ (例: /dir) に設定することもできます。サブディレクトリが存在しない場合、ボリュームのマウント時に自動的に作成されます。

      csi.volumeHandle

      CPFS for LINGJUN ファイルシステム ID。

    • PVC パラメーター

      パラメーター

      説明

      accessModes

      PVC が PV に要求するアクセスモード。

      selector

      PV のラベルを使用して照合およびバインドします。

      resources.requests.storage

      Pod に割り当てられるストレージ容量。PV 容量を超えてはなりません。

    CPFS for LINGJUN (VPC ネットワーク)

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: cpfs-test
      labels:
        alicloud-pvname: cpfs-test
    spec:
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 10Ti
      csi:
        driver: nasplugin.csi.alibabacloud.com
        volumeAttributes:
          mountProtocol: efc
          server: cpfs-***-vpc-***.cn-wulanchabu.cpfs.aliyuncs.com
          path: /
        volumeHandle: bmcpfs-*****
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: cpfs-test
    spec:
      accessModes:
      - ReadWriteMany
      selector:
        matchLabels:
          alicloud-pvname: cpfs-test
      resources:
        requests:
          storage: 10Ti
    • PV パラメーター

      パラメーター

      説明

      labels

      PVC が selector を使用して照合およびバインドできるようにラベルを設定します。

      accessModes

      アクセスモード。

      capacity.storage

      宣言されたボリューム容量。

      csi.driver

      ドライバーのタイプ。povplugin.csi.alibabacloud.com に設定します。

      csi.volumeAttributes

      CPFS ボリュームの属性。

      • mountProtocol: マウントプロトコル。efc に設定します。

      • server: CPFS ファイルシステムの VPC マウントポイントのドメイン名。

      • path: デフォルトは / で、CPFS ファイルシステムのルートディレクトリを示します。サブディレクトリ (例: /dir) に設定することもできます。

      csi.volumeHandle

      CPFS for LINGJUN ファイルシステム ID。

    • PVC パラメーター

      パラメーター

      説明

      accessModes

      PVC が PV に要求するアクセスモード。

      selector

      PV のラベルを使用して照合およびバインドします。

      resources.requests.storage

      Pod に割り当てられるストレージ容量。PV 容量を超えてはなりません。

  2. PV と PVC を作成します。

    kubectl create -f cpfs-pv-pvc.yaml
  3. PVC が PV にバインドされていることを確認します。

    kubectl get pvc cpfs-test

    期待される出力:

    NAME        STATUS   VOLUME           CAPACITY   ACCESS MODES   STORAGECLASS    VOLUMEATTRIBUTESCLASS   AGE
    cpfs-test   Bound    cpfs-test        10Ti       RWX            <unset>         <unset>                 10s

コンソール

  1. ACS コンソールにログインします。

  2. [クラスター] で、クラスターの名前をクリックしてクラスター管理ページに移動します。

  3. クラスター管理ページの左側のナビゲーションウィンドウで、[ボリューム] > [永続ボリューム要求] を選択します。

  4. [永続ボリューム要求] ページで、[作成] をクリックします。

  5. 表示されるダイアログボックスでパラメーターを設定し、[作成] をクリックします。

    次のパラメーターは、PVC と PV を同時に作成するように設定されています。PV を最初に作成してから PVC を作成することもできます。

    説明

    コンソールを使用する場合、VPC マウントポイントを介して CPFS for LINGJUN を CPU アプリケーションにマウントすることは現在サポートされていません。

    パラメーター

    説明

    ストレージ要求タイプ

    [CPFS] を選択します。

    CPFS

    名前

    PVC のカスタム名を入力します。名前は、インターフェイスに表示されるフォーマット要件に従う必要があります。

    cpfs-test

    割り当てモード

    必要に応じて [既存ボリューム] または [ボリュームの作成] を選択します。

    [ボリュームの作成]

    CPFS タイプ

    [CPFS AI コンピューティングエディション] を選択します。

    CPFS AI コンピューティングエディション

    アクセスモード

    [ReadWriteMany][ReadWriteOnce] をサポートします。

    [ReadWriteMany]

    ファイルシステム ID

    マウントする CPFS for AI Computing ファイルシステムの ID を指定します。

    bmcpfs-0115******13q5

  6. 作成された PVC と PV を表示します。

    [永続ボリューム要求] ページと [永続ボリューム] ページで、新しく作成された PVC と PV を確認し、それらが相互にバインドされていることを確認できます。

ステップ 2: アプリケーションを作成し、CPFS ボリュームをマウントする

kubectl

  1. 次の YAML コンテンツを使用して、cpfs-test.yaml という名前のファイルを作成します。

    GPU アクセラレーションアプリケーション

    次の YAML の例では、2 つの Pod で構成されるデプロイメントを作成します。両方の Pod は、alibabacloud.com/compute-class: gpu ラベルを介して GPU 計算能力を使用することを宣言し、cpfs-test という名前の PVC を介してストレージリソースを要求します。両方のマウントパスは /data です。

    説明

    特定の GPU モデルの詳細については、「ACS GPU アクセラレーション Pod の GPU モデルとドライバーバージョンを指定する」をご参照ください。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: cpfs-test
      labels:
        app: cpfs-test
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: cpfs-test
      template:
        metadata:
          labels:
            app: cpfs-test
            # コンピューティングクラスを GPU に設定
            alibabacloud.com/compute-class: gpu
            # GPU モデルを指定します。必要に応じて T4 などを入力します
            alibabacloud.com/gpu-model-series: T4
            alibabacloud.com/compute-qos: default
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80
            volumeMounts:
              - name: pvc-cpfs
                mountPath: /data
          volumes:
            - name: pvc-cpfs
              persistentVolumeClaim:
                claimName: cpfs-test

    CPU アクセラレーションアプリケーション

    次の YAML の例では、2 つの Pod で構成されるデプロイメントを作成します。cpfs-test という名前の PVC を介してストレージリソースを要求します。両方のマウントパスは /data です。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: cpfs-test
      labels:
        app: cpfs-test
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: cpfs-test
      template:
        metadata:
          labels:
            app: cpfs-test
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80
            volumeMounts:
              - name: pvc-cpfs
                mountPath: /data
          volumes:
            - name: pvc-cpfs
              persistentVolumeClaim:
                claimName: cpfs-test
  2. デプロイメントを作成し、CPFS ボリュームをマウントします。

    kubectl create -f cpfs-test.yaml
  3. デプロイメント内の Pod のデプロイメントステータスを表示します。

    kubectl get pod | grep cpfs-test

    期待される出力は、2 つの Pod が作成されたことを示しています。

    cpfs-test-****-***a   1/1     Running   0          45s
    cpfs-test-****-***b   1/1     Running   0          45s
  4. マウントパスを表示します。

    以下のコマンド例は、CPFS for LINGJUN ファイルシステムのマウントされたディレクトリ内のデータを返すことが期待されます。デフォルトでは空です。

    kubectl exec cpfs-test-****-***a -- ls /data

コンソール

  1. クラスター管理ページの左側のナビゲーションウィンドウで、[ワークロード] > [デプロイメント] を選択します。

  2. [デプロイメント] ページで、[イメージから作成] をクリックします。

  3. デプロイメントパラメーターを設定し、[作成] をクリックします。

    次のパラメーターに注意してください。他のパラメーターはデフォルト設定のままにします。詳細については、「デプロイメントを使用してステートレスアプリケーションを作成する」をご参照ください。

    GPU アクセラレーションアプリケーション

    設定ページ

    パラメーター

    説明

    基本情報

    名前

    デプロイメントの名前。カスタム名を入力します。名前は、インターフェイスに表示されるフォーマット要件に従う必要があります。

    cpfs-test

    レプリカ

    デプロイメントのレプリカ数を設定します。

    2

    タイプ

    Pod のコンピューティングタイプを選択します。

    説明

    特定の GPU モデルの詳細については、「ACS GPU アクセラレーション Pod の GPU モデルとドライバーバージョンを指定する」をご参照ください。

    GPU, T4

    コンテナー

    イメージ名

    アプリケーションのデプロイに使用するイメージアドレスを入力します。

    registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest

    必須リソース

    必要な GPU、vCPU、およびメモリリソースを設定します。

    • GPU: 1

    • CPU: 2 vCPU

    • メモリ: 2 GiB

    ボリューム

    [PVC の追加] をクリックし、パラメーターを設定します。

    • マウントソース: 先ほど作成した PVC を選択します。

    • コンテナーパス: CPFS ファイルシステムがマウントされるコンテナーパスを入力します。

    • マウントソース: pvc-cpfs

    • コンテナーパス: /data

    CPU アクセラレーションアプリケーション

    設定ページ

    パラメーター

    説明

    基本情報

    アプリケーション名

    デプロイメントの名前。カスタム名を入力します。名前は、インターフェイスに表示されるフォーマット要件に従う必要があります。

    cpfs-test

    レプリカ

    デプロイメントのレプリカ数を設定します。

    2

    タイプ

    Pod のコンピューティングタイプを選択します。

    CPU, 汎用

    コンテナー

    イメージ名

    アプリケーションのデプロイに使用するイメージアドレスを入力します。

    registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest

    必須リソース

    必要な vCPU とメモリリソースを設定します。

    • CPU: 0.25 vCPU

    • メモリ: 0.5 GiB

    ボリューム

    [PVC の追加] をクリックし、パラメーターを設定します。

    • マウントソース: 先ほど作成した PVC を選択します。

    • コンテナーパス: CPFS ファイルシステムがマウントされるコンテナーパスを入力します。

    • マウントソース: pvc-cpfs

    • コンテナーパス: /data

  4. アプリケーションのデプロイメントステータスを表示します。

    1. [デプロイメント] ページで、アプリケーション名をクリックします。

    2. [Pod] タブで、Pod が正常に実行されていること (ステータスが [実行中]) を確認します。

共有ストレージと永続ストレージの確認

上記の例に従って作成されたデプロイメントには 2 つの Pod が含まれており、どちらも同じ CPFS ファイルシステムをマウントします。次の方法でこれを確認できます。

  • 1 つの Pod にファイルを作成し、もう 1 つの Pod でそのファイルを表示して、共有ストレージを確認します。

  • デプロイメントを再作成し、新しく作成された Pod にファイルシステム内のデータがまだ存在するかどうかを確認して、永続ストレージを確認します。

  1. Pod 情報を表示します。

    kubectl get pod | grep cpfs-test

    期待される出力:

    cpfs-test-****-***a   1/1     Running   0          45s
    cpfs-test-****-***b   1/1     Running   0          45s
  2. 共有ストレージを確認します。

    1. 1 つの Pod にファイルを作成します。

      cpfs-test-****-***a という名前の Pod を例として使用します。

      kubectl exec cpfs-test-****-***a -- touch /data/test.txt
    2. もう 1 つの Pod でファイルを表示します。

      cpfs-test-****-***b という名前の Pod を例として使用します。

      kubectl exec cpfs-test-****-***b -- ls /data

      期待される出力は次のとおりで、新しく作成されたファイル test.txt が共有されていることを示しています。

      test.txt
  3. 永続ストレージを確認します。

    1. デプロイメントを再作成します。

      kubectl rollout restart deploy cpfs-test
    2. Pod を表示し、新しい Pod が正常に作成されるのを待ちます。

      kubectl get pod | grep cpfs-test

      期待される出力:

      cpfs-test-****-***c   1/1     Running   0          78s
      cpfs-test-****-***d   1/1     Running   0          52s
    3. ファイルシステム内のデータが新しい Pod にまだ存在するかどうかを確認します。

      cpfs-test-c*** という名前の Pod を例として使用します。

      kubectl exec cpfs-test-****-***c -- ls /data

      期待される出力は次のとおりで、CPFS ファイルシステム内のデータがまだ存在し、新しい Pod のマウントディレクトリから取得できることを示しています。

      test.txt