實作 quota

  1. 主要的步驟:
    1. 開啟磁碟的 quota 功能:編輯 /etc/fstab ,使檔案系統可以支援 quota;
    2. 預掃瞄磁碟:使用 quotacheck 掃瞄要使用的檔案系統;
    3. 啟動 quota:使用 quotaon。
    4. 建立使用者的 quota:使用 edquota 編輯每個使用者或群組的可使用空間;
  2. 建立檔案系統的 quota 支援
    [root@dywOffice dywang]# vi /etc/fstab
    /dev/hda1 / ext3 defaults 1 1
    /dev/hda10 /backup ext3 defaults 1 2
    /dev/hda9 /home ext3 defaults,usrquota,grpquota 1 2
    
  3. 重新啟動( reboot )或重新 mount filesystem
    [root@dywOffice dywang]# mount -a -o remount
    
  4. quotacheck 掃瞄硬碟的使用者狀況
    [root@dywOffice dywang]# quotacheck -mavug
    quotacheck: Scanning /dev/hda9 [/home] done
    quotacheck: Checked 2635 directories and 41182 files
    [root@dywOffice dywang]# ll /home
    total 48
    -rw-------   1 root    root   8192 Aug  8 11:10 aquota.group
    -rw-------   1 root    root   7168 Aug  8 11:10 aquota.user
    drwx--x--x  53 dywang  users  4096 Aug  8 10:38 dywang/
    drwx--x--x   2 root    root  16384 Jul  2 18:14 lost+found/
    drwx--x--x  23 test      500  4096 Jul 31 00:30 test/
    drwx------  21 test1     501  4096 Jul 31 07:24 test1/
    drwx--x--x   3 testing users  4096 Aug  7 15:51 testing/
    
  5. quotaon 啟動 quota
    [root@dywOffice dywang]# quotaon -av
    /dev/hda9 [/home]: group quotas turned on
     /dev/hda9 [/home]: user quotas turned on
    
  6. edquota 編輯使用者可使用的空間
    [root@dywOffice dywang]# edquota -u testing
    Disk quotas for user testing (uid 503):
      Filesystem    blocks       soft       hard     inodes     soft     hard
      /dev/hda9         24      40000      50000          6        0        0
    
    1. filesystem:檔案系統。
    2. blocks:目前使用掉的空間,單位是 Kbytes,由 quota 程式計算出來。不要修改。
    3. soft 與 hard:檔案系統的 quota 限制值,單位為 Kbytes。當 soft 與 hard 數值為 0 時表示『沒有限制』。
    4. inodes:目前使用掉 inode 的狀態,也是 quota 計算得到,不要變更。

  7. 將對 testing 的設定複製給 test1
    [root@dywOffice dywang]# edquota -p testing test1
    
  8. 設定寬限時間
    [root@dywOffice dywang]# edquota -t
    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/hda9                     1days                  1days
    
  9. 查詢
    [root@dywOffice dywang]# quota -vu testing test1
    Disk quotas for user testing (uid 503):
      Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
       /dev/hda9      24   40000   50000               6       0       0
    Disk quotas for user test1 (uid 502):
      Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
       /dev/hda9     652   40000   50000             160       0       0
    
  10. 編輯群組使用空間(類似使用者)
  11. 設定開機時啟動
    [root@dywOffice dywang]# vi /etc/rc.d/rc.local
    /sbin/quotaon -aug
    
  12. 關閉 quota
    [root@dywOffice dywang]# quotaoff -a
    
  13. 例題:有一檔案系統 /dev/hda5,格式為 ext3,掛載於 /home,若要限制使用者 csie 之 quota 為:soft limit 40M, hard limit 50M 且寬限時間為 2 天,並將 csie 的設定直接 copy 給 csie1,該如何做?請詳列完整步驟。

練習題

  1. 列出建立檔案系統 quota 之步驟?
    Sol. 1. 編輯 /etc/fstab 開啟磁碟的 quota 功能; 2. 使用 quotacheck 掃瞄掃瞄檔案系統的使用情況; 3.:使用 edquota 編輯使用者的 quota; 4. 使用 quotaon 啟動 quota。
  2. 若開機時 /home 掛載在 /dev/hda5,現要將其支援使用者及群組 quota,則要如何修改檔案中的這一行「/dev/hda5 /home ext3 defaults 1 2」?
    Sol. 修改 /etc/fstab 上述一行為「/dev/hda5 /home ext3 defaults,usrquota,grpquota 1 2」
  3. 若開機時 /home 掛載在 /dev/hda5,現要將其支援使用者 quota,則要如何修改檔案中的這一行「/dev/hda5 /home ext3 defaults 1 2」?
    Sol. 修改 /etc/fstab 上述一行為「/dev/hda5 /home ext3 defaults,usrquota 1 2」
  4. 若開機時 /home 掛載在 /dev/hda5,現要將其支援群組 quota,則要如何修改檔案中的這一行「/dev/hda5 /home ext3 defaults 1 2」?
    Sol. 修改 /etc/fstab 上述一行為「/dev/hda5 /home ext3 defaults,grpquota 1 2」