Todos os produtos
Search
Central de documentação

Container Compute Service:Usar volumes estáticos do CPFS

Última atualização: Aug 29, 2026

O cloud Parallel File Storage (CPFS) é um sistema de arquivos paralelos totalmente gerenciado para cenários de computação de alto desempenho (HPC) com suporte a expansão sob demanda. O CPFS permite acesso simultâneo de centenas a milhares de máquinas, oferecendo dezenas de GB de throughput, milhões de IOPS e latência sub-milissegundo. Monte um volume estático do CPFS em um pod do ACS para fornecer armazenamento compartilhado, persistente e de alto desempenho às suas aplicações.

Observações de uso

O CPFS for Lingjun (invitational preview) é ideal para cenários de computação de IA, como conteúdo gerado por IA (AIGC) e direção autônoma. Antes de montar um volume, atente-se aos seguintes pontos:

  • Preview por convite: O CPFS for Lingjun suporta redes Remote Direct Memory Access (RDMA) ponta a ponta. Esta edição está disponível apenas em regiões e zonas específicas.

  • Requisito de rede RDMA: Ao acessar o CPFS for Lingjun por uma rede RDMA, o pod e o sistema de arquivos devem estar na mesma hpn-zone.

  • Armazenamento compartilhado: É possível montar um único volume CPFS em vários pods.

  • Classes de computação compatíveis: O CPFS pode ser montado em pods do ACS de qualquer tipo de CPU, mas apenas em pods do ACS de modelos específicos de gpu. Para mais informações, abra um ticket.

Pré-requisitos

O add-on managed-csiprovisioner deve estar instalado no cluster ACS.

Acesse a página de gerenciamento de clusters do ACS no console do ACS. No painel de navegação à esquerda, clique em Components and Add-ons. Na aba Storage, verifique se o managed-csiprovisioner está instalado.

Criar um sistema de arquivos CPFS

CPFS for Lingjun

  1. Create a CPFS for Lingjun file system.

    Após criar o sistema de arquivos, anote o id do sistema de arquivos.

  2. (Opcional) Create a VPC mount target.

    Para pods que não suportam o protocolo RDMA, como pods de CPU e alguns pods de gpu, crie um destino de montagem VPC para acessar o CPFS pela VPC.

    Use a Virtual Private Cloud (VPC) e o vSwitch do cluster ACS para criar o destino de montagem VPC e gerar um endereço de montagem. Após a criação do destino de montagem, registre o nome de domínio correspondente. O nome de domínio segue o formato cpfs-***-vpc-***.<Region>.cpfs.aliyuncs.com.

    Na página de detalhes do sistema de arquivos, clique em Mounting no painel de navegação à esquerda. Na aba Mount Target, localize o destino de montagem VPC criado. Clique no ícone de visualizar detalhes à direita do endereço de montagem para obter o endereço completo e copiá-lo.

Montar um volume CPFS

Etapa 1: Criar um PV e um PVC

kubectl

  1. Salve o conteúdo yaml a seguir em um arquivo chamado cpfs-pv-pvc.yaml.

    Escolha também o yaml conforme a classe de computação dos pods a serem montados.

    CPFS for Lingjun

    Importante

    O CPFS for Lingjun só pode ser montado em pods de modelos específicos de gpu. Para os modelos de gpu que suportam o protocolo RDMA, consulte Supported GPU types.

    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:
          mountpointAutoSwitch: "true" # Enables automatic switchover between the RDMA mount address and the VPC mount address
          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
    • Parâmetros do PV:

      Parâmetro

      Descrição

      labels

      Define um rótulo para que o PVC possa usar o selector para corresponder e vincular o PV.

      accessModes

      Modo de acesso do PV.

      capacity.storage

      Capacidade declarada do volume.

      csi.driver

      Tipo de driver. Defina o valor como bmcpfsplugin.csi.alibabacloud.com.

      csi.volumeAttributes

      Atributos do volume CPFS. filesystemId: id do sistema de arquivos CPFS for Lingjun. path: o valor padrão / monta o diretório raiz do sistema de arquivos CPFS. Opcionalmente, especifique um subdiretório, como /dir. Se o subdiretório não existir, ele será criado automaticamente durante a montagem do volume.

      csi.volumeHandle

      id do sistema de arquivos CPFS for Lingjun.

    • Parâmetros do PVC:

      Parâmetro

      Descrição

      accessModes

      Modo de acesso solicitado pelo PVC ao PV.

      selector

      Corresponde e vincula o PV com base no rótulo definido no PV.

      resources.requests.storage

      Capacidade de armazenamento alocada ao pod. O valor não deve exceder a capacidade do PV.

  2. Crie o PV e o PVC.

    kubectl create -f cpfs-pv-pvc.yaml
  3. Verifique se o PVC está vinculado ao PV.

    kubectl get pvc cpfs-test

    A saída retornada será semelhante a esta:

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

Console

  1. Faça login no console do ACS.

  2. Na página Clusters, clique no nome do cluster para acessar a página de gerenciamento do cluster.

  3. No painel de navegação à esquerda da página de gerenciamento do cluster, escolha Volumes > Persistent Volume Claims.

  4. Na página Persistent Volume Claims, clique em Create.

  5. Na caixa de diálogo exibida, configure os parâmetros e clique em Create.

    A tabela a seguir descreve os parâmetros para criar um PV juntamente com um PVC. Alternativamente, crie primeiro o PV e depois o PVC.

    Nota

    Atualmente, o console não suporta a montagem do CPFS for Lingjun para aplicações de CPU por meio de um destino de montagem VPC.

    Parâmetro

    Descrição

    Exemplo

    PVC Type

    Selecione CPFS.

    CPFS

    Name

    Nome do PVC. Insira um nome personalizado. Para requisitos de formato, consulte as dicas na página.

    cpfs-test

    Allocation Mode

    Selecione Existing Volumes ou Create PV conforme sua necessidade.

    Create PV

    CPFS Type

    Escolha ou conforme sua necessidade. Selecione CPFS for LINGJUN.

    CPFS for LINGJUN

    Access Mode

    Tanto ReadWriteMany quanto ReadWriteOnce são compatíveis.

    ReadWriteMany

    Mount Target Domain Name:

    Se utilizar o CPFS de uso geral, especifique o diretório do sistema de arquivos CPFS que deseja montar. Caso insira apenas o endereço de montagem, como cpfs--.cn-wulanchabu.cpfs.aliyuncs.com, o diretório raiz (/) do sistema de arquivos CPFS será montado. Se inserir o endereço de montagem e um subdiretório, como cpfs--.cn-wulanchabu.cpfs.aliyuncs.com:/dir, o diretório /dir do sistema de arquivos CPFS será montado. Caso o diretório /dir não exista, ele será criado automaticamente.

    cpfs--.cn-wulanchabu.cpfs.aliyuncs.com

  6. Visualize o PVC e o PV criados.

    Nas páginas File System ID: e Persistent Volume Claims, o novo PVC e PV aparecerão. Verifique se estão vinculados.

Etapa 2: Criar uma aplicação e montar o CPFS

kubectl

  1. Salve o conteúdo yaml a seguir em um arquivo chamado cpfs-test.yaml.

    Aplicação gpu

    O exemplo yaml a seguir cria um Deployment contendo dois pods. Ambos os pods usam o rótulo alibabacloud.com/compute-class: gpu para declarar a necessidade de poder de computação gpu, solicitam recursos de armazenamento por meio do PVC chamado cpfs-test e montam o volume no caminho /data.

    Nota

    Para os modelos específicos de gpu, consulte Specify GPU models and driver versions for ACS GPU-accelerated pods.

    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
            # Specifies the GPU compute class
            alibabacloud.com/compute-class: gpu
            # Specifies the GPU model. Set this value based on your actual model, such as 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

    Aplicação CPU

    O exemplo yaml a seguir cria um Deployment contendo dois pods. Os pods solicitam recursos de armazenamento através do PVC chamado cpfs-test e montam o volume no caminho /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. Crie o Deployment e monte o CPFS.

    kubectl create -f cpfs-test.yaml
  3. Verifique o status dos pods no Deployment.

    kubectl get pod | grep cpfs-test

    A saída retornada será semelhante a esta. Dois pods foram criados.

    cpfs-test-****-***a   1/1     Running   0          45s
    cpfs-test-****-***b   1/1     Running   0          45s
  4. Visualize o caminho de montagem.

    O comando abaixo serve como exemplo. Ele lista o conteúdo do diretório de montagem do sistema de arquivos CPFS. Em um novo sistema de arquivos, o diretório está vazio por padrão, portanto nenhuma saída será retornada.

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

Console

  1. No painel de navegação à esquerda da página de gerenciamento do cluster, escolha Persistent Volumes > Workloads.

  2. Na página Deployments, clique em Deployments.

  3. Configure os parâmetros do Deployment e clique em Create from Image.

    As tabelas a seguir descrevem os parâmetros que exigem atenção. Utilize os valores padrão para os demais parâmetros. Para mais informações, consulte Create a stateless workload Deployment.

    Aplicação gpu

    Página de configuração

    Parâmetro

    Descrição

    Exemplo

    Create

    Basic Information

    Nome do Deployment. Insira um nome personalizado. Para requisitos de formato, consulte as dicas na página.

    cpfs-test

    Application Name

    Número de réplicas do Deployment.

    2

    Replicas:

    Selecione a classe de computação dos pods.

    Nota

    Para os modelos específicos de gpu, consulte Specify GPU models and driver versions for ACS GPU-accelerated pods.

    gpu, T4

    Instance Type

    Container

    Insira o endereço da imagem usada para implantar a aplicação.

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

    Image Name

    Defina os recursos necessários de gpu, vCPU e memória.

    gpu: 1. CPU: 2 vCPUs. Memória: 2 GiB.

    Required Resources

    Clique em Volume e configure os parâmetros. Add PVC: selecione o PVC criado. Mount Source: insira o caminho do contêiner onde deseja montar o sistema de arquivos CPFS.

    Container Path: pvc-cpfs. Mount Source: /data

    Aplicação CPU

    Página de configuração

    Parâmetro

    Descrição

    Exemplo

    Container Path

    Basic Information

    Nome do Deployment. Insira um nome personalizado. Para requisitos de formato, consulte as dicas na página.

    cpfs-test

    Application Name

    Número de réplicas do Deployment.

    2

    Replicas:

    Selecione a classe de computação dos pods.

    CPU, uso geral

    Instance Type

    Container

    Insira o endereço da imagem usada para implantar a aplicação.

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

    Image Name

    Defina os recursos necessários de vCPU e memória.

    CPU: 0,25 vCPUs. Memória: 0,5 GiB.

    Required Resources

    Clique em Volume e configure os parâmetros. Add PVC: selecione o PVC criado. Mount Source: insira o caminho do contêiner onde deseja montar o sistema de arquivos CPFS.

    Container Path: pvc-cpfs. Mount Source: /data

  4. Verifique o status da aplicação.

    1. Na página Container Path, clique no nome da aplicação.

    2. Na aba Deployments, confirme se os pods estão em execução. O status deve ser Running.

Verificar o armazenamento compartilhado e persistente do CPFS

O Deployment criado no exemplo anterior contém dois pods que montam o mesmo sistema de arquivos CPFS. Valide as capacidades de armazenamento das seguintes formas:

  • Crie um arquivo em um pod e visualize-o no outro pod para confirmar o armazenamento compartilhado.

  • Reinicie o Deployment e verifique se os dados do sistema de arquivos ainda existem nos novos pods para validar o armazenamento persistente.

  1. Visualize as informações dos pods.

    kubectl get pod | grep cpfs-test

    A saída retornada será semelhante a esta:

    cpfs-test-****-***a   1/1     Running   0          45s
    cpfs-test-****-***b   1/1     Running   0          45s
  2. Valide o armazenamento compartilhado.

  3. Crie um arquivo em um dos pods.

    O exemplo abaixo utiliza o pod chamado cpfs-test-****-***a:

    kubectl exec cpfs-test-****-***a -- touch /data/test.txt
  4. Visualize o arquivo no outro pod.

    O exemplo abaixo utiliza o pod chamado cpfs-test-****-***b:

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

    A saída retornada será semelhante a esta. O novo arquivo test.txt foi compartilhado.

    test.txt
  5. Valide o armazenamento persistente.

  6. Reinicie o Deployment para recriar seus pods.

    kubectl rollout restart deploy cpfs-test
  7. Visualize os pods e aguarde até que os novos pods sejam criados.

    kubectl get pod | grep cpfs-test

    A saída retornada será semelhante a esta:

    cpfs-test-****-***c   1/1     Running   0          78s
    cpfs-test-****-***d   1/1     Running   0          52s
  8. Verifique se os dados do sistema de arquivos ainda existem no novo pod.

    O exemplo abaixo utiliza o pod chamado cpfs-test-****-***c:

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

    A saída retornada será semelhante a esta. Os dados no sistema de arquivos CPFS permanecem intactos e disponíveis no diretório de montagem do novo pod.

    test.txt