1、磁盤配額概念
磁盤配額是限制用戶或者用戶組在一個分區上可以使用的空間大小和文件個數的限制。
擴展:
- 管理員可以為用戶所能使用的磁盤空間進行配額限制,每一用戶只能使用最大配額范圍內的磁盤空間。
- 磁盤配額針對的是分區,Windows系統也有磁盤配額功能。
- 這是一個基礎的功能,如果真要在實際工作中使用,還需要結合其他的其他的服務。比如上傳文件,需要結合FTP服務器等。
2、磁盤配額條件
(1)內核必須支持磁盤配額
[root@localhost ~]# grep CONFIG_QU0TA /boot/config-2.6.32-279.e16.i686
# 執行上面命令,如果搜索到下面內容,說明Linux內核加載了磁盤配額功能。
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
#CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG QUOTACTL=y
#我搜索的結果是
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_XFS_QUOTA=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
一般情況下,那怕是最小化安裝的Linux系統中,磁盤配額都是配置好的。
(2)系統中必須安裝了quota工具。
我們的Linux默認是安裝了quota工具的,查看命令如下:
[root@localhost ~]# rpm -qa | grep quota
quota-3.17-16.e16.i686
提示:如果內核不支持,就要重新編譯內核,一般不會出現這樣情況。如果沒有
quota工具,直接用yum安裝。
3、磁盤配額的相關概念
(1)用戶配額和組配額
能限制用戶的配額,也能限制組的配額。在實際日常中,組配額很少用。
說明:為什么組配額很少用?
比如我給一個組限制600MB的空間配額,這個組中有三個用戶,而組配額並不是按照每個人200MB的方式進行划分,而是先到先得的方式進行划分,有可能
user1一個人把600MB的空間全部占用了,而另外兩個人一點空間都沒有。
(2)磁盤容量限制和文件個數限制
磁盤配額是可以對一個分區的磁盤容量和文件個數進行限制。
為什么要限制文件個數?
因為每個文件都會占用一個
i節點號,而i節點號是有限的,分區大小不同,i節點號的數量是不一樣的。如果i節點占滿了,也同樣存儲不了數據。
(3)軟限制和硬限制
- 軟限制可以理解為警告限制,如果你超過了軟限制,你還可以寫入數據,只是每次寫入都會有提示,你的空間快占滿了,請你盡快清理。
- 硬限制就是實際限制,到了限制,你一個字節都存儲不了了。
(4)寬限時間
如果用戶的空間占用大小,處於軟限制和硬限制之間,系統會在用戶登陸時警告用戶磁盤將滿,這個時間就是寬限時間,默認是7天。如果達到了寬限時間,用戶的磁盤占用量還超過軟限制,那么軟限制就會升級為硬限制。(這個時間能修改,但是沒有必要。)
4、磁盤配額實踐規划
我們開始磁盤配額實驗,首先我們來規划下:
- 磁盤配額是限制的普通用戶在分區上使用磁盤空間和文件個數的,所以我們需要指定一個分區。那么我們手工建立一個5GB的
/dev/sdb1分區,把它掛載到/disk目錄當中。(swap分區和boot分區不能做實驗)。 - 還有需要建立被限制的用戶和用戶組。假設需要限制
user1、user2和user3用戶,這三個用戶屬於test用戶組。(組配合不好用,上面說了,不進行說明了,這里只說明普通用戶的磁盤配額) - 為了便於測試,三個用戶的磁盤容量硬限制為50MB,軟限制為40MB,文件個數硬限制限制為11個,軟限制為8個。
- 系統寬限時間我們改為8天。
提示:
關於磁盤配額配額的操作,下一篇文章會詳細說明。
還有磁盤陣列(
Redundant Arrays of Independent Disks,RAID)的內容,自己有時間可以自己了解一下。
