disk quota di linux

Quota adalah suatu perangkat administrasi sistem yang berfungsi untuk membatasi dan memantau pemakaian suatu partisi oleh user atau pun group

Disk quota bisa diterapkan berdasarkan ruang disk (block quota) atau berdasarkan jumlah file (inode quota)

Disk quota bisa diterpakan per user atau per group,

  • jika diterapkan per user maka quota yang diterapkan mutlak milik user tersebut, misal : user holmes memiliki disk quota 5 MB, maka total 5MB tersebut adalah mutlak milik user holmes.
  • jika disk quota diterapkan per group maka kapasitas yang ditetapkan adalah milik bersama group tersebut, misal : user optimus dan bumblebee adalah anggota group autobots, jika group autobots diberi quota sebesar 10 MB maka kapasitas tersebut adalah milik user optimus dan bumblebee, jadi misalkan user optimus menggunakan sebanyak 6MB maka masih terdapat 4MB untuk digunakan oleh user bumblebee

Pembatasan disk quota ditentukan oleh dua kategori yaitu hard limit dan soft limit,

  • batas hard limit adalah batas yang tidak dapat dilewati, jika user telah mencapai batas hard limit maka user tersebut tidak dapat memasukkan data lagi ke hard disk, contoh jika user optimus memiliki quota 5 MB dan sudah digunakan 4.9 MB dengan demikian sisanya tinggal 0.1 MB jika kemudian dia mencoba untuk menyimpan file sebesar 0.4MB maka sistem akan menolaknya.
  • soft limit adalah batas yang bisa dilewati, namun hanya dalam periode tertentu, periode tersebut disebut dengan grace period, defaultnya nilai grace period adalah 7 hari, umumnya nilai hard limit lebih besar dari soft limit. untuk lebih jelas perhatikan contoh berikut, misalkan user optimus diberikan soft limit sebesar 10 MB, hard limit 15 MB, serta grace period 3 hari, jika user optimus sudah menggunkan kapasitas hard disk sebesar 12 MB maka nilai soft limitnya sudah terlewati, dengan demikian perhitungan grace period dimulai, jika dalam waktu 3 hari user optimus belum mengurangi penggunaan disknya sampai di bawah soft limit, maka dia tidak dapat menggunakan disk lagi walaupun nilai hard limitnya belum di capai, jika user optimus mengurangi batas penggunaan disknya sampai di bawah 10 MB maka nilai grace period kembali di reset ke 3

Dalam menerapkan quota terdapat 4 utiliti pokok yaitu :

  • quota check : melakukan pengecekan pengecekan terhadap partisi yang menerapkan quota
  • quotaon : untuk mengaktifkan quota pada partisi yang bersangkutan
  • quotaoff : untuk mematikan quota
  • repquota : untuk melaporkan status quota saat ini

Perencanaan Quota
Sebelum seorang administrator menerapkan disk quota, sebaiknya terlebih dahulu harus dibuat perancanaan, setiap user memiliki direktori sendiri yang ditempatkan pada direktori /home dan user hanya memiliki hak untuk memodifikasi isi direktori home miliknya. jadi pembatasan akan dilakukan pada direktori home milik user, ada beberapa hal yang perlu diperhatikan sebelum menerapkan disk quota :
1. Usahakan jangan menerapkan quota pada partisi sistem, hal ini untuk menghindari kerusakan yang mungkin saja timbul akibat dari penerapan disk quota, walaupun kemungkinan terjadi kerusakan sangatlah kecil
2. Penerapan disk quota secara default hanya berpengaruh pada direktori /home oleh karena itu sebaiknya direktori /home ditempatkan pada partisi tersendiri
3. Tentukan jumlah user yang akan ditampung beserta besarnya quota untuk tiap-tiap user, misal ada 100 user dan setiap user akan diberi quota sebesar 20 MB, sehingga total kapasitas hard disk yang diperlukan sebaiknya lebih dari 2GB, dengan demikian partisi untuk direktori /home minimal harus 2 GB, dan perhitungan harus berdasarkan nilah hard limit bukan soft limit

Contoh Penerapan Disk Quota :

– sediakan satu buah partisi tersendiri untuk direktori /home
– jika belom ada buat partisi baru untuk direktori /home (buat partisi untuk /home bisa menggunakan fdisk)
– format partisi tersebut menjadi ext3

[root@sarangpenyamun /]# mkfs.ext3 /dev/hda5

– tambah kan pada /etc/fstab

[root@lsarangpenyamun /]# vi /etc/fstab

– menjadi seperti dibawah ini (baris yang di bold dan miring) :

pada file /etc/fstab seperti contoh di atas, berfungsi supaya partisi di mount secara otomatis setiap komputer booting, kemudian perhatikan baris yang mengandung tulisan /home, partisi tempat quota ditetapkan pada contoh diatas, direktori /home berada pada partisi /dev/hda5, opsi usrquota berguna untuk mengaktifkan quota pada user, sedangkan grpquota berguna untuk mengaktifkan quota pada group

– setelah itu back up direktori /home yang sudah ada

[root@sarangpenyamun /]# cp -R /home /home.backup

– hapus isi /home

[root@sarangpenyamun /]# cd /home
[root@
sarangpenyamun /]# rm -Rf *

– mount /dev/hda5 ke /home (agar direktori /home memiliki partisi sendiri yang terpisah dari partisi sistem)

[root@sarangpenyamun /]# mount /dev/hda5 /home

– setelah di mount kembalikan isi /home.backup ke /home

[root@sarangpenyamun /]# cp –R /home.backup/* /home

– kemudian membuat user dan group sesuai dengan kebutuhan, contoh :

misalnya terdapat sebuah group yaitu group autobots, dalam group ini terdapat dua user optimus dan bumble bee, kemudian terdapat dua user yang tidak termasuk group autobots yaitu holmes dan Watson, pada group autobots akan diterapkan quota sebesar 500 MB dengan hard limit 550, sedangkan quota untuk user homes sebesar 100 MB dengan hard limit 110 dan user watson sebesar 100 MB dengan hard limit 110, grace period akan ditetapkan 7 hari untuk user dan 10 hari untuk group.

[root@sarangpenyamun /]# adduser optimus
[root@
sarangpenyamun /]# adduser bumblebee
[root@
sarangpenyamun /]# adduser holmes
[root@
sarangpenyamun /]# adduser watson
[root@
sarangpenyamun /]# groupadd autobots
[root@
sarangpenyamun /]# gpasswd -a optimus autobots
Adding user optimus to group autobots
[root@sarangpenyamun /]# gpasswd -a bumblebee autobots
Adding user bumblebee to group autobots
[root@sarangpenyamunlocalhost /]# passwd optimus
Changing password for user optimus.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@sarangpenyamun /]# passwd bumblebee
Changing password for user bumblebee.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@sarangpenyamun /]# passwd holmes
Changing password for user holmes.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@sarangpenyamun /]# passwd watson
Changing password for user watson.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

– setelah langkah-langkah diatas selesai jalankan perintah quotacheck -avug dan quotaon -avug, quotacheck akan melakukan pengecekan dan melakukan perbaikan jika terjadi ketidak-konsistenan antara file qouta dan file-sistem, quota check harus dijalankan setiap kali belakukan proses booting, begitu pula dengan quotaon juga harus dijalankan setiap kali booting. agar setiap boting quotacheck dan qoutaon berjalan secara otomatis tambahkan script di bawah ini ke dalam file /etc/rc.d/rc.local :

[root@sarangpenyamun /]# vi /etc/rc.d/rc.local

if [ -x /sbin/quotacheck ]
then
/sbin/quotacheck -avug
fi
if [ -x /sbin/quotaon ]
then
/sbin/quotaon -avug
fi

– sekarang lakukan proses booting, jika tidak ada kesalahan maka pada direktori /home akan muncul dua buah file yaitu aquota.user dan aquota.group

– kemudian menentukan quota untuk user dan group yang telah dibuat (dimulai dari user holmes)

[root@sarangpenyamun /]# edquota -u holmes

– lalu akan muncul tesk editor (biasanya vi) dengan isi seperti dibawah :

perhatikan bagian block soft dan hard (karena yang digunakan disini adalah quota berdasarkan block bukan inodes). Kolom block menandakan jumlah block yang sudah dipergunakan oleh user homes saat ini dengan demikian kolom ini tidak bisa diubah, karena user holmes akan diberikan quota sebesar 100 MB maka isi kolom soft dengan angka 102400 (1 block = 1024 bytes, jadi 10M = 10 x 1024 block), untuk kolom hard isi saja (112640 MB)

– lanjutkan untuk user watson

[root@sarangpenyamun /]# edquota -u watson

– dan group autobots (perbedaan user dan group terletak pada option -u = untuk user dan -g = group)

[root@sarangpenyamun /]# edquota -g autobots

– untuk menentukan grace period user dan group (7hari dan 10 hari)

untuk user secara global :

[root@sarangpenyamun /]# edquota -u -t

untuk user secara spesifik/satu user :

[root@sarangpenyamun /]# edquota -u -T watson

untuk group secara global :

[root@sarangpenyamun /]# edquota -g -t

untuk group secara spesifik/satu group :

[root@sarangpenyamun /]# edquota -g -T autobots

– untuk memeriksa status quota

[root@sarangpenyamun ~]# repquota -avug

***tested on slackware (9, 10, 11), redhat 9.0, fedora core 4***

One thought on “disk quota di linux

  1. […] Semua file tentang user di simpan di dalam berkas /etc/passwd. Selain beberapa perintah di atas masih banyak lagi perintah di linux yang berhubungan dengan user dan group, perintah tentang group bisa di lihat di sini […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: