Tüm Ürünler
Search
Belge Merkezi

Cloud Parallel File Storage:ACS üzerinde Lingjun için CPFS dosya sistemi bağlama

Son Güncelleme:Oct 13, 2026

Container Compute Service (ACS), Lingjun için bir CPFS dosya sisteminin bağlanmasını destekler. Birden çok pod aynı anda bu dosya sistemini bağlayarak verileri paylaşabilir.

Önkoşullar

  • Bir ACS kümesi oluşturdunuz.

    ACS için CSI bileşenleri (bmcpfs-csi-controller, bmcpfs-csi-node ve cnfs-nas-daemon) ACS platformu tarafından yönetilir. Bileşen sürümlerini veya yükseltmelerini yönetmenize gerek yoktur.
  • Lingjun için bir CPFS dosya sistemi oluşturup dosya sistemi kimliğini kaydettiniz. Daha fazla bilgi için bkz. Lingjun için CPFS dosya sistemi oluşturma.

  • Bir pod, RDMA'yı desteklemeyen bir düğüme zamanlanırsa veya senaryo hesaplama-depolama yakınlık alanlarını aşıyorsa önceden bir VPC bağlantı noktası oluşturmanız ve bağlantı noktası etki alanı adını (cpfs-***-vpc-***.<Region>.cpfs.aliyuncs.com biçiminde) kaydetmeniz gerekir. VPC bağlantı noktasının ait olduğu VPC, ACS kümesiyle aynı VPC olmalıdır. Daha fazla bilgi için bkz. VPC bağlantı noktalarını yönetme.

1. Adım: PV ve PVC oluşturma

Pod türünüzü temel alarak uygun şablonu seçin:

  • Aynı hesaplama-depolama yakınlık alanındaki Lingjun GPU podları: "Yöntem A: RDMA"yi kullanın.

  • CPU podları veya hesaplama-depolama yakınlık alanları arasında Lingjun erişimi: "Yöntem B: VPC bağlantı noktası"nı kullanın.

Bir ACS Lingjun podu, CPFS ile aynı hesaplama-depolama yakınlık alanında olduğunda en iyi performans için VSC + RDMA doğrudan bağlama yoluyla dosya sistemine erişir. CPU podları veya hesaplama-depolama yakınlık alanları arasında Lingjun erişimi için erişim bir VPC bağlantı noktası üzerinden gerçekleşir. Hesaplama-depolama yakınlık alanlarının kavramı ve belirlenme yöntemi için bkz. Bağlama erişimine genel bakış .

RDMA ağı

kubectl CLI

  1. PV ve PVC'yi tanımlamak için cpfs-pv-pvc.yaml adlı bir dosya oluşturun:

    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

    Parametre açıklaması:

    • PV parametreleri:


      Parametre


      Açıklama


      labels


      PVC'nin PV'yi eşleştirmek ve bağlamak için selector kullanabilmesi amacıyla bir etiket ayarlar.


      accessModes


      PV'nin erişim modu.


      capacity.storage


      Birim için bildirilen kapasite.


      csi.driver


      Sürücü türü. Değeri bmcpfsplugin.csi.alibabacloud.com olarak ayarlayın.


      csi.volumeAttributes


      CPFS biriminin nitelikleri. filesystemId: Lingjun için CPFS dosya sisteminin kimliği. path: Varsayılan değer /, CPFS dosya sisteminin kök dizinini bağlar. İsteğe bağlı olarak /dir gibi bir alt dizin belirtin. Alt dizin yoksa birim bağlandığında otomatik olarak oluşturulur.


      csi.volumeHandle


      Lingjun için CPFS dosya sisteminin kimliği.

    • PVC parametreleri:


      Parametre


      Açıklama


      accessModes


      PVC'nin PV'den istediği erişim modu.


      selector


      PV üzerindeki etikete göre PV'yi eşleştirir ve bağlar.


      resources.requests.storage


      Pod'a ayrılan depolama kapasitesi. Değer, PV'nin kapasitesini aşmamalıdır.

  2. Oluşturma komutunu çalıştırın:

    kubectl create -f cpfs-pv-pvc.yaml
  3. PVC'nin PV'ye bağlı olduğunu doğrulayın.

    kubectl get pvc cpfs-test

    Örnek çıktı (Bound durumundaki STATUS, başarıyı gösterir):

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

Konsol

  1. ACS konsoluna giriş yapın.

  2. Clusters sayfasında hedef kümenin adına tıklayarak yönetim sayfasına gidin.

  3. Sol gezinme bölmesinde Storage > PersistentVolumeClaims seçeneklerini belirleyin, Create seçeneğine tıklayın ve aşağıdaki yapılandırmayı tamamlayın:


    Parametre


    Açıklama


    Örnek


    PVC Type


    CPFS seçeneğini belirleyin.


    CPFS


    Name


    PVC için özel bir ad. Adlandırma gereksinimleri için ekrandaki ipuçlarına bakın.


    cpfs-pvc


    Allocation Mode


    Gereksinime göre Existing Volume veya Create Volume seçeneğini belirleyin.


    Create Volume


    CPFS Type


    CPFS for Lingjun seçeneğini belirleyin.


    CPFS for Lingjun


    Access Mode


    ReadWriteMany ve ReadWriteOnce desteklenir.


    ReadWriteMany


    File System ID


    Bağlanacak Lingjun için CPFS dosya sisteminin kimliğini yapılandırın.


    bmcpfs-011513q5

  4. Oluşturulan PV ve PVC'yi görüntüleyin.

    PersistentVolumeClaims sayfasında ve Volumes sayfasında yeni oluşturulan PV ve PVC'yi görebilirsiniz. Bunların bağlı olduğunu doğrulayın.

VPC ağı

CPU podları, standart GPU'lar (T4 veya A10 gibi) ve hesaplama-depolama yakınlık alanları arasında Lingjun GPU erişimi için geçerlidir.

  1. PV ve PVC'yi tanımlamak için cpfs-pv-pvc.yaml adlı bir dosya oluşturun:

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: cpfs-test
      labels:
        alicloud-pvname: cpfs-test   # [PV label] Used by the PVC to bind to this PV
    spec:
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 10Ti
      csi:
        driver: nasplugin.csi.alibabacloud.com
        volumeAttributes:
          mountProtocol: efc
          server: cpfs-***-vpc-***.cn-wulanchabu.cpfs.aliyuncs.com  # Replace with your VPC mount point domain name
          path: /
          autoSwitch: "true"    # Optional. Enables automatic VSC/VPC switching (recommended for Lingjun cross-AZ scenarios)
        volumeHandle: bmcpfs-*****   # Replace with your CPFS for Lingjun file system ID
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: cpfs-test      # [PVC name] Referenced by the Deployment
    spec:
      accessModes:
      - ReadWriteMany
      selector:
        matchLabels:
          alicloud-pvname: cpfs-test    # [PVC selector] Must match the PV label
      resources:
        requests:
          storage: 10Ti

    Parametre açıklaması:

    • PV parametreleri:


      Parametre


      Açıklama


      labels


      PVC'nin PV'yi eşleştirmek ve bağlamak için selector kullanabilmesi amacıyla bir etiket ayarlar.


      accessModes


      PV'nin erişim modu.


      capacity.storage


      Birim için bildirilen kapasite.


      csi.driver


      Sürücü türü. Değeri bmcpfsplugin.csi.alibabacloud.com olarak ayarlayın.


      csi.volumeAttributes


      CPFS biriminin nitelikleri. filesystemId: Lingjun için CPFS dosya sisteminin kimliği. path: Varsayılan değer /, CPFS dosya sisteminin kök dizinini bağlar. İsteğe bağlı olarak /dir gibi bir alt dizin belirtin. Alt dizin yoksa birim bağlandığında otomatik olarak oluşturulur.


      csi.volumeHandle


      Lingjun için CPFS dosya sisteminin kimliği.

    • PVC parametreleri:


      Parametre


      Açıklama


      accessModes


      PVC'nin PV'den istediği erişim modu.


      selector


      PV üzerindeki etikete göre PV'yi eşleştirir ve bağlar.


      resources.requests.storage


      Pod'a ayrılan depolama kapasitesi. Değer, PV'nin kapasitesini aşmamalıdır.

    • autoSwitch: İsteğe bağlı bir parametredir. "true" olarak ayarlandığında otomatik VSC/VPC geçişini etkinleştirir. Lingjun GPU'ları kullanılabilirlik alanları arasında eriştiğinde sistem RDMA'den VPC kanalına otomatik olarak geçer.

    Not

    VPC kanalının aktarım hızı ağ bant genişliğiyle sınırlıdır ve yaklaşık 3,2 GB/s (25 Gbps) seviyesindedir; bu da doğrudan RDMA bağlantısından daha düşüktür. Performans odaklı senaryolar için aynı hesaplama-depolama yakınlık alanındaki bir CPFS örneğine öncelik vermenizi öneririz.

  2. Oluşturma komutunu çalıştırın:

    kubectl create -f cpfs-pv-pvc.yaml
  3. PVC'nin PV'ye bağlı olduğunu doğrulayın.

    kubectl get pvc cpfs-test

    Örnek çıktı (Bound durumundaki STATUS, başarıyı gösterir):

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

2. Adım: Uygulama oluşturma ve CPFS bağlama

Depolamayı konteynerdeki belirli bir dizine bağlamak için PVC'ye başvuran bir Dağıtım oluşturun. Tercihinize göre CLI veya konsol yöntemini seçin.

kubectl

  1. Aşağıdaki içeriğe sahip cpfs-test.yaml adlı bir dosya oluşturun.

    GPU uygulaması

    Aşağıdaki YAML örneği iki Pod içeren bir Dağıtım oluşturur. Her iki Pod da GPU tabanlı hesaplama gücü istemek için alibabacloud.com/compute-class: gpu etiketini ve depolama kaynakları istemek için cpfs-test adlı bir Kalıcı Birim Talebi (PVC) kullanır. Her iki Pod için de bağlama yolu /data olarak ayarlanır.

    Not

    Belirli GPU modelleri hakkında daha fazla bilgi için bkz. ACS GPU Podları için GPU modellerini ve sürücü sürümlerini belirtme.

    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
            # Specify the compute type as GPU.
            alibabacloud.com/compute-class: gpu
            # Specify the GPU model, for example, 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 uygulaması

    Aşağıdaki YAML örneği, cpfs-test adlı bir PVC kullanarak depolama kaynakları isteyen ve her ikisi de /data yoluna bağlanan 2 pod içeren bir Dağıtım oluşturur.

    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. Dağıtımı oluşturun ve CPFS birimini bağlayın.

    kubectl create -f cpfs-test.yaml
  3. Dağıtımdaki Pod'ların durumunu kontrol edin.

    kubectl get pod | grep cpfs-test

    Beklenen çıktıda iki Pod'un 'Running' durumunda olduğu gösterilir.

    cpfs-test-****-***a   1/1     Running   0          45s
    cpfs-test-****-***b   1/1     Running   0          45s
  4. Bağlama yolunu kontrol edin.

    Bu komut, bağlı dizinin (/data) içeriğini listeler; dizin varsayılan olarak boştur ve Lingjun için CPFS dosya sisteminden gelen verileri içerir.

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

Konsol

  1. Küme yönetim sayfasının sol gezinme bölmesinde Workloads > Deployments seçeneklerini belirleyin.

  2. Deployments sayfasında Create from Image seçeneğine tıklayın.

  3. Dağıtım için parametreleri yapılandırın ve Create seçeneğine tıklayın.

    Temel parametreler aşağıda açıklanmıştır. Diğer parametreler için varsayılan değerleri koruyabilirsiniz. Daha fazla bilgi için bkz. Dağıtım kullanarak durum bilgisi olmayan uygulama oluşturma.

    GPU uygulaması

    Bölüm

    Parametre

    Açıklama

    Örnek

    Basic Information

    Application Name

    Dağıtım için benzersiz bir ad girin. Ad, sayfada gösterilen biçim gereksinimlerine uygun olmalıdır.

    cpfs-test

    Replicas:

    Dağıtım için Pod çoğaltma sayısı.

    2

    Instance Type

    Pod'lar için CPU veya belirli bir GPU modeli gibi donanım kaynaklarını belirtir.

    GPU, T4

    Container

    Image Name

    Uygulamayı dağıtmak için kullanılan konteyner görüntüsü.

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

    Required Resources

    Her Pod'a ayrılacak GPU, sanal CPU ve bellek kaynaklarının miktarı.

    • GPU: 1

    • Sanal CPU: 2

    • Bellek: 2 GiB

    Volume

    Add PVC seçeneğine tıklayın ve ardından parametreleri yapılandırın.

    • Mount Source: Mevcut Kalıcı Birim Talebini seçin.

    • Container Path: CPFS dosya sisteminin bağlanacağı konteyner içindeki yolu girin.

    • Bağlama kaynağı: pvc-cpfs

    • Konteyner yolu: /data

    CPU uygulaması

    Bölüm

    Parametre

    Açıklama

    Örnek

    Basic Information

    Application Name

    Dağıtım için benzersiz bir ad girin. Ad, sayfada gösterilen biçim gereksinimlerine uygun olmalıdır.

    cpfs-test

    Replicas:

    Dağıtım için Pod çoğaltma sayısı.

    2

    Instance Type

    Pod'un hesaplama türü.

    CPU, Genel Amaçlı

    Container

    Image Name

    Uygulamayı dağıtmak için kullanılan konteyner görüntüsü.

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

    Required Resources

    Her Pod'a ayrılacak sanal CPU ve bellek kaynaklarının miktarı.

    • Sanal CPU: 0,25

    • Bellek: 0,5 GiB

    Volume

    Add PVC seçeneğine tıklayın ve ardından parametreleri yapılandırın.

    • Mount Source: Mevcut Kalıcı Birim Talebini seçin.

    • Container Path: CPFS dosya sisteminin bağlanacağı konteyner içindeki yolu girin.

    • Bağlama kaynağı: pvc-cpfs

    • Konteyner yolu: /data

  4. Uygulamanın durumunu kontrol edin.

    1. Deployments sayfasında uygulama adına tıklayın.

    2. Pods sekmesinde Pod'ların 'Running' durumunda olduğunu kontrol edin.

CPFS'nin paylaşılan depolama ve kalıcı depolama özelliklerini doğrulama

Önceki örnekte oluşturulan Dağıtım, aynı CPFS dosya sistemini bağlayan iki pod içerir. Depolama yeteneklerini aşağıdaki yollarla doğrulayın:

  • Paylaşılan depolamayı doğrulamak için bir pod'da dosya oluşturun ve ardından dosyayı diğer pod'da görüntüleyin.

  • Kalıcı depolamayı doğrulamak için Dağıtımı yeniden başlatın ve ardından verilerin dosya sisteminde yeni pod'larda hala var olup olmadığını kontrol edin.

  1. Pod bilgilerini görüntüleyin.

    kubectl get pod | grep cpfs-test

    Aşağıdaki çıktı döndürülür:

    cpfs-test-****-***a   1/1     Running   0          45s
    cpfs-test-****-***b   1/1     Running   0          45s
  2. Paylaşılan depolamayı doğrulayın.

  3. Bir pod'da dosya oluşturun.

    Aşağıdaki örnekte cpfs-test-****-***a adlı pod kullanılır:

    kubectl exec cpfs-test-****-***a -- touch /data/test.txt
  4. Dosyayı diğer pod'da görüntüleyin.

    Aşağıdaki örnekte cpfs-test-****-***b adlı pod kullanılır:

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

    Aşağıdaki çıktı döndürülür. Yeni dosya test.txt paylaşılmıştır.

    test.txt
  5. Kalıcı depolamayı doğrulayın.

  6. Pod'larını yeniden oluşturmak için Dağıtımı yeniden başlatın.

    kubectl rollout restart deploy cpfs-test
  7. Pod'ları görüntüleyin ve yeni pod'lar oluşturulana kadar bekleyin.

    kubectl get pod | grep cpfs-test

    Aşağıdaki çıktı döndürülür:

    cpfs-test-****-***c   1/1     Running   0          78s
    cpfs-test-****-***d   1/1     Running   0          52s
  8. Dosya sistemindeki verilerin yeni bir pod'da hala var olup olmadığını kontrol edin.

    Aşağıdaki örnekte cpfs-test-****-***c adlı pod kullanılır:

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

    Aşağıdaki çıktı döndürülür. CPFS dosya sistemindeki veriler hala mevcuttur ve yeni pod'un bağlama dizininde kullanılabilir durumdadır.

    test.txt