Plugin Container Storage Interface (CSI) mendukung pengaturan batas kuota untuk subdirektori volume NAS tujuan umum. Saat memasang subdirektori NAS menggunakan metode subPath, Anda dapat mengaktifkan fitur kuota direktori untuk membatasi kapasitas subdirektori dan meningkatkan pemanfaatan sumber daya. Ketika volume subdirektori mencapai batas kuotanya, Anda dapat memperluasnya secara online dengan memperbarui nilai penyimpanan di PVC tanpa mengganggu layanan.
Skenario
Secara default, saat memasang volume NAS di kluster ACK, nilai penyimpanan yang dideklarasikan dalam PVC tidak berlaku. Kapasitas aktual yang tersedia dalam PV adalah seluruh kapasitas sistem file NAS. Anda dapat memeriksa kapasitas aktual yang tersedia dari volume NAS berdasarkan batas kapasitas sistem file NAS.
Jenis NAS yang berbeda memiliki batas kapasitas berbeda. Untuk informasi lebih lanjut, lihat General-purpose NAS dan Extreme NAS.
Jika sistem file NAS Anda digunakan bersama dan dipasang oleh beberapa aplikasi, kami menyarankan agar Anda memasang subdirektori menggunakan metode subPath dan mengaktifkan fitur kuota direktori. Setelah fitur ini diaktifkan, kapasitas PV subdirektori yang dibuat secara dinamis akan dibatasi oleh nilai penyimpanan yang dideklarasikan dalam PVC. Saat kapasitas mencapai batasnya, Anda dapat memperluas volume secara online dengan memperbarui nilai penyimpanan di PVC tanpa mengganggu layanan Anda. Fitur kuota direktori memungkinkan Anda memasang subdirektori terpisah untuk aplikasi berbeda dan menetapkan batas kapasitas, sehingga membantu mengelola alokasi sumber daya dalam sistem file NAS secara lebih baik, meningkatkan efisiensi manajemen dan pemanfaatan sumber daya, serta mengontrol biaya penyimpanan secara efektif.
Jika Anda menggunakan CNFS untuk mengelola NAS, fitur kuota direktori diaktifkan secara default. Untuk informasi lebih lanjut, lihat Gunakan CNFS untuk memperluas volume NAS secara otomatis.
Prasyarat
Komponen CSI telah diinstal di kluster Anda dan versinya v1.18.8.45 atau lebih baru. Untuk memperbarui komponen, lihat Perbarui csi-plugin dan csi-provisioner.
Sistem file NAS dan titik pemasangan telah dibuat dan memenuhi kondisi berikut:
Jenis NAS adalah General-purpose NAS dan Jenis Protokol adalah NFS. Jika tidak, buat sistem file General-purpose NAS lagi.
Titik pemasangan dan node kluster berada dalam VPC yang sama, dan Status adalah Active. Jika tidak, buat titik pemasangan baru. Untuk informasi lebih lanjut, lihat Kelola titik pemasangan.
Batasan
Fitur kuota direktori hanya didukung untuk volume NAS penyimpanan dinamis yang menggunakan protokol NFS dengan General-purpose NAS dan dipasang menggunakan metode subpath. Volume NAS penyediaan statis serta volume NAS penyediaan dinamis yang dipasang menggunakan metode sharepath atau filesystem tidak mendukung fitur ini.
Untuk informasi lebih lanjut tentang batasan fitur kuota direktori, lihat Kuota direktori.
Gunakan volume NAS penyediaan dinamis dengan kuota direktori
Langkah 1: Buat StorageClass yang mengaktifkan fitur kuota subdirektori
Ubah konten YAML berikut dan simpan sebagai alicloud-nas-quota-sc.yaml.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alicloud-nas-quota-sc mountOptions: - nolock,tcp,noresvport - vers=3 parameters: volumeAs: subpath # Tetapkan nilainya ke subpath. server: "0cd8b4a576-g****.cn-hangzhou.nas.aliyuncs.com" # Titik pemasangan sistem file NAS tujuan umum yang menggunakan protokol NFS. archiveOnDelete: "false" path: "/test" volumeCapacity: "true" # Volume penyediaan dinamis mendukung fitur kuota direktori. provisioner: nasplugin.csi.alibabacloud.com reclaimPolicy: Delete allowVolumeExpansion: true # Aktifkan fitur kuota direktori untuk mengizinkan ekspansi volume penyediaan dinamis.CatatanUntuk mengaktifkan fitur kuota direktori, tetapkan
allowVolumeExpansionatauvolumeCapacityketrue. JikaallowVolumeExpansionditetapkan ketrue, parametervolumeCapacitytidak berlaku, dan fitur kuota direktori tetap diaktifkan.Perhatikan parameter berikut. Untuk informasi lebih lanjut, lihat Gunakan volume NAS penyediaan dinamis.
Parameter
Deskripsi
parametersvolumeAsSaat menggunakan fitur kuota direktori, Anda harus menetapkan parameter ini ke
subpath, yang menunjukkan bahwa subdirektori sistem file NAS dipasang sebagai PV.serverTitik pemasangan sistem file NAS. Untuk informasi lebih lanjut tentang cara melihat alamat titik pemasangan, lihat Kelola titik pemasangan.
pathSubdirektori sistem file NAS yang dipasang. Nilai default adalah
/. Untuk sistem file Extreme NAS, path harus dimulai dengan/share.volumeCapacityMenentukan apakah akan mengaktifkan fitur kuota direktori.
Jika
allowVolumeExpansionditetapkan ketrue, parameter ini tidak berlaku, dan fitur kuota tetap diaktifkan.allowVolumeExpansionParameter ini hanya tersedia untuk sistem file NAS tujuan umum. Jika Anda menetapkan parameter ini ke true, kuota dikonfigurasi untuk PV yang disediakan secara dinamis menggunakan StorageClass.
Buat StorageClass.
kubectl apply -f alicloud-nas-quota-sc.yaml
Langkah 2: Buat aplikasi dan pasang volume NAS
Gunakan konten YAML berikut untuk membuat file bernama nas-sts.yaml.
YAML berikut membuat StatefulSet dengan satu Pod. Pod tersebut dikaitkan dengan StorageClass yang telah mengaktifkan fitur kuota direktori. Sistem secara otomatis membuat volume NAS penyediaan dinamis yang sesuai dan memasangnya ke Pod. Kapasitas volume NAS adalah 20 GiB.
apiVersion: apps/v1 kind: StatefulSet metadata: name: nas-sts spec: selector: matchLabels: app: nginx replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 volumeMounts: - name: nas-pvc mountPath: /data volumeClaimTemplates: - metadata: name: nas-pvc spec: accessModes: [ "ReadWriteMany" ] storageClassName: "alicloud-nas-quota-sc" resources: requests: storage: 20GiBuat StatefulSet.
kubectl apply -f nas-sts.yamlPeriksa apakah Pod yang disediakan oleh StatefulSet telah diterapkan.
kubectl get pod -l app=nginxOutput perintah berikut diharapkan mengembalikan:
NAME READY STATUS RESTARTS AGE nas-sts-0 1/1 Running 0 24sPeriksa PV dan verifikasi bahwa kuota direktori berlaku.
Periksa PV.
kubectl get pvOutput berikut dikembalikan, menunjukkan bahwa PV telah dibuat secara dinamis dengan kapasitas 20 GiB.
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE nas-****-c72c-497f-ab13-****** 20Gi RWX Delete Bound default/nas-pvc-nas-sts-0 alicloud-nas-quota-sc <unset> 15mPeriksa detail kuota direktori di konsol NAS.
Di Konsol NAS, buka halaman File System List. Di kolom Actions sistem file target, klik ikon
lalu klik Quota Management. Di halaman Quota Management, Anda dapat melihat bahwa kuota direktori yang sesuai dibuat secara otomatis. Klik Manage Quotas untuk melihat detailnya.Contoh berikut menunjukkan bahwa direktori memiliki batas kapasitas 20 GiB.

Verifikasi batas kuota direktori
Karena volume NAS penyediaan dinamis yang dipasang menggunakan metode subpath telah mengaktifkan fitur kuota direktori dengan kapasitas yang dideklarasikan sebesar 20 GiB, sistem akan memberi tahu bahwa kuota disk telah terlampaui ketika data yang ditulis ke direktori yang dipasang melebihi 20 GiB.
Tulis data ke direktori yang dipasang.
Perintah contoh berikut menulis data sebesar 20000 MiB (sekitar 19,53 GiB) ke direktori yang dipasang
/data.kubectl exec -it nas-sts-0 -- dd if=/dev/zero of=/data/20G.txt bs=1M count=20000Tunggu 5 hingga 15 menit, lalu periksa detail kuota direktori di konsol NAS.
Di halaman File System List di Konsol NAS, klik ikon
di kolom Actions sistem file target, lalu klik Quota Management. Di halaman Quota Management, klik Manage Quotas untuk direktori tersebut guna melihat detailnya.Contoh berikut menunjukkan bahwa kapasitas saat ini dari direktori tersebut adalah 19 GiB.

Tulis lebih banyak data ke direktori yang dipasang hingga mencapai batas kuota direktori, yang akan memicu kesalahan kuota disk terlampaui.
Perintah contoh berikut mencoba menulis data sebesar 1 GiB ke direktori yang dipasang
/data, yang akan melebihi batas kuota direktori.kubectl exec -it nas-sts-0 -- dd if=/dev/zero of=/data/1G.txt bs=1M count=1024Output berikut dikembalikan, menunjukkan bahwa kuota disk telah terlampaui:
dd: closing output file '/data/1G.txt': Disk quota exceededCatatanUntuk memperluas volume, lihat Perluas volume NAS penyediaan dinamis dengan kuota direktori.
Perluas volume NAS penyediaan dinamis dengan kuota direktori
Dengan memperbarui nilai penyimpanan di PVC, Anda dapat memperluas kapasitas PV yang dibuat secara dinamis dan memeriksa kuota direktori untuk memastikan apakah kapasitas volume NAS telah berhasil diperluas. Operasi perluasan ini tidak memengaruhi layanan online dan tidak akan mengganggu bisnis Anda.
Periksa PVC sebelum perluasan.
kubectl get pvcOutput berikut dikembalikan:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE nas-pvc-nas-sts-0 Bound nas-****-c72c-497f-ab13-****** 20Gi RWX alicloud-nas-quota-sc <unset> 23mUbah PVC untuk memperluas kapasitas volume NAS.
kubectl patch pvc nas-pvc-nas-sts-0 -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'PentingKuota direktori NAS diukur dalam satuan GiB. Setelah Anda mengubah PVC, plugin CSI menyesuaikan kuota direktori NAS yang dipasang ke kapasitas volume baru yang ditentukan oleh PVC. Selama penyesuaian, plugin CSI membulatkan nilai kapasitas ke bilangan bulat terdekat.
Periksa PV dan PVC setelah perluasan.
Dari bidang
CAPACITYdalam informasi yang dikembalikan, Anda dapat memastikan bahwa kuota direktori untuk volume NAS telah diperluas dari 20 GiB menjadi 30 GiB.Periksa PV.
kubectl get pvOutput berikut dikembalikan:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE nas-****-c72c-497f-ab13-****** 30Gi RWX Delete Bound default/nas-pvc-nas-sts-0 alicloud-nas-quota-sc <unset> 25mPeriksa PVC.
kubectl get pvcOutput berikut dikembalikan:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE nas-pvc-nas-sts-0 Bound nas-****-c72c-497f-ab13-****** 30Gi RWX alicloud-nas-quota-sc <unset> 26m
Periksa detail kuota direktori di konsol NAS.
Di halaman File System List di Konsol NAS, klik ikon
di kolom Actions sistem file target, lalu klik Quota Management. Di halaman Quota Management, klik Manage Quotas untuk direktori tersebut guna melihat detailnya.Contoh berikut menunjukkan bahwa batas kapasitas direktori telah diperluas menjadi 30 GiB.

Pertanyaan Umum
Jika Anda mengalami masalah saat memasang atau menggunakan volume NAS, rujuk ke:
Referensi
Untuk informasi lebih lanjut tentang kuota direktori NAS, lihat Kuota direktori.
Setelah Anda mengonfigurasi kuota untuk direktori NAS, Anda dapat memantau penggunaan volume NAS menggunakan metrik node_volume_capacity_bytes_used. Untuk informasi lebih lanjut tentang cara mengonfigurasi aturan peringatan untuk pemantauan kapasitas volume, lihat Buat aturan peringatan untuk instans Prometheus.