All Products
Search
Document Center

File Storage NAS:Konfigurasikan kuota pada subdirektori volume NAS NFS

Last Updated:Jul 06, 2025

Anda dapat menggunakan Plugin Antarmuka Penyimpanan Kontainer (CSI) untuk menetapkan kuota pada subdirektori dari General-purpose File Storage NAS (NAS) volumes. Saat memasang volume NAS yang diprovision secara dinamis ke dalam kontainer, Anda dapat mengaktifkan fitur kuota subdirektori untuk meningkatkan pemanfaatan sumber daya secara keseluruhan. Jika jumlah data yang disimpan di subdirektori mencapai batas kuota, Anda dapat memperluas volume NAS tanpa mengganggu layanan yang memiliki volume tersebut terpasang.

Prasyarat

  • CSI versi 1.18.8.45 atau lebih baru telah terinstal di kluster Anda. Untuk informasi lebih lanjut tentang versi csi-plugin, lihat csi-plugin. Untuk panduan memperbarui plugin CSI, lihat Perbarui csi-plugin dan csi-provisioner.

    Catatan

    Jika FlexVolume digunakan di kluster Anda, tingkatkan FlexVolume ke CSI karena FlexVolume sudah tidak digunakan lagi. Untuk informasi lebih lanjut, lihat Tingkatkan dari FlexVolume ke CSI. Pilih Operations > Add-ons dan klik tab Storage untuk memeriksa jenis komponen penyimpanan.

  • Subdirektori volume NAS telah terpasang.

Batasan

  • Volume NAS yang diprovision secara statis tidak dapat diperluas.

  • Fitur kuota subdirektori hanya didukung oleh volume NAS yang digunakan untuk memasang General-purpose NAS file system. Selain itu, file system harus dipasang menggunakan subdirektori. Jika Anda menggunakan volume NAS untuk memasang Extreme NAS file system, Anda tidak dapat mengaktifkan fitur kuota subdirektori untuk volume tersebut.

    • Untuk satu file system, Anda dapat mengonfigurasi kuota untuk maksimal 500 direktori. Kedalaman direktori maksimum adalah delapan level. Sebagai contoh, kedalaman direktori root / adalah nol level. Kedalaman direktori /workspace adalah satu level. Kedalaman direktori /workspace/dir1 adalah dua level.

    • Untuk kuota direktori tunggal, Anda dapat mengonfigurasi maksimal 500 kombinasi ID pengguna (UID) dan ID grup (GID). Jika batas dilampaui, konfigurasi mungkin gagal dan pengecualian baca mungkin terjadi.

    Penting
    • Jika Anda membuat kuota pembatas untuk sebuah direktori dan kuota tersebut habis, data tidak dapat lagi ditulis ke direktori tersebut. Saat kuota habis, Anda tidak dapat lagi menambah ukuran file, membuat file atau direktori, atau memindahkan file ke direktori lain. Selain itu, kesalahan IOError terjadi di lapisan aplikasi. Untuk informasi tentang cara menyelesaikan masalah ini, lihat Mengapa pesan kesalahan "Disk quota exceeded" muncul saat data ditulis ke file system?

    • Untuk mencegah risiko keamanan potensial, kami sarankan Anda mengevaluasi dan menguji kuota pembatas sebelum membuat kuota pembatas untuk direktori yang terkait dengan bisnis inti.

    • Setelah kuota dibuat, kuota akan diinisialisasi secara otomatis dan berada dalam status Initializing. Proses inisialisasi mungkin memakan waktu beberapa jam atau bahkan lebih lama untuk selesai. Durasi proses inisialisasi bergantung pada jumlah file dan subdirektori dalam direktori file system Anda. Setelah kuota diinisialisasi, kuota berada dalam status Running. Anda dapat memeriksa status kuota direktori menggunakan konsol NAS atau dengan memanggil operasi API DescribeDirQuotas.

    • Operasi untuk mengaktifkan kuota pembatas dilakukan secara asinkron di backend dan membutuhkan waktu 5 hingga 15 menit untuk berlaku.

Contoh

  1. Buat file bernama alicloud-nas-quota-sc.yaml dan salin konten berikut ke dalam file. Anda dapat menggunakan file ini untuk membuat StorageClass yang digunakan untuk memasang volume NAS dan memiliki fitur kuota subdirektori yang diaktifkan. Setelah Anda mengaktifkan fitur kuota subdirektori, Anda dapat memperluas volume NAS yang diprovision menggunakan StorageClass.

    Catatan

    Untuk mengaktifkan fitur kuota subdirektori, atur allowVolumeExpansion atau volumeCapacity menjadi true. Jika Anda mengatur allowVolumeExpansion menjadi true, parameter volumeCapacity tidak berlaku. Dalam hal ini, fitur kuota subdirektori tetap aktif.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-nas-quota-sc
    mountOptions:
      - nolock,tcp,noresvport
      - vers=3
    parameters:
      volumeAs: subpath  # Atur nilai menjadi subpath.
      server: "xxx.cn-hangzhou.nas.aliyuncs.com"
      archiveOnDelete: "false"
      path: "/abc"
      volumeCapacity: "true" # Fitur kuota diaktifkan untuk volume yang diprovision secara dinamis berdasarkan StorageClass.
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Delete
    allowVolumeExpansion: true # Aktifkan fitur kuota subdirektori untuk mengizinkan perluasan volume yang diprovision secara dinamis.

    Parameter

    Deskripsi

    mountOptions

    Konfigurasikan parameter options dan tentukan versi NFS di bidang mountOptions. Versi protokol NFS. Kami merekomendasikan Anda menggunakan NFSv3. Extreme NAS file systems hanya mendukung NFSv3. Untuk informasi lebih lanjut tentang protokol NFS, lihat NFS.

    volumeAs

    Anda harus mengatur nilainya menjadi subpath, yang menunjukkan bahwa subdirektori sistem file NAS dipasang sebagai volume persisten (PV).

    server

    Target pemasangan sistem file NAS jika Anda memasang subdirektori sistem file NAS sebagai PV. Untuk informasi lebih lanjut tentang cara menanyakan nama domain target pemasangan, lihat Kelola target pemasangan.

    archiveOnDelete

    Menentukan apakah akan menghapus penyimpanan backend ketika reclaimPolicy diatur ke Delete. NAS adalah layanan penyimpanan bersama. Anda harus menentukan parameter reclaimPolicy dan archiveOnDelete untuk memastikan keamanan data. Nilai default: true.

    path

    Subdirektori sistem file NAS yang dipasang. Jika Anda memasang Extreme NAS file system, jalur harus dimulai dengan /share.

    volumeCapacity

    Menentukan apakah akan mengaktifkan fitur kuota. Nilai valid: true dan false.

    Catatan

    Jika allowVolumeExpansion diatur ke true, parameter ini tidak berlaku.

    provisioner

    Jenis driver penyimpanan yang digunakan untuk provision volume. Dalam contoh ini, parameter diatur ke nasplugin.csi.alibabacloud.com. Ini menunjukkan bahwa plugin CSI yang disediakan oleh Alibaba Cloud digunakan.

    reclaimPolicy

    Kebijakan reclaim PV. Nilai valid:

    • Retain: menyimpan penyimpanan backend saat PV dan persistent volume claim (PVC) dihapus. Penyimpanan backend mungkin merupakan sistem file NAS.

    • Delete: secara otomatis menghapus penyimpanan backend dan PV saat PVC dihapus.

    allowVolumeExpansion

    Parameter ini hanya tersedia untuk sistem file NAS tujuan umum.

    Jika Anda mengatur parameter ini ke true, kuota dikonfigurasi untuk PV yang diprovision secara dinamis menggunakan StorageClass.

  2. Jalankan perintah berikut untuk membuat StorageClass:

    kubectl apply -f alicloud-nas-quota-sc.yaml

Verifikasi hasil

  1. Jalankan perintah berikut untuk menulis 10 GiB data ke direktori /data yang dipasang menggunakan StatefulSet di Langkah 2.

    dd if=/dev/zero of=10G.txt bs=1M count=10000
  2. Tunggu 5 hingga 15 menit lalu periksa detail kuota subdirektori.

    1. Masuk ke Konsol NAS.

    2. Di panel navigasi sebelah kiri, pilih File System > File System List.

    3. Temukan file system dan klik ikon 图标 di kolom Actions. Lalu, klik Quota Management.

    4. Di halaman Quota Management, klik Manage Quotas di kolom Actions.

      Gambar berikut menunjukkan bahwa subdirektori memiliki batas kuota 20 GiB. Penyimpanan yang digunakan adalah 9 GiB.配额管理

      Jika penyimpanan 20 GiB telah habis digunakan dan Anda mencoba menulis lebih banyak data ke subdirektori, kesalahan Disk quota exceeded muncul.磁盘配额

  3. Jika kuota telah tercapai, Anda dapat secara manual melakukan ekspansi volume dinamis.

    1. Jalankan perintah berikut untuk memperluas volume secara dinamis.

      Catatan

      Ekspansi volume dinamis tidak mengganggu layanan yang memiliki volume tersebut terpasang.

      kubectl patch pvc nas-pvc-0 -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'
    2. Jalankan perintah berikut untuk menanyakan informasi tentang PV:

      kubectl get pv

      Output yang diharapkan:

      NAME                              CAPACITY  ACCESS MODES   RECLAIM POLICY   STATUS    CLAIM               STORAGECLASS         REASON     AGE
      nas-63c37cc2-b21e-4b56-b26f-****   30Gi          RWX          Delete        Bound    default/nas-pvc-0   alicloud-nas-quota-sc           25m23s
    3. Jalankan perintah berikut untuk menanyakan informasi tentang persistent volume claim (PVC):

      kubectl get pvc

      Output yang diharapkan:

      NAME       STATUS   VOLUME                         CAPACITY  ACCESS MODES   STORAGECLASS            AGE
      nas-pvc-0  Bound   nas-63c37cc2-b21e-4b56-b26f-****   30Gi      RWX        alicloud-nas-quota-sc   25m10s