『學了就忘』Linux檔案系統管理 — 63、磁碟配額介紹

繁華似錦Fighting發表於2021-12-06

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分割槽不能做實驗)。
  • 還有需要建立被限制的使用者和使用者組。假設需要限制user1user2user3使用者,這三個使用者屬於test使用者組。(組配合不好用,上面說了,不進行說明了,這裡只說明普通使用者的磁碟配額)
  • 為了便於測試,三個使用者的磁碟容量硬限制為50MB,軟限制為40MB,檔案個數硬限制限制為11個,軟限制為8個。
  • 系統寬限時間我們改為8天。

提示:

  • 關於磁碟配額配額的操作,下一篇文章會詳細說明。

  • 還有磁碟陣列(Redundant Arrays of Independent Disks,RAID)的內容,自己有時間可以自己瞭解一下。

相關文章