Cara Mengatur Kuota Filesystem (Disk) di Ubuntu


Kuota sistem file adalah fitur bawaan standar yang ditemukan di Kernel Linux. Kuota menentukan jumlah ruang yang harus dimiliki suatu file untuk mendukung aktivitas pengguna. Kuota disk juga membatasi jumlah file yang dapat dibuat pengguna di sistem.

Sistem file yang mendukung sistem kuota antara lain xfs, ext2, ext4, dan ext3. Penetapan kuota bersifat spesifik untuk sistem file dan untuk setiap pengguna. Artikel ini memuat semua yang perlu Anda ketahui tentang bekerja dengan sistem file kuota di lingkungan multi-pengguna Ubuntu.

Asumsinya di sini adalah Anda menggunakan sistem Ubuntu dengan pengguna (tecmint) yang diberikan hak sudo. Ide-ide yang dibagikan di sini dapat bekerja pada distro Linux apa pun selama Anda menggunakan teknik implementasi yang tepat.

Langkah 1: Memasang Kuota di Ubuntu

Agar kuota siap dan dapat digunakan, instal alat baris perintah kuota menggunakan perintah apt, namun sebelum itu, Anda perlu memperbarui paket perangkat lunak sistem.

sudo apt update

Sekarang gunakan perintah berikut untuk menginstal paket kuota di Ubuntu.

sudo apt install quota

Tekan Y, lalu ENTER untuk memulai proses instalasi.

Konfirmasikan versi instalasi dengan menjalankan perintah di bawah ini. Nomor versi Anda mungkin berbeda dari yang Anda lihat di bawah.

quota --version

Langkah 2: Instalasi Modul Kernel Kuota

Bagi mereka yang menjalankan sistem virtual berbasis cloud, instalasi default Ubuntu mungkin tidak memiliki modul kernel yang mendukung penggunaan kuota. Anda harus mengonfirmasi menggunakan alat find dan memastikan bahwa kedua modul, quota_v1, dan quota _v2, berada di dalam direktori /lib/modules.

find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'

Ini harus menjadi hasil dari perintah di atas.

Jangan khawatir tentang versi kernel selama kedua modul tersebut ada. Jika tidak ditemukan, gunakan perintah berikut untuk menginstal modul kernel kuota seperti yang ditunjukkan.

sudo apt install linux-image-extra-virtual

Anda akan mendapatkan modul yang tepat yang Anda perlukan untuk implementasi kuota.

Langkah 3: Memperbarui Opsi Pemasangan Sistem File

Agar kuota dapat aktif pada sistem tertentu, kuota tersebut harus dipasang dengan opsi kuota terkait. Anda dapat melakukan ini dengan memperbarui entri sistem file yang ditemukan di file /etc/fstab.

sudo nano /etc/fstab

Anda harus siap untuk mengedit file dengan benar. Perbedaan antara file fstab dan file desktop adalah perbedaan dalam cara / atau sistem file root mewakili seluruh ruang disk. Ganti baris (/) yang menunjuk ke sistem root menggunakan baris di bawah ini.

LABEL=cloudimg-rootfs   /        ext4   usrquota,grpquota        0 0

Garis akan berubah agar userquota dan grpquota dapat diakses. Anda dapat meninggalkan satu yang bukan bagian dari konfigurasi akhir. Jika fstab memiliki beberapa opsi, tambahkan opsi baru di akhir baris. Saat Anda melakukan penambahan, pisahkan item baru dengan koma tetapi tanpa spasi di antara item tersebut.

Pasang kembali sistem file agar perubahan diterapkan.

sudo mount -o remount /

CATATAN: pastikan tidak ada spasi di antara opsi di /etc/fstab untuk menghindari kesalahan tersebut.

mount: /etc/fstab: parse error

Verifikasi penggunaan opsi baru saat memasang sistem file di file /proc/mounts dilakukan melalui grep. Perintah ini menunjukkan entri sistem file root dalam file.

sudo cat /proc/mounts | grep ' / '

Dari outputnya, Anda dapat melihat dua opsi yang kami siapkan. Saatnya mengaktifkan sistem kuota.

Langkah 4: Mengaktifkan Kuota Disk di Ubuntu

Pertama, Anda harus menjalankan perintah quotacheck.

sudo quotacheck -ugm /

Perintah tersebut membuat dua file, pengguna kuota dan grup kuota yang memiliki informasi tentang batas dan penggunaan sistem file. File-file ini harus ada sebelum Anda mulai menggunakan kuota.

Berikut ini definisi parameternya:

  • -u : melambangkan file kuota berbasis pengguna akan dibuat.
  • -g: menunjukkan bahwa file kuota berbasis grup akan dibuat.
  • -m: menonaktifkan pemasangan ulang sistem file sebagai sistem baca-saja sekaligus memberikan hasil yang akurat dalam lingkungan tempat pengguna terus menyimpan file. Opsi m tidak wajib selama penyiapan.

Jika tidak perlu mengaktifkan penggunaan kuota berdasarkan pengguna atau grup, maka tidak perlu menjalankan opsi quotacheck. Konfirmasikan ini dengan membuat daftar direktori root menggunakan perintah ls.

ls /
Contoh Keluaran
aquota.group  bin   dev  home        initrd.img.old  lib64       media  opt   root  sbin  srv  tmp  var      vmlinuz.old
aquota.user   boot  etc  initrd.img  lib             lost+found  mnt    proc  run   snap  sys  usr  vmlinuz

Jika parameter u dan g tidak disertakan dalam perintahquotacheck, file terkait akan hilang.

Sekarang kita siap untuk mengaktifkan kuota pada sistem file root (/) dengan perintah berikut.

sudo quotaon -v /

Langkah 5: Konfigurasikan Kuota untuk Satu Pengguna

Kita dapat menggunakan perintah edquota dan setquota untuk mengaturnya bagi pengguna atau grup.

Menggunakan edquota

Perintah edquota mengedit kuota, misalnya, kita dapat mengedit kuota milik pengguna tecmint menggunakan:

sudo edquota -u tecmint

Menggunakan opsi -u menentukan bahwa kuota adalah milik pengguna. Gunakan opsi -g jika Anda perlu mengedit kuota milik grup. Perintah akan membuka file menggunakan editor teks pilihan Anda.

Outputnya mencantumkan nama pengguna, uid, sistem file dengan kuota aktif, dan penggunaan blok dan inode. Kuota berdasarkan inode membatasi jumlah file dan direktori yang dapat dibuat pengguna terlepas dari ukuran yang mereka gunakan pada disk. Kebanyakan Admin lebih memilih kuota berbasis blok yang mengontrol ruang disk.

CATATAN: Penggunaan blok tidak menunjukkan bagaimana hal itu dapat berubah bergantung pada berbagai faktor seperti alat baris perintah yang melaporkannya. Dalam konteks kuota di Ubuntu, kita dapat berasumsi bahwa satu blok sama dengan satu kilobyte ruang disk.

Dengan menggunakan baris perintah di atas, pengguna akan menggunakan 2032 blok, yang sama dengan 2032KB ruang di /dev/sda1. Nilai 0 menonaktifkan batas lunak dan batas keras.

Setiap kumpulan kuota memungkinkan pengaturan batas lunak dan batas keras. Pengguna yang melampaui batas lunak mungkin melebihi kuotanya, namun tidak dilarang menggunakan lebih banyak spasi atau inode. Pengguna dalam kasus seperti itu memiliki waktu tujuh hari untuk menukarkan ruang batas lunaknya, jika tidak melakukan hal tersebut akan mempersulit penyimpanan atau pembuatan file.

Batas keras berarti pembuatan blok atau inode baru berhenti saat Anda mencapai batas tersebut. Pengguna akan melaporkan melihat peringatan atau kesalahan saat melakukan tugas rutin.

Kami dapat memperbarui kuota blok tecmint menjadi batas lunak 100MB dan 110MB untuk batas keras.

Setelah mengedit, tutup file dan periksa pengaturan batas kuota pengguna baru menggunakan perintah kuota.

sudo quota -vs tecmint

CATATAN: Memberikan kesempatan kepada pengguna Anda untuk menganalisis kuota mereka tanpa menjalankan perintah sudo, mereka harus diberi akses untuk membaca file kuota selama fase penciptaan pada langkah keempat. Salah satu cara mudah untuk melakukannya adalah dengan membuat grup pengguna dan memberikan akses kepada grup tersebut sehingga Anda dapat menambahkan pengguna ke dalamnya.

Menggunakan setquota

setquota memperbarui informasi kuota menggunakan satu perintah tanpa penyiapan interaktif apa pun. Perintah ini memerlukan nama pengguna dan pengaturan batas lunak dan keras yang akan digunakan blok dan inode. Anda juga perlu mendeklarasikan sistem file yang akan digunakan kuotanya.

sudo setquota -u tecmint 200M 220M 0 0 /

Perintah ini menggandakan batas kuota berbasis blok menjadi 200 megabita dan 220 megabita. Dua 0 0 menunjukkan bahwa batas keras dan lunak tidak ditetapkan, hal ini merupakan persyaratan bahkan ketika tidak perlu menetapkan kuota berbasis inode.

Seperti biasa, gunakan perintah kuota untuk memverifikasi kemajuan Anda.

sudo quota -vs tecmint

Langkah 6: Membuat Laporan Kuota

Membuat laporan kuota harus menunjukkan penggunaan dari semua pengguna. Perintah repquota digunakan.

sudo repquota -s /

Output di atas adalah laporan tentang sistem file root /. -s memerintahkan repquota untuk memberikan hasil dalam format yang dapat dibaca manusia.

Waktu tenggang pemblokiran default adalah 7 hari. Kolom tenggang memberi tahu pengguna tentang jumlah hari sebelum penolakan akses ke disk sumber daya.

Langkah 7: Tetapkan Masa Tenggang Konfigurasi

Masa tenggang adalah saat pengguna mendapat izin untuk bekerja melebihi waktu default.

sudo setquota -t 864000 864000 /

Perintah ini menginstruksikan blok dan inode untuk memiliki masa tenggang 864000 detik yang setara dengan 10 hari. Pengaturan ini akan mempengaruhi semua pengguna, oleh karena itu, nilai perlu ditetapkan bahkan ketika tidak ada penggunaan blok dan inode. Nilai waktu harus dalam hitungan detik.

Konfirmasikan perubahan dan lihat apakah perubahan tersebut diterapkan menggunakan perintah:

sudo repquota -s /

Pesan Kesalahan Umum

quotaon: cannot find //aquota.group on /dev/vda1 [/]
quotaon: cannot find //aquota.user on /dev/vda1 [/]

Error di atas biasa terjadi jika Anda mencoba mengaktifkan kuota menggunakan perintah qoutaon sebelum mencoba memeriksa status kuota menggunakan perintah quotacheck.

quotaon: using //aquota.group on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.
quotaon: using //aquota.user on /dev/vda1 [/]: No such process
quotaon: Quota format not supported in kernel.

Kesalahan ini memberi tahu Administrator bahwa kernel tidak mendukungnya atau Anda mungkin memiliki versi yang salah pada mesin (kami memiliki quota_v1 dan quota_v2). Untuk Ubuntu, kesalahan seperti itu biasa terjadi pada server virtual berbasis awan.

Perbaiki kesalahan dengan menginstal paket Linux-image-extra-virtual menggunakan perintah apt.

quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //aquota.user: Permission denied
quota: Cannot open quotafile //quota.user: No such file or directory

Kesalahan ini penting ketika pengguna saat ini tidak memiliki izin untuk membaca file kuota. Sebagai Administrator, Anda hanya perlu melakukan perubahan izin yang benar atau menggunakan sudo ketika Anda perlu mengakses file dalam sistem atau file kuota.

Kesimpulan

Di bagian atas artikel, kami memulai dengan alat baris perintah kuota dan verifikasi versi kernel, lalu menjelaskan lebih lanjut cara menyiapkan kuota berbasis blok untuk satu pengguna dan cara menghasilkan laporan penggunaan kuota sistem file.

Artikel ini juga membahas kesalahan umum dan cara menghindarinya dengan menggunakan paket tambahan atau memverifikasi versi kernel pada sistem Anda.