Sistem file Lustre Terkelola Google Cloud mendukung kuota pengguna, grup, dan project, sehingga administrator dapat mengelola penggunaan penyimpanan dan memastikan alokasi resource yang adil. Dokumen ini menjelaskan cara mengonfigurasi, melihat, dan mengelola kuota ini.
Apa itu kuota sistem file?
Kuota di Managed Lustre memungkinkan Anda menetapkan batas jumlah ruang disk dan jumlah file yang dapat digunakan pengguna, grup, atau project dalam sistem file Anda.
Kuota diterapkan ke berbagai entitas:
- Kuota pengguna membatasi penyimpanan yang digunakan oleh pengguna non-root individual.
- Kuota grup membatasi penyimpanan yang digunakan oleh semua anggota non-root dari grup tertentu.
- Kuota project membatasi penyimpanan yang digunakan oleh file dan direktori yang terkait dengan ID project tertentu. Project ID ini adalah ID sistem file Lustre, yang ditentukan menggunakan
lfs project, dan bukanGoogle Cloud project ID Anda. Lihat Menetapkan kuota project untuk mengetahui informasi selengkapnya.
Kuota dikonfigurasi untuk dua jenis resource:
- Batas blok adalah batas jumlah ruang disk yang dapat digunakan.
- Batas inode adalah batas jumlah file dan direktori yang dapat dibuat.
Setiap jenis resource dapat memiliki dua tingkat batas:
Batas lunak adalah nilai minimum kuota yang memicu masa tenggang yang dapat dikonfigurasi jika terlampaui. Selama masa tenggang ini, pengguna, grup, atau project dapat melampaui batas lunak untuk sementara, hingga batas keras jika ada, sehingga mereka memiliki waktu untuk mengurangi penggunaan sebelum diblokir. Setelah masa tenggang berakhir, jika penggunaan masih di atas batas lunak, batas lunak akan diterapkan sebagai batas keras, yang memblokir semua penulisan baru hingga ruang disk atau jumlah inode berada di bawah batas lunak.
Secara default, masa tenggang adalah satu minggu.
Batas ketat menentukan maksimum absolut. Jika batas ini tercapai, semua operasi tulis selanjutnya akan gagal dan menampilkan error "Kuota disk terlampaui".
Mengelola pengguna dan grup
Lustre mengandalkan atribut POSIX klien untuk nama dan ID pengguna dan grup.
Saat membuat permintaan sistem file, klien akan mengirimkan UID dan GID lokal ke server Lustre. Server menggunakan atribut POSIX ini untuk menerapkan izin file standar dan melacak penggunaan kuota.
Untuk perilaku yang konsisten dalam lingkungan multi-pengguna, semua klien yang mem-mount sistem file Lustre harus memiliki pemetaan UID dan GID yang disinkronkan, yang biasanya dikelola melalui layanan terpusat seperti LDAP atau NIS.
Pengguna root tidak tunduk pada kuota. Perintah yang dijalankan dengan sudo juga melewati pemeriksaan kuota.
Sebelum memulai
Untuk mengelola kuota Lustre, Anda memerlukan:
- Akses klien ke sistem file Google Cloud Managed Lustre yang aktif.
- Hak istimewa
sudoatau root pada sistem klien untuk menjalankan perintahlfs.
Menetapkan kuota
Gunakan perintah lfs setquota untuk mengonfigurasi batas blok dan inode. Anda dapat
menentukan hanya batas blok, hanya batas inode, atau keduanya; demikian pula, Anda dapat
menentukan batas ketat, batas lunak, atau keduanya.
sudo lfs setquota -u | g | p | U | G | P UGP_VALUE \
-b SOFT_BLOCK_LIMIT -B HARD_BLOCK_LIMIT \
-i SOFT_INODE_LIMIT -I HARD_INODE_LIMIT \
MOUNT_DIR
Dengan:
-umenentukan pengguna berdasarkan nama pengguna atau UID.-gmenentukan grup berdasarkan nama grup atau GID.-pmenentukan project berdasarkan project ID.U,G, danPmenetapkan kuota default untuk setiap pengguna, grup, atau project yang tidak menetapkan kuota tertentu.- UGP_VALUE adalah nama pengguna, nama grup, UID, GID, atau project ID. Hapus nilai ini jika Anda menentukan kuota default pengguna, grup, atau project.
-bdan-Badalah batas lunak dan batas ketat untuk penggunaan blok. Batas ringan harus lebih kecil dari batas berat. Nilai dapat ditentukan dalam byte (B), kilobyte (K), megabyte (M), gigabyte (G), atau terabyte (T). Unit default adalah kilobyte.-idan-Iadalah batas lunak dan batas ketat untuk penggunaan inode. Batas ringan harus lebih kecil dari batas berat.- MOUNT_DIR adalah direktori pemasangan sistem file Managed Lustre.
Perhatikan bahwa Anda tidak dapat mengonfigurasi masa tenggang secara bersamaan dengan membuat kuota. Masa tenggang default untuk batas lunak adalah satu minggu. Untuk memperbarui masa tenggang, lihat Mengonfigurasi masa tenggang.
Contoh
Menetapkan kuota pengguna
Tetapkan batas pemblokiran sementara 100 GB, batas pemblokiran permanen 120 GB, batas inode sementara
10.000, dan batas inode permanen 12.000 untuk user1 di /mnt/lustre:
sudo lfs setquota -u user1 -b 100G -B 120G -i 10000 -I 12000 /mnt/lustre
Menetapkan kuota grup
Tetapkan batas pemblokiran tetap sebesar 50 TB untuk groupA di /mnt/lustre:
sudo lfs setquota -g groupA -B 50T /mnt/lustre
Menetapkan kuota project
Kuota project memerlukan langkah tambahan untuk mengaitkan direktori dan file dengan ID project:
Gunakan perintah
lfs projectuntuk menetapkan project ID. ID ini adalah bilangan bulat arbitrer yang mengidentifikasi project.sudo lfs project -spr LFS_PROJECT_ID PATH/TO/DIR/OR/FILEDengan:
-smenetapkan pewarisan, sehingga file dan direktori baru yang dibuat di direktori yang ditentukan mewarisi project ID.-rmenerapkan ID project secara berulang ke semua direktori dan file turunan.-pmemberi tahu perintah untuk menetapkan project ID yang diberikan pada file atau direktori yang ditentukan.- PATH/TO/DIR/OR/FILE adalah jalur ke direktori atau file yang akan ditetapkan project ID-nya. Hanya satu jalur atau file yang dapat ditentukan.
Untuk mengetahui tanda dan informasi tambahan, jalankan
man lfs projectdari klien Anda.Misalnya, untuk menetapkan project
101ke/mnt/lustre/my-projectdan semua turunan baru dan yang sudah ada:sudo lfs project -spr 101 /mnt/lustre/my-projectTetapkan kuota menggunakan
lfs setquota:sudo lfs setquota -p LFS_PROJECT_ID \ -b SOFT_BLOCK_LIMIT -B HARD_BLOCK_LIMIT \ -i SOFT_INODE_LIMIT -I HARD_INODE_LIMIT \ MOUNT_DIR
Menetapkan kuota default
Menetapkan batas pemblokiran ketat sebesar 50 TB untuk semua pengguna tanpa setelan kuota tertentu:
sudo lfs setquota -U -B 50T /mnt/lustre
Mengubah kuota
Untuk mengubah kuota yang ada, jalankan lfs setquota lagi dengan nilai baru. Perintah
akan menggantikan setelan sebelumnya untuk pengguna, grup, atau
project yang ditentukan.
Mengonfigurasi masa tenggang
Masa tenggang menentukan berapa lama pengguna, grup, atau project dapat melampaui batas lunak sebelum batas lunak bertindak sebagai batas ketat. Secara default, nilainya adalah satu minggu. Masa tenggang ditetapkan untuk semua pengguna, grup, atau project; masa tenggang tidak dapat ditetapkan untuk ID tertentu.
Untuk memperbarui masa tenggang, gunakan perintah lfs setquota -t:
sudo lfs setquota -t -u | g | p \
-b BLOCK_GRACE_PERIOD -i INODE_GRACE_PERIOD \
MOUNT_DIR
Dengan:
-umenerapkan masa tenggang ke kuota pengguna.-gmenerapkan masa tenggang ke kuota grup.-pmenerapkan masa tenggang untuk kuota project.-bdan-imasing-masing menentukan masa tenggang blok dan inode. Unit defaultnya adalah detik. Anda dapat menggunakan satuan lain dengan format:XwXdXhXmXs(minggu, hari, jam, menit, detik). Anda dapat menetapkan batas untuk salah satu atau kedua jenis kuota.Tentukan
'notify', bukan nilai waktu, untuk menandai outputlfs quotadengan tanda bintang jika batas lunak telah terlampaui. Penulisan baru tidak diblokir jika'notify'ditentukan hingga batas maksimum tercapai.
Misalnya, untuk menetapkan masa tenggang pemblokiran selama 7 hari untuk semua kuota pengguna:
sudo lfs setquota -t -u -b 7d /mnt/lustre
Untuk menetapkan masa tenggang inode selama 24 jam untuk kuota project:
sudo lfs setquota -t -p -i 24h /mnt/lustre
Untuk memberi tahu saat batas sementara blok terlampaui:
sudo lfs setquota -t -u -b 'notify' /mnt/lustre
Melihat kuota yang ada
Perintah lfs quota menampilkan penggunaan dan batas untuk pengguna saat ini:
lfs quota MOUNT_DIR
Untuk mengetahui daftar lengkap opsi, jalankan man lfs quota dari klien Anda.
Misalnya, untuk melihat kuota user1 di /mnt/lustre:
sudo lfs quota -u user1 /mnt/lustre
Perhatikan bahwa untuk melihat kuota dan penggunaan pengguna lain, Anda harus menjalankan perintah dengan sudo.
Output-nya menampilkan:
Filesystem: Titik pemasangan Lustre.kbytes: Penggunaan disk saat ini dalam kilobyte.bquota: Batas pemblokiran sementara dalam kilobyte.blimit: Batas blok keras dalam kilobyte.bgrace: Periode tenggang yang tersisa jika batas lunak blok terlampaui. Tanda bintang (*) menunjukkan bahwa batas lunak terlampaui.files: Jumlah inode yang digunakan.iquota: Batas inode yang dapat dilewati.ilimit: Batas inode keras.igrace: Masa tenggang yang tersisa jika batas lunak inode terlampaui. Tanda bintang (*) menunjukkan bahwa batas lunak terlampaui.
Untuk melihat masa tenggang yang dikonfigurasi untuk semua kuota pengguna:
lfs quota -t -u /mnt/lustre
Menghapus kuota
Untuk menghapus kuota, tetapkan batas lunak dan batas ketatnya ke 0.
sudo lfs setquota -u | g | p | U | G | P UGP_VALUE -b 0 -B 0 -i 0 -I 0 MOUNT_DIR
Misalnya, untuk menghapus kuota blok dan inode user1:
sudo lfs setquota -u user1 -b 0 -B 0 -i 0 -I 0 /mnt/lustre
Untuk menghapus batas blok project default:
sudo lfs setquota -P -b 0 -B 0 /mnt/lustre
Masalah umum
Saat menggunakan kuota Lustre, perhatikan masalah umum berikut:
Cache yang diberikan: Cache yang diberikan adalah fitur Lustre yang memungkinkan klien menerima blok penyimpanan sebagai "pemberian" dari Target Penyimpanan Objek (OST) untuk menulis data. Jika klien memiliki cache yang diberikan ini, klien dapat segera menampilkan pesan berhasil kepada pengguna untuk operasi tulis, bahkan saat data masih berada di cache lokal klien dan sebelum data ditulis secara fisik ke disk. Ini adalah pengoptimalan performa yang meminimalkan latensi.
Cache yang diberikan berpotensi menyebabkan kuota terlampaui. Karena cache yang diberikan memungkinkan klien untuk terus menulis data ke cache mereka meskipun kuota sisi server mereka telah habis, pengguna dapat melampaui batas keras mereka.
Penetapan project ID yang salah: Agar kuota project berfungsi, direktori dan file harus ditetapkan project ID dengan benar menggunakan
lfs project -spr. Jika-rtidak disertakan, ID project tidak akan diterapkan ke file dan subdirektori yang ada. Menghilangkan-sberarti file dan direktori baru yang dibuat nanti tidak akan mewarisi project ID.Beberapa kuota dan "yang paling ketat menang": Pengguna dapat dikenai kuota pengguna, satu atau beberapa kuota grup, dan satu atau beberapa kuota project secara bersamaan. Lustre menerapkan batas yang paling ketat di antara batas-batas ini. Artinya, pengguna dapat memiliki kuota pribadi yang besar, tetapi dibatasi oleh kuota project yang lebih kecil untuk file dalam direktori project tersebut.
Pelewatan kuota pengguna root: Penulisan pengguna
rootakan melewati penerapan kuota. Hal ini dapat menyebabkan sistem file terisi oleh tugas administratif, bahkan ketika kuota diterapkan untuk pengguna lain.fallocatetidak mematuhi kuota: Pengguna dapat menggunakanfallocateuntuk memesan ruang di sistem file yang melebihi batas keras.