歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

linux之磁盤配額(quota),linuxquota

linux之磁盤配額(quota),linuxquota


linux之磁盤配額(quota),linuxquota


1.什麼是quota

  簡單的說就是限制用戶對磁盤空間的使用量。

  因為Linux是多用戶多任務的操作系統,許多人共用磁盤空間,為了合理的分配磁盤空間,於是就有了quota的出現。

2.quota的用途
    顯示磁盤使用情況和配額

3.quota的一般作用對象
    (1)針對WWW server
    (2)針對mail server
    (3)針對file server
4.quota的限制
    (1)僅能針對整個文件系統
    (2)需要kernel的支持
    (3)只對一般用戶有效

5.quota的使用

  測試環境   

    RHEL6.6(默認kernel已經支持quota功能)

    /dev/sdb1  供測試的文件系統

    用戶組   myquota

    用戶   quota1,quota2

 

  具體操作如下

    (1)重新掛/dev/sdb1文件系統,並添加usrquota,grpquota參數

    [root@localhost ~]# mount -o remount,usrquota,grpquota /dev/sdb1

    重新掛載後,/dev/sdb1這個分區就支持quota功能了

    [root@localhost ~]# mount | grep /dev/sdb1
    /dev/sdb1 on /mnt/test type ext4 (rw,usrquota,grpquota)

    (2)添加用戶組和用戶

    [root@localhost ~]# groupadd myquota
    [root@localhost ~]# useradd -g myquota quota1
    [root@localhost ~]# useradd -g myquota quota2
    

    (3)生成quota配置文件

    [root@localhost ~]# cd /mnt/test/

    [root@localhost test]# quotacheck -ug .  

    [root@localhost test]# ls
    aquota.group  aquota.user  lost+found  生成quota配置文件
    (4)啟動quota功能

    [root@localhost test]# quotaon /dev/sdb1
    若要關閉 使用quotaoff命令

    (5)修改quota配置文件

   
    配置文件內容如下
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/sdb1                         0              0          0            0           0          0

    需要修改的是soft/hard的值,單位是KB,soft為警告值,hard為最大值,當磁盤使用量在soft-hard之間,就會發出警告(默認倒計時7天),若超過警告時間,磁盤使用量依然在soft-hard 之間,則會禁止使用磁盤空間。

    若修改blocks的soft/hard表示規定用戶可以使用的磁盤空間大小(一般都是規定磁盤使用量)

    若修改的是inodes的 soft/hard值,表示規定用戶可以創建的文件個數. 

 

    [root@localhost test]# edquota -u quota1    -->修改針對quota1用戶的配置        

    Disk quotas for user quota1 (uid 500):
      Filesystem                   blocks          soft            hard         inodes      soft     hard
      /dev/sdb1                         0          100000       200000           0            0          0

    [root@localhost test]# edquota -u quota2    -->修改針對quota2用戶的配置

    Disk quotas for user quota2 (uid 501):
      Filesystem                   blocks       soft               hard        inodes     soft     hard
      /dev/sdb1                     0             100000        200000          0             0        0
  

    [root@localhost test]# edquota -g myquota  -->修改針對myquota組的配置

    Disk quotas for group myquota (gid 500):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/sdb1                    251200     100000     300000          3        0        0    

   這樣配置表示quota1,quota2用戶最多使用200M的磁盤空間,超過100M就發出警告並進入倒計時,而myquota組最多使用300M的磁盤空間。

   也就是說,雖然quota1,quota2都有200M的最大磁盤空間能使用權限,但他們都屬於myquota組,他們的總量不得超過300M

   

  

    修改權限

    [root@localhost test]# chmod 777 .
    [root@localhost test]# ll -d
    drwxrwxrwx. 3 root root 4096 8月  23 09:36 .
    切換quota1用戶,進行測試

    [root@localhost test]# su quota1
    [quota1@localhost test]$ dd if=/dev/zero of=bigfile1 bs=1M count=150
    sdb1: warning, user block quota exceeded.   -->警告
    記錄了150+0 的讀入
    記錄了150+0 的寫出
    157286400字節(157 MB)已復制,1.02545 秒,153 MB/秒

    再寫入一個大文件

    [quota1@localhost test]$ dd if=/dev/zero of=bigfile2 bs=1M count=150
    sdb1: write failed, user block limit reached.
    dd: 正在寫入"bigfile2": 超出磁盤限額   -->超過200M的部分就無法寫入了
    記錄了46+0 的讀入
    記錄了45+0 的寫出
    47513600字節(48 MB)已復制,0.381467 秒,125 MB/秒

    切換quota2用戶

    [root@localhost test]# su quota2
    [quota2@localhost test]$ ls
    aquota.group  aquota.user  bigfile1  bigfile2  lost+found
    [quota2@localhost test]$ dd if=/dev/zero of=bigfile3 bs=1M count 50

    記錄了50+0 的讀入
    記錄了50+0 的寫出
    52428800字節(52 MB)已復制,0.410838 秒,128 MB/秒

    修改警告時間

    [root@localhost test]$ 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/sdb1                     7days                          7days

    

    查看quota1的quota信息

    [quota1@localhost test]$ quota -u quota1
    Disk quotas for user quota1 (uid 500):
       Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1  200000* 100000  200000   6days       2       0       0          -->已經進入警告的倒計時了
    

    查詢quota2的quota信息

    [root@localhost test]# quota -u quota2
    Disk quotas for user quota2 (uid 501):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
        /dev/sdb1   51200  100000  200000               1       0       0       

    查詢myquota組的quota信息
    [root@localhost test]# quota -g myquota
    Disk quotas for group myquota (gid 500):
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1  251200* 100000  300000   6days       3       0       0 

 

 

    總結:

       quotacheck [ -gubcfinvdMmR ] [ -F quota-format ] -a | filesystem

         -a   檢查所有/etc/mtab中掛在的文件系統

         -u  只檢查用戶的quota

         -g  只檢查用戶組的quota

      quota

        不使用任何參數,查詢當前用戶的quota信息

        -u  username  查詢某用戶的quota信息

        -g  groupname  查詢某用戶組的quota信息

      edquota

        -u username   編輯某用戶的quota配置

        -g groupname  編輯某用戶組的quota配置

        -t        編輯警告時間的配置

    

      還有一個綜合查詢命令是

      repquota

         -a   報告所有支持quota的文件系統

         -u 報告針對user的quota信息

         -g 包裹針對group的quota信息

      一般三個參數一起使用

      [root@localhost test]# repquota -aug
      *** Report for user quotas on device /dev/sdb1
      Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
      User            used    soft    hard  grace    used  soft  hard  grace
      ----------------------------------------------------------------------
      root      --      20       0       0              2     0     0       
      quota1    +-  200000  100000  200000  6days       2     0     0       
      quota2    --   51200       0       0              1     0     0       


      *** Report for group quotas on device /dev/sdb1
      Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
      Group           used    soft    hard  grace    used  soft  hard  grace
      ----------------------------------------------------------------------
      root      --      20       0       0              2     0     0       
      myquota   +-  251200  100000  300000  7days       3     0     0    

 

 

 

 

 

  

 

http://xxxxxx/Linuxjc/1152261.html TechArticle

Copyright © Linux教程網 All Rights Reserved