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

Container Compute Service:CPFS 静的ボリュームの使用

最終更新日:Aug 30, 2026

クラウド並列ファイルストレージ (CPFS) は、ハイパフォーマンスコンピューティング (HPC) シナリオ向けのフルマネージド並列ファイルシステムで、オンデマンド拡張をサポートします。CPFS は、数百から数千台のマシンからの同時アクセスをサポートし、数十 GB のスループット、数百万の IOPS、およびミリ秒未満のレイテンシーを実現します。CPFS 静的ボリュームを ACS Pod にマウントすることで、アプリケーションに共有の永続的な高性能ストレージを提供できます。

注意事項

CPFS for Lingjun (招待制プレビュー) は、AI 生成コンテンツ (AIGC) や自動運転などの AI コンピューティングシナリオに適しています。ボリュームをマウントする前に、次の項目にご注意ください:

  • 招待制プレビュー: CPFS for Lingjun は、エンドツーエンドのリモートダイレクトメモリアクセス (RDMA) ネットワークをサポートしています。このエディションは、特定のリージョンとゾーンでのみ利用可能です。

  • RDMA ネットワーク要件: RDMA ネットワーク経由で CPFS for Lingjun にアクセスする場合、Pod とファイルシステムは同じ hpn-zone に存在する必要があります。

  • 共有ストレージ: 1 つの CPFS ボリュームを複数の Pod にマウントできます。

  • サポートされるコンピューティングクラス: CPFS は、任意の CPU タイプの ACS Pod にマウントできますが、特定の GPU モデルの ACS Pod にのみマウントできます。詳細については、チケットを送信してください。

前提条件

managed-csiprovisioner アドオンが ACS クラスターにインストールされていること。

ACS コンソールの ACS クラスター管理ページに移動します。左側メニューで、[Components and Add-ons] をクリックします。[Storage] タブで、managed-csiprovisioner がインストールされていることを確認します。

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

CPFS for Lingjun

  1. CPFS for Lingjun ファイルシステムを作成します。

    ファイルシステムを作成したら、ファイルシステム ID を記録します。

  2. (オプション) VPC マウントターゲットを作成します。

    CPU Pod や一部の GPU Pod など、RDMA プロトコルをサポートしていない Pod では、VPC マウントターゲットを作成して VPC 経由で CPFS にアクセスします。

    ACS クラスターの Virtual Private Cloud (VPC) と vSwitch を使用して VPC マウントターゲットを作成し、マウントアドレスを生成します。マウントターゲットを作成したら、マウントターゲットドメイン名を記録します。ドメイン名は cpfs-***-vpc-***.<Region>.cpfs.aliyuncs.com という形式です。

    ファイルシステムの詳細ページで、左側メニューの [Mounting] をクリックします。[Mount Target] タブで、作成した VPC マウントターゲットを見つけます。マウントアドレスの右側にある詳細表示アイコンをクリックして、完全なマウントアドレスを取得し、コピーします。

CPFS ボリュームのマウント

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

kubectl

  1. 次の YAML コンテンツを cpfs-pv-pvc.yaml という名前のファイルに保存します。

    また、マウントする Pod のコンピューティングクラスに基づいて YAML を選択します。

    CPFS for Lingjun
    重要

    CPFS for Lingjun は、特定の GPU モデルの Pod にのみマウントできます。RDMA プロトコルをサポートする GPU モデルについては、「サポートされる GPU タイプ」をご参照ください。

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: cpfs-test
      labels:
        alicloud-pvname: cpfs-test
    spec:
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 10Ti
      csi:
        driver: bmcpfsplugin.csi.alibabacloud.com
        volumeAttributes:
          # RDMA マウントアドレスと VPC マウントアドレス間の自動切り替えを有効にします
          mountpointAutoSwitch: "true" 
          vpcMountTarget: cpfs-***-vpc-***.<Region>.cpfs.aliyuncs.com
          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 を使用して PV を照合し、バインドするためのラベルを設定します。

      accessModes

      PV のアクセスモード。

      capacity.storage

      ボリュームの容量。

      csi.driver

      ドライバーの種類。値を bmcpfsplugin.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 のラベルに基づいて 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 for Lingjun を選択します。

    [CPFS for Lingjun]

    [アクセスモード]

    ReadWriteMany と ReadWriteOnce の両方がサポートされています。

    ReadWriteMany

    [マウントポイントドメイン名:]

    汎用 CPFS を使用する場合、マウントする CPFS ファイルシステムディレクトリを指定します。 cpfs-***-***.cn-wulanchabu.cpfs.aliyuncs.com のようなマウントアドレスのみを入力した場合、CPFS ファイルシステムのルートディレクトリ (/) がマウントされます。 cpfs-***-***.cn-wulanchabu.cpfs.aliyuncs.com:/dir のようにマウントアドレスとサブディレクトリを入力した場合、CPFS ファイルシステムの /dir ディレクトリがマウントされます。 /dir ディレクトリが存在しない場合は、自動的に作成されます。

    cpfs-***-vpc-***.cn-wulanchabu.cpfs.aliyuncs.com

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

    ボリュームクレーム ページと ボリューム ページに、新しい PVC と PV が表示されます。それらがバインドされていることを確認します。

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

kubectl

  1. 次の YAML コンテンツを cpfs-test.yaml という名前のファイルに保存します。

    GPU アプリケーション

    次の YAML の例では、2 つの Pod を含む Deployment を作成します。両方の 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 を含む Deployment を作成します。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. Deployment を作成し、CPFS をマウントします。

    kubectl create -f cpfs-test.yaml
  3. Deployment 内の 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 ファイルシステムのマウントディレクトリの内容を一覧表示します。新しいファイルシステムの場合、ディレクトリはデフォルトで空であり、出力は返されません。

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

コンソール

  1. クラスター管理ページの左側メニューで、ワークロード > 展開 を選択します。

  2. 展開 ページで、イメージによる作成 をクリックします。

  3. Deployment パラメーターを設定し、作成する をクリックします。

    次の表では、注意が必要なパラメーターについて説明します。他のパラメーターにはデフォルト値を使用します。詳細については、「ステートレスワークロード Deployment の作成」をご参照ください。

    GPU アプリケーション

    設定ページ

    パラメーター

    説明

    例

    [基本情報]

    [名前]

    Deployment の名前。任意の名前を入力します。形式の要件については、ページ上のヒントをご参照ください。

    cpfs-test

    [Replicas:]

    Deployment のレプリカ数。

    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 アプリケーション

    設定ページ

    パラメーター

    説明

    例

    [基本情報]

    [名前]

    Deployment の名前。任意の名前を入力します。形式の要件については、ページ上のヒントをご参照ください。

    cpfs-test

    [Replicas:]

    Deployment のレプリカ数。

    2

    [インスタンスタイプ]

    Pod のコンピューティングクラスを選択します。

    CPU, general-purpose

    [コンテナー]

    [イメージ名]

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

    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 のステータスが Running であることを確認します。

CPFS の共有ストレージと永続ストレージの検証

前の例で作成した Deployment には、同じ CPFS ファイルシステムをマウントする 2 つの Pod が含まれています。次の方法でストレージ機能を検証します:

  • 一方の Pod でファイルを作成し、もう一方の Pod でそのファイルを表示して、共有ストレージを検証します。

  • Deployment を再起動し、ファイルシステム内のデータが新しい 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. 共有ストレージを検証します。

  3. 一方の Pod でファイルを作成します。

    次の例では、cpfs-test-****-***a という名前の Pod を使用します:

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

    次の例では、cpfs-test-****-***b という名前の Pod を使用します:

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

    次の出力が返されます。新しいファイル test.txt が共有されていることがわかります。

    test.txt
  5. 永続ストレージを検証します。

  6. Deployment をロールアウト再起動して、その Pod を再作成します。

    kubectl rollout restart deploy cpfs-test
  7. Pod を表示し、新しい Pod が作成されるまで待ちます。

    kubectl get pod | grep cpfs-test

    次の出力が返されます:

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

    次の例では、cpfs-test-****-***c という名前の Pod を使用します:

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

    次の出力が返されます。CPFS ファイルシステム内のデータはまだ存在し、新しい Pod のマウントディレクトリで利用可能です。

    test.txt