FreeBSD 使用手冊 : 磁碟配額 : 設定磁碟配額的上限
Previous: 設定您的系統以便使用磁碟配額
Next: 檢查磁碟配額的設定及磁碟使用的狀況

10.2. 設定磁碟配額的上限

一旦您為系統加上了磁碟配額的功能後,請確認它們是否已正常啟動。執 行 quota -v 這個指令是一個簡單的檢查方法。每個啟動了磁碟 配額的檔案系統都會有一行關於磁碟使用量以及目前上限設定值的摘要。

您現在可以開始用 edquota 指令來指定磁碟配額上限了。

您有很多選項可以用來限制使用者或群組所能分配到的磁碟空間以及他們 能夠建立的檔案數量。您可以依磁碟空間 (block 配額) 或是檔案數量 (inode 配額) ,或是結合這兩種配額來設定使用上限。每一種上限的設定 都可以更進一步分成兩類:強制型 (hard) 以及非強制型 (soft) 上限。

強制型上限是不能超過的。一旦使用者的使用量到達他們的強制型上限設 定時,他們就無法在這個檔案系統上再要求配置磁碟了。舉例來說,如果有 個使用者的強制型上限是 500 blocks,而他目前已經用掉 490 的 blocks 了;如此一來,這個使用者只能再要求配置 10 blocks。如果他想要求配 置 11 個 blocks 則會失敗。

另一方面,非強制型上限可以容許某段時間之內的超用;這段時間稱為 grace period,預設值是一個星期。如果使用者超用非強制型上限的時間超 過了這個 grace period 的話,則非強制型上限就會轉為強制型上限而不允 許該使用者再配置任何磁碟,直到使用者所使用的磁碟量小於非強制型上限 後,這個 grace period 才會被重新設定。

下面是一個執行 edquota 指令的例子。當您執行 edquota 指令時,您會進入一個編輯磁碟配額上限的編輯器內, 至於是什麼編輯器則視您的 EDITOR 環境變數而定;如果沒有設 定 EDITOR 這個環境變數則使用 vi

# edquota -u test
Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
        inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
        inodes in use: 0, limits (soft = 50, hard = 60)
一般來說,每個啟動了磁碟配額的檔案系統都會有兩行設定。一行是用來指 定 block 上限,而另一行則是用來指定 inode 上限。如果您想要變更磁碟 配額上限,只需要修改後面的數值即可。舉例來說,如果您想要調升這個使 用者的 block 上限,把非強制型上限由 50 改到 500,把強制型上限由 75 改到 600,您只要把這一行
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
改成
/usr: blocks in use: 65, limits (soft = 500, hard = 600)
當您離開編輯器後,新的磁碟配額設定就會馬上生效。

有的時候我們會想要為某一個範圍內的 uid 一起設定磁碟配額。我們可以 用 edquota-p 選項來完成這個工作。首先,我們 先為某一個使用者設定磁碟配額;接著就執行 edquota -p protouser startuid-enduid 。舉例來說,假設使用 者 test 已經設定好磁碟配額,您就可以利用下面這個指令來為 uid 在 10000 到 19999 的使用者來設定跟使用者 test 一樣的磁碟配額:

edquota -p test 10000-19999

指定 uid 範圍這個功能是在 2.1 版問世以後才加入的功能。如果您想在 2.1 的系統上使用這個功能的話,請取得新版的 edquota。

參閱 man edquota 以得到更詳盡的資訊。


FreeBSD 使用手冊 : 磁碟配額 : 設定磁碟配額的上限
Previous: 設定您的系統以便使用磁碟配額
Next: 檢查磁碟配額的設定及磁碟使用的狀況