1. 程式人生 > >磁盤配額基礎

磁盤配額基礎

格式 無法 -h 告訴 ges 寫到 ons 過程 ofo

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

初始化

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

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

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

[[email protected]
/* */ ~]# blkid /dev/sdb1 /dev/sdb1: LABEL="TEST" UUID="2160957c-ad8f-4ae8-b351-f9f997f85081" TYPE="ext4" [[email protected] ~]# 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 掃描磁盤空間時,計算每個群組識別碼所占用的目錄和文件數目

[[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,可以設置單位為MG

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] ~]# 

磁盤配額基礎