磁盤配額基礎
磁盤配額在本質上就是限制某些用戶過度的使用磁盤空間,文了保護磁盤不至於過於飽和導致其他用戶無法使用該磁盤空間。給用戶一定的磁盤空間使用限制,包括一個警告容量,當到達警告容量時,系統會對其進行提醒,一旦用戶使用到限制容量大小,便無法在在該磁盤繼續創建文件。
初始化
如果我們要使用磁盤配額,首先要做的第一步是在掛載分區選項裏添加usrquota和grpquota兩個選項,分別對應的是對user的限制,和對該group用戶的限制。
將他們寫到/etc/fstab的磁盤掛載信息裏,如:
LABEL="TEST" /test ext4 defaults,usrquota,grpquota 0 0
[[email protected]
然後我們初始化數據庫,初始化數據庫後,系統會在該磁盤下創建文件aquota.group,aquota.user。
說明:
quotacheck命令通過掃描指定的文件系統,獲取磁盤的使用情況,創建、檢查和修復磁盤配額(quota)文件。執行quotacheck指令,掃描掛入系統的分區,並在各分區的文件系統根目錄下產生quota.user和quota.group文件,設置用戶和群組的磁盤空間限制。
命令:quotacheck –cug 掛載的目錄
-c 對文件系統進行掃描,不會讀已經存在的配額文件
-u 掃描磁盤空間時,計算每個用戶識別碼所占用的目錄和文件數目
-g 掃描磁盤空間時,計算每個群組識別碼所占用的目錄和文件數目
[[email protected] ~]# quotacheck -cug /test [[email protected] ~]# 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
[[email protected] ~]# quotaon /test [[email protected] ~]# 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 [[email protected] ~]# 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,可以設置單位為M,G)
blocks就是該用戶或組實際的文件大小總和,無需改動
soft是警告會產生的容量,當該用戶或組的文件總量到達這個值就會給出警告信息
hard是限制,當總量到達這個值後,就無法在添加文件
inodes是指文件數量,無需改動
soft指文件數量的警告值
hard是指實際限制值
[[email protected] ~]# 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
[[email protected] ~]# setquota mage 6G 8G 100 120 /test [[email protected] ~]#
查看配額狀態
當我們想查看用戶的配額使用情況時,我們可以使用一些命令來查看,我們在這裏說兩個命令:
查看單用戶:
命令:quota [option] username
參數:
-g:列出群組的磁盤空間限制;
-q:簡明列表,只列出超過限制的部分;
-u:列出用戶的磁盤空間限制;
-v:顯示該用戶或群組,在所有掛入系統的存儲設備的空間限制;
-V:顯示版本信息。
[[email protected] ~]# 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:顯示該用戶或群組的所有空間限制。
[[email protected] ~]# 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
[[email protected] ~]# warnquota -u
[[email protected] ~]#
磁盤配額基礎