磁盤配額基礎

磁盤配額在本質上就是限制某些用戶過度的使用磁盤空間,文了保護磁盤不至於過於飽和導致其他用戶無法使用該磁盤空間。給用戶一定的磁盤空間使用限制,包括一個警告容量,當到達警告容量時,系統會對其進行提醒,一旦用戶使用到限制容量大小,便無法在在該磁盤繼續創建文件。

初始化

   如果我們要使用磁盤配額,首先要做的第一步是在掛載分區選項裏添加usrquotagrpquota兩個選項,分別對應的是對user的限制,和對該group用戶的限制。

將他們寫到/etc/fstab的磁盤掛載信息裏,如:

LABEL="TEST" /test ext4    defaults,usrquota,grpquota  0 0

[root@CT6 ~]# blkid /dev/sdb1
/dev/sdb1: LABEL="TEST" UUID="2160957c-ad8f-4ae8-b351-f9f997f85081" TYPE="ext4" 
[root@CT6 ~]# vim /etc/fstab 
  1 
  2 #
  3 # /etc/fstab
  4 # Created by anaconda on Tue Jul 11 15:55:27 2017
  5 #
  6 # Accessible filesystems, by reference, are maintained under '/dev/disk'
  7 # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
  8 #
  9 UUID=6df0d47f-1a62-4419-a49c-e57906aa2173 /                       ext4    defaults        1 1
 10 UUID=cab5975d-48e5-4699-ad14-3ba77c23eb76 /app                    ext4    defaults        1 2
 11 UUID=2ce5a899-4627-4999-8d5f-6dba1a73008e /boot                   ext4    defaults        1 2
 12 UUID=8c5e10b7-90c0-49f0-a165-54e8120fab57 swap                    swap    defaults        0 0
 13 UUID=d61dadb7-2d2c-4639-a927-3de618b914ca swap                    swap    defaults        0 0
 14 UUID=2160957c-ad8f-4ae8-b351-f9f997f85081 /test                   ext4    defaults,usrquota,g
    rpquota        0 0

然後我們初始化數據庫,初始化數據庫後,系統會在該磁盤下創建文件aquota.groupaquota.user

說明

quotacheck命令通過掃描指定的文件系統,獲取磁盤的使用情況,創建、檢查和修復磁盤配額(quota)文件。執行quotacheck指令,掃描掛入系統的分區,並在各分區的文件系統根目錄下產生quota.userquota.group文件,設置用戶和羣組的磁盤空間限制。

命令:quotacheck –cug 掛載的目錄

      -c 對文件系統進行掃描,不會讀已經存在的配額文件

      -u 掃描磁盤空間時,計算每個用戶識別碼所佔用的目錄和文件數目

      -g 掃描磁盤空間時,計算每個羣組識別碼所佔用的目錄和文件數目

[root@CT6 ~]# quotacheck -cug /test
[root@CT6 ~]# ll /test/
total 32
-rw-------. 1 root root  6144 Aug 22 21:13 aquota.group
-rw-------. 1 root root  6144 Aug 22 21:13 aquota.user
drwx------. 2 root root 16384 Aug 22 21:07 lost+found

開啓/關閉指定文件系統的配額功能

命令:quotaon/quotaoff

參數:

-a:開啓在/ect/fstab文件裏,有加入quota設置的分區的空間限制(默)

-g:開啓羣組的磁盤空間限制

-u:開啓用戶的磁盤空間限制

-v:顯示指令指令執行過程

如果我指定的文件系統掛載在/test下:

     開啓:quotaon    /test

     關閉:quotaoff    /test

[root@CT6 ~]# quotaon /test
[root@CT6 ~]# ll /test
total 32
-rw-------. 1 root root  6144 Aug 22 21:13 aquota.group
-rw-------. 1 root root  6144 Aug 22 21:13 aquota.user
drwx------. 2 root root 16384 Aug 22 21:07 lost+found
[root@CT6 ~]# rm /test/aquota.group 
rm: remove regular file `/test/aquota.group'? y
rm: cannot remove `/test/aquota.group': Operation not permitted   -------------------------開啓後root也無法將數據庫文件刪除

編輯配額信息

在這一部分就是編輯我們要限制的配額信息,包括配額的大小,配額文件數量,我們有兩種方式可以對磁盤進行配額。

直接編輯:

   命令:edquota username

   參數:

      -u:設置用戶的quota,這是預設的參數;

-g:設置羣組的quota

-p<源用戶名稱>:將源用戶的quota設置套用至其他用戶或羣組

-t:設置寬限期限。

Disk quotas for user Tom (uid 501):

  Filesystem  blocks    soft     hard    inodes     soft     hard

/dev/sda6  1150980  1048576  2097152     1       200      250

如上所示就是我們針對於某用戶或者組需要進行的配額信息:

(默認單位是K,可以設置單位爲MG

   blocks就是該用戶或組實際的文件大小總和,無需改動

   soft是警告會產生的容量,當該用戶或組的文件總量到達這個值就會給出警告信息

   hard是限制,當總量到達這個值後,就無法在添加文件

   inodes是指文件數量,無需改動

   soft指文件數量的警告值

   hard是指實際限制值

[root@CT6 ~]# edquota Tom
Disk quotas for user Tom (uid 501):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0          8G         10G          0        200    220 
~                                                                                          

shell中編輯:

格式:

   setquota usename ##M|G ##M|G  n1 n2 掛載目錄

   例如:setquota usename 35G 50G  40 50 /test

   這四個參數對應的就是上面的soft hard soft hard

[root@CT6 ~]# setquota mage 6G 8G 100 120 /test
[root@CT6 ~]# 

查看配額狀態

當我們想查看用戶的配額使用情況時,我們可以使用一些命令來查看,我們在這裏說兩個命令:

查看單用戶

   命令:quota [option] username

   參數:

      -g:列出羣組的磁盤空間限制;

-q:簡明列表,只列出超過限制的部分;

-u:列出用戶的磁盤空間限制;

-v:顯示該用戶或羣組,在所有掛入系統的存儲設備的空間限制;

-V:顯示版本信息。

[root@CT6 ~]# quota -vu Tom
Disk quotas for user Tom (uid 501): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1       0  8388608 10485760               0     200     220       

查看所有用戶

   命令:repquota [option] mount_point

   參數:

      -a:列出在/etc/fstab文件裏,有加入quota設置的分區的使用狀況,包括用戶和羣組;

-g:列出所有羣組的磁盤空間限制;

-u:列出所有用戶的磁盤空間限制;

-v:顯示該用戶或羣組的所有空間限制。

[root@CT6 ~]# repquota -vu /test 
*** 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       
Tom       --       0 8388608 10485760              0   200   220       
mage      --       0 6291456 8388608              0   100   120       

Statistics:
Total blocks: 7
Data blocks: 1
Entries: 3
Used average: 3.000000 

發送警告信息

當磁盤到達警告範圍,我們可以使用命令發郵件告訴用戶及時清理自己的文件,以便可以持續使用該空間

命令:warnquota [option]

參數:

    -u 給所有超過限制的用戶發郵件

    -g 當組的限制超出時,給組管理員發郵件,管理員需在/etc/quotagrpadmins 中指定

格式: groupname: username

[root@CT6 ~]# warnquota -u
[root@CT6 ~]# 

 

發佈了52 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章