Minggu, 14 November 2010

Disk Quota di Ubuntu Linux

Membuat Aturan Pembatasan Pemakaian Ruang Harddisk    ( Disk Quota )

Disk Quota adalah pemberian quota atau jatah ruang pada media peyimpanan dengan ukuran tertentu untuk masing-masing user pada sistem multiuser.  

Di Ubuntu, cukup mudah dilakukan. Kita akan melakukan quota dengan metode journaling quota, dengan langkah-langkah sbb :
1. Install quota
sudo apt-get install quota
2. Edit /etc/fstab shg jadi kira-kira sbb :

sudo gedit /etc/fstab
    Cari mount untuk root ( / )
    Semula :
Code:
UUID=d5a73efb-4baa-4972-b689-6b3b0912e64d / ext4 errors=remount-ro 0   1

    Menjadi :
Code:
UUID=d5a73efb-4baa-4972-b689-6b3b0912e64d /   ext4    errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0       1
UUID sesuaikan dg nomor UUID di komputer (ada di fstab) atau bisa dicek dengan mengetikkan command sudo blkid di terminal

3. Buat file untuk menyimpan aturan quota di / ( root )
sudo touch /aquota.user /aquota.group
   Ubah mode menjadi :
sudo chmod 600 /aquota*

4. REBOOT Komputer

5. Atur Quota Per-User :
   Misal :
   kuota = 1 GB per user  ---> 1 GB = 1000000 KiloByte
   root   = ada di /dev/sda8 (sesuaikan dg posisi root di partisi harddisk)
  
sudo edquota -u masdjo -f /dev/sda8

Menjadi kira-kira seperti ini :
Code:
Disk quotas for user masdjo (uid 1000):
Filesystem blocks   soft    hard    inodes   soft   hard
/dev/sda8     0 1000000  1000000     0     0     0


Simpan dengan menekan Ctrl+O, lalu keluar dengan Ctrl+X
Ulangi untuk masing2 user

6. Sesuaikan grace-period
sudo edquota -t -f /dev/sda8
Menjadi :
Code:
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sda8 0seconds 0seconds


7. Matikan quota :
sudo quotaoff -avug

8. Aktifkan quota :
sudo quotaon -avug
Untuk melihat kuota yang telah ditentukan :
sudo repquota -a
Maka akan terlihat kira-kira sbb :
Code:
root@blueskynet:/home/masdjo# repquota -a
*** Report for user quotas on device /dev/sda8
Block grace time: 00:00; Inode grace time: 00:00
Block limits File limits
User used soft hard grace used soft hard grac
---------------------------------------------------------------------
root -- 4720752 0 0 206444 0 0
daemon -- 56 0 0 4 0 0
man -- 1416 0 0 118 0 0
lp -- 9312 0 0 3 0 0
libuuid -- 24 0 0 3 0 0
syslog -- 2700 0 0 26 0 0
avahi-autoipd -- 4 0 0 1 0 0
couchdb -- 20 0 0 5 0 0
speech-dispatcher -- 4 0 0 1 0
gdm -- 740 0 0 95 0 0
dhcpd -- 12 0 0 3 0 0
masdjo -- 227248 1000000 1000000 5563 0 0
clamav -- 22708 0 0 9 0 0
klien01 -- 74564 500000 500000 1059 0 0
klien02 -- 106712 500000 500000 1306 0 0
klien03 -- 63520 500000 500000 829 0 0
klien04 -- 61192 500000 500000 831 0 0
klien05 -- 21528 500000 500000 771 0 0
rian -- 153448 500000 500000 1531 0 0
andri -- 79512 250000 250000 670 0 0
yuni -- 3016 250000 250000 262 0 0


Sekarang kita coba, apakah benar-benar ada quota tersebut, misal disini mengcopy file ISO yang besar diatas 1 GB. Setelah proses copy berjalan beberapa saat muncul message sbb :


Dari pesan kesalahan dapat diketahui bahwa kuota penyimpanan telah terlampaui sehingga proses copy tidak dapat dilanjutkan, berarti langkah pengaturan kuota (Disk Quota) telah berhasil dilakukan.
Yesss....... !!!
Sekarang saatnya untuk ngopi lagi :)


Sedikit Catatan Untuk Ubuntu 10.10 Maverick Meerkat

Ternyata journaling quota tidak bisa dilakukan di Ubuntu 10.10, entah karena apa (mungkin bug..?), tetapi masih bisa dilakukan quota sebagai berikut :
 
1. Pada /etc/fstab
ganti baris : 
 
errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0

menjadi :

errors=remount-ro,usrquota,grpquota,jqfmt=vfsv0

2.  Hapus /aquota.user dan /aquota.group, ganti dengan /quota.user dan /quota.group

sudo rm /aquota* && sudo touch /quota.user /quota group
sudo chmod 600 /quota*

3. Remount :

 sudo mount -o remount /

4. Checkquota :

sudo quotacheck -avugm

5. Aktifkan Quota :

sudo quotaon -avug

Selanjutnya seting kuota bisa dilakukan, sama seperti yang telah dituliskan di atas.

Sumber Acuan :
  1. http://www.howtoforge.com/perfect-server-ubuntu-10.04-lucid-lynx-ispconfig-2-p4
  2. http://ubuntuforums.org/archive/index.php/t-1014051.html
  3. http://ubuntuforums.org/showthread.php?t=289571

6 komentar:

  1. wah, kalau mau mengatur kuota untuk pacar dan istri, caranya piye pak djo?

    BalasHapus
  2. Wah...itu spesifik utk tiap2 user beda2 carane .... ora iso dijabarkan dimari.... :D

    BalasHapus
  3. '
    manteb tenan :D
    kalau buat user LTSP ada bedanya tidak dari seting diatas??

    THX

    BalasHapus
  4. @mazrezzz : justru yg di atas saya coba di LTSP server, dan berhasil... user gak bisa over-quota

    BalasHapus
  5. go ubuntu 10.10 ra iso go quota wis tak coba pancen iso pas direstart bubar kabeh mending go 10.04

    BalasHapus
  6. Saya sudah coba juga di Ubuntu 10.10, dan hasilnya bisa !
    Coba dilakukan dg SINGLE-MODE sbb:

    Reboot komputer, pd menu grub tekan 'e' (edit), cari baris sbb :
    linux /boot/vmlinuz-2.6.32-25-generic root=UUID= .... ro quiet splash
    ganti dg :
    linux /boot/vmlinuz-2.6.32-25-generic root=UUID= .... rw single
    lal...u tekan 'ctrl+t' (boot)
    akan muncul menu, pilih netroot
    Coba lakukan seting quota dg non-journal dulu :
    1. Edit /etc/fstab :
    jadikan kira2 sbb : errors=remount-ro,usrquota,grpquota 0 1
    2. # rm /aquota*
    # touch /quota.user /quota.group
    # chmod 600 /quota*
    3. # mount -o remount /
    4. # quotacheck -avugm
    Jika tidak ada eror, lanjutkan dg membuat journal quota
    5. Edit /etc/fstab :
    jadikan kira2 sbb : errors=remount-ro,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1
    6. # rm /quota*
    # touch /aquota.user /aquota.group
    # chmod 600 /aquota*
    7. Lakukan lagi step 3 dan 4
    8. # quotaon -avug

    BalasHapus