Siapkan sistem file NAS sebagai PV dan PVC bersama di kluster ACK Anda untuk menyimpan data pelatihan Arena.
Sebelum memulai
Pastikan Anda memiliki:
Kluster ACK yang sedang berjalan
Izin untuk membuat sistem file NAS dan mengelola resource penyimpanan ACK
Instance Elastic Compute Service (ECS) dalam Virtual Private Cloud (VPC) yang sama dengan kluster ACK Anda, untuk memasang dan mengisi sistem file NAS
Catatan penggunaan
Perhatikan batasan berikut:
Diperlukan co-location VPC. Sistem file NAS, titik pemasangannya, dan kluster ACK Anda harus berada dalam VPC yang sama.
Jenis protokol memengaruhi performa penulisan multipel. NFSv3 memberikan performa lebih baik ketika beberapa instance ECS tidak menulis ke file yang sama secara bersamaan. NAS Ekstrem hanya mendukung NFSv3.
Kapasitas PV hanya digunakan untuk pencocokan. Nilai kapasitas tidak membatasi penyimpanan aktual. Batas aktual bergantung pada spesifikasi sistem file NAS.
PV statis tidak mendukung archiveOnDelete. Menetapkan Delete pada PV statis tidak benar-benar menghapus PV atau data NAS. Gunakan Retain (default) kecuali jika menggunakan volume NAS yang disediakan secara dinamis.
Informasi latar belakang
Mengonfigurasi volume penyimpanan bersama untuk lingkungan pekerjaan Arena menjaga pekerjaan ilmuwan data (kode dan data) agar tidak hilang saat kontainer dihapus, serta memudahkan akses terhadap data pelatihan bersama. Dalam pengembangan tim, mengalokasikan kumpulan penyimpanan bersama memungkinkan data dan kode dibagikan lintas tim.
Saat mengirimkan pekerjaan Arena, Anda dapat menggunakan parameter --data untuk mendeklarasikan penyimpanan bersama dan jalur pemasangan. Penyimpanan bersama dipasang pada direktori yang ditentukan, dan pekerjaan selanjutnya dapat menggunakan ulang data atau kode tersebut.
Di Kubernetes, objek penyimpanan dijelaskan oleh Persistent Volume (PV) dan Persistent Volume Claim (PVC). Sebagai administrator kluster, saat menetapkan lingkungan, buatlah PVC terpisah untuk setiap ilmuwan data. Misalnya, PVC untuk pengguna A dan pengguna B dapat memasang backend NAS atau CPFS yang sama, tetapi harus mengarah ke subdirektori berbeda agar lingkungan kerja mereka tetap terisolasi.
Langkah 1: Buat instance NAS
Buat sistem file NAS tujuan umum di wilayah dan VPC yang sama dengan kluster ACK Anda.
Lihat Buat sistem file NAS tujuan umum menggunakan Konsol.
Gunakan nilai berikut:
Parameter | Nilai yang diperlukan |
File system type | General-purpose NAS |
Region | Wilayah yang sama dengan kluster ACK Anda |
VPC | VPC yang sama dengan kluster ACK Anda |
Protocol type | NFS |
Langkah 2: Pasang sistem file ke instance ECS
Pasang sistem file NAS ke instance ECS untuk kemudian diisi dengan data pelatihan. Langkah ini menggunakan fitur pemasangan satu klik. Lihat Skenario pemasangan sistem file untuk metode lainnya.
Pasang sistem file NAS
Login ke Konsol NAS. Di panel navigasi kiri, pilih .
Di bilah navigasi atas, pilih kelompok sumber daya dan wilayah sistem file Anda.

Temukan sistem file Anda dan klik Mount di kolom Actions.
Saat pertama kali digunakan, NAS akan meminta Anda menetapkan peran terkait layanan AliyunServiceRoleForNasEcsHandler. Ikuti instruksi di layar. Lihat Peran terkait layanan NAS.
Di panel Mount, atur opsi pemasangan:
Pilih titik pemasangan dan klik Next.
Pilih instance ECS dalam VPC yang sama dengan sistem file dan klik Next. Jika instance tidak muncul dalam daftar, refresh halaman.
CatatanKonfigurasi ini hanya mendukung penyambungan ke satu instance ECS. Lihat Pasang sistem file NFS secara batch pada beberapa instance ECS untuk pemasangan batch.
Konfigurasikan parameter pemasangan:
Parameter
Deskripsi
Wajib
Default
Mount path
Direktori lokal pada instance ECS untuk titik pemasangan.
Ya
—
Automatic mount
Memasang ulang sistem file secara otomatis saat instance ECS direstart.
Tidak
Enabled
Protocol type
Versi protokol NFS. NAS tujuan umum mendukung NFSv3 dan NFSv4; NAS Ekstrem hanya mendukung NFSv3. NFSv3 memberikan performa lebih baik ketika beberapa instance tidak menulis ke file yang sama secara bersamaan.
Ya
—
NAS directory
Direktori NAS yang akan dipasang. Masukkan
/untuk root atau subdirektori seperti/abc. Untuk direktori yang belum ada, pilih Confirm New Directory dan atur UID, GID, serta izin POSIX.Tidak
/(root)Mount parameters
Flag pemasangan NFS. Lihat Pasang sistem file NFS pada instance ECS Linux untuk referensi lengkap.
Tidak
Default mount parameters
Klik Complete. Proses pemasangan memerlukan waktu 1–2 menit. Saat status menunjukkan Mounted, sistem file siap digunakan. Jika status Failed, lihat Pasang sistem file NFS pada instance ECS Linux untuk troubleshooting.

Verifikasi pemasangan
Sambungkan ke instance ECS dan jalankan perintah berikut untuk memverifikasi akses:
mkdir /mnt/dir1
mkdir /mnt/dir2
touch /mnt/file1
echo 'some file content' > /mnt/file2
ls /mntOutput menampilkan dir1, dir2, file1, dan file2:
dir1 dir2 file1 file2Untuk melihat detail pemasangan atau memeriksa kapasitas, jalankan mount -l atau df -h.
Setiap sistem file NAS memerlukan titik pemasangan. Lihat Kelola titik pemasangan untuk menambahkan atau mencari titik pemasangan. Atur Mount target type menjadi VPC dan pilih VPC serta vSwitch yang sama dengan kluster ACK Anda.
Langkah 3: Buat PV dan PVC
Daftarkan sistem file NAS sebagai PV di kluster ACK Anda, lalu buat PVC untuk akses pod.
Buat PV
Login ke Konsol ACK. Di panel navigasi kiri, klik Clusters.Konsol NAS
Di halaman Clusters, klik kluster target. Di panel navigasi kiri, pilih Volumes > Persistent Volumes.
Di halaman Persistent Volumes, klik Create. Atur parameter berikut dan klik OK.
Parameter
Deskripsi
Wajib
Default
Contoh
PV type
Pilih NAS.
Ya
—
NAS
Name
Nama PV. Harus unik dalam kluster.
Ya
—
pv-nasCapacity
Hanya digunakan untuk pencocokan PVC. Tidak membatasi penyimpanan aktual. Lihat Sistem file NAS tujuan umum dan Sistem file NAS Ekstrem untuk batas kapasitas.
Ya
—
5 GiAccess mode
ReadWriteMany: beberapa node dipasang sebagai baca-tulis. ReadWriteOnce: hanya satu node.
Ya
—
ReadWriteManyEnable CNFS
Mengaktifkan Container Network File System (CNFS) untuk O&M otomatis, akselerasi cache, dan pemantauan performa. Lihat Buat CNFS untuk mengelola sistem file NAS (Direkomendasikan) untuk mengelola sistem file yang sudah ada.
Tidak
Disabled
Disabled
Mount target domain name
Tersedia saat CNFS dinonaktifkan. Alamat titik pemasangan NAS. Pilih titik yang sudah ada atau masukkan domain kustom. Lihat Kelola titik pemasangan untuk mencari alamat.
Ya (saat CNFS dinonaktifkan)
—
0c47****-mpk25.cn-shenzhen.nas.aliyuncs.coMount path (Advanced)
Subdirektori NAS yang akan dipasang. Untuk NAS Ekstrem, harus dimulai dengan
/share(misalnya,/share/data). Direktori yang belum ada akan dibuat secara otomatis.Tidak
/(root)/dataReclaim policy
Retain (default): PV dan data NAS dipertahankan saat PVC dihapus; pembersihan manual diperlukan. Delete: memerlukan
archiveOnDelete. PV statis tidak mendukungarchiveOnDelete, sehingga PV dan data tetap ada terlepas dari pengaturan. Lihat Gunakan volume NAS yang disediakan secara dinamis untuk konfigurasiarchiveOnDelete.Tidak
Retain
RetainMount options
Versi Protokol NFS dan flag pemasangan. NFSv3 memberikan performa lebih baik untuk pembacaan pelatihan ML tanpa penulisan bersamaan.
Tidak
—
nolock,tcp,noresvportvers=3Label
Label untuk PV.
Tidak
—
pv-nas
PV muncul di halaman Persistent Volumes.
Buat PVC
Di panel navigasi, pilih Storage > Persistent Volume Claims.
Di halaman Persistent Volume Claims, klik Create. Atur parameter berikut dan klik OK.
Parameter
Deskripsi
Wajib
Default
Contoh
PVC type
Pilih NAS.
Ya
—
NAS
Name
Nama PVC. Harus unik dalam kluster.
Ya
—
pvc-nasAllocation mode
Use Existing Persistent Volume: mengikat ke PV di atas. Create Volume: menyediakan PV baru secara inline.
Ya
—
Use Existing Persistent Volume
Existing volumes
PV yang dibuat di atas.
Ya (saat menggunakan PV yang ada)
—
pv-nasCapacity
Kapasitas penyimpanan yang diminta. Hanya digunakan untuk pencocokan PVC ke PV.
Ya
—
5
Verifikasi PV dan PVC
Pastikan PVC terikat ke PV. Sambungkan ke node mana pun di kluster ACK dan jalankan:
kubectl get pvc pvc-nasOutput menunjukkan PVC dalam status Bound:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-nas Bound pv-nas 5Gi RWX 1mJika status Pending, pastikan nama PV dan mode akses sesuai.
Langkah 4: Isi PVC dengan data
Kluster Kubernetes mengakses data bersama melalui PVC (yang mengarah ke instance NAS yang dibuat di Langkah 1), sehingga Anda hanya perlu mengisi NAS yang mendasari PVC tersebut. Prosedur berikut membuat dua Kubernetes Job yang menyalin dataset MNIST PyTorch dan TensorFlow dari gambar kontainer contoh ke NAS pada direktori yang ditentukan. Contoh ini menggunakan PVC pvc-nas dari Langkah 3.
Buat file bernama
prepare-pytorch-mnist-data.yamldengan konten berikut:apiVersion: batch/v1 kind: Job metadata: name: prepare-pytorch-mnist-data namespace: default spec: completions: 1 parallelism: 1 backoffLimit: 3 ttlSecondsAfterFinished: 3600 template: spec: containers: - name: pytorch-mnist-example image: kube-ai-registry.cn-shanghai.cr.aliyuncs.com/kube-ai/pytorch-mnist-example:2.5.1-cuda12.4-cudnn9-runtime imagePullPolicy: Always command: - /bin/bash - -c args: - | set -eux mkdir -p /mnt/pytorch_data/MNIST/raw cp -r /data/MNIST/raw/* /mnt/pytorch_data/MNIST/raw || { echo "Copy failed"; exit 1; } echo "MNIST data prepared successfully at /mnt/pytorch_data/MNIST/raw." resources: requests: cpu: 100m memory: 128Mi limits: cpu: 100m memory: 128Mi volumeMounts: - name: training-data mountPath: /mnt volumes: - name: training-data persistentVolumeClaim: claimName: pvc-nas restartPolicy: NeverBuat Job untuk menyalin dataset MNIST PyTorch ke
/pytorch_datapada NAS:# Create the Job kubectl create -f prepare-pytorch-mnist-data.yaml # Wait for the Job to complete kubectl wait --for=condition=complete --namespace=default --timeout=300s job/prepare-pytorch-mnist-dataSaat Job selesai berhasil, outputnya adalah:
job.batch/prepare-pytorch-mnist-data condition metBuat file bernama
prepare-tensorflow-mnist-data.yamldengan konten berikut:apiVersion: batch/v1 kind: Job metadata: name: prepare-tensorflow-mnist-data namespace: default spec: completions: 1 parallelism: 1 backoffLimit: 3 ttlSecondsAfterFinished: 3600 template: spec: containers: - name: tensorflow-mnist-example image: kube-ai-registry.cn-shanghai.cr.aliyuncs.com/kube-ai/tensorflow-mnist-example:2.15.0-gpu imagePullPolicy: Always command: - /bin/bash - -c args: - | set -eux mkdir -p /mnt/tf_data cp -r /data/mnist.npz /mnt/tf_data/mnist.npz || { echo "Copy failed"; exit 1; } echo "MNIST data prepared successfully at /mnt/tf_data/mnist.npz." resources: requests: cpu: 100m memory: 128Mi limits: cpu: 100m memory: 128Mi volumeMounts: - name: training-data mountPath: /mnt volumes: - name: training-data persistentVolumeClaim: claimName: pvc-nas restartPolicy: NeverBuat Job untuk menyalin dataset MNIST TensorFlow ke
/tf_datapada NAS:# Create the Job kubectl create -f prepare-tensorflow-mnist-data.yaml # Wait for the Job to complete kubectl wait --for=condition=complete --namespace=default --timeout=300s job/prepare-tensorflow-mnist-dataSaat Job selesai berhasil, outputnya adalah:
job.batch/prepare-tensorflow-mnist-data condition met
Contoh ini menggunakan PVC bernamapvc-nasdi namespacedefault. Jika PVC Anda memiliki nama berbeda atau berada di namespace lain, sesuaikan manifes tersebut.
/tf_data berisi data MNIST TensorFlow dan /pytorch_data berisi data MNIST PyTorch. Keduanya dapat diakses oleh pod apa pun yang memasang pvc-nas.
Langkah berikutnya
Kirimkan pekerjaan pelatihan Arena dengan
--datauntuk memasangpvc-nas.Untuk mengisolasi lingkungan pengguna, buat PVC terpisah yang mengarah ke subdirektori berbeda dari sistem file NAS yang sama.
Untuk beban kerja produksi, pertimbangkan mengaktifkan CNFS.