歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux文化

磁盤空間限制簡易使用說明


------------------------------------------------------------------
原始文件:Linux Quota mini-HOWTO
文件敘述:磁盤空間限制簡易使用說明
文件編號:LRG.LDTP.mHOWTO.001
翻譯日期:1996/09/20
翻譯維護: [email protected]
簡體中文版維護:dfbb, [email protected]
------------------------------------------------------------------

如何在 Linux 上啟動 Quota
更新日期: Sat Jul 27 21:04:38 PDT 1996

序言: 這份文件的版權由 Albert M.C. Tam ( [email protected] ) 所保留。
同意這份文件的使用、復制,因此非商業性的散布是允許的,但是所有的
拷貝以及/或是沒有修改直接援用的文件上須有作者與編者的名字及這份
注意事項。這份文件是因為希望能有所幫助而散布的,但不負任何責任,
無論是明白的或隱含的。雖然能夠確定這份文件裡的資訊之正確性的所有
工作都做了,作者/編者/維護者對於錯誤,或是因為使用這份文件所含
的資訊而造成任何毀損的結果沒有任何責任。

這份文件描述如何在 Linux 主機上啟用文件系統的 quota , 為使用者
指定 quota ,以及其它 quota 指令的用法。它適用執行 2.x 版核心
的使用者(在 2.0.7 上測試過)。建議舊版核心的使用者進行更新。

如果你發現其中有錯誤,或者是遺漏了任何資訊,請不要在意將它們寄給
[email protected] 。我會很感激的!

----------------------------------------------------------------

什麽是 Quota?

Quota 讓你可以從兩方面指定磁盤的儲存限制: 使用者所能夠支配的索引
節點(inodes)數量;以及使用者可以取用的磁盤區塊數量。

Quota 背後的含意是強制使用者在大部分的時間中保持在他們的磁盤使用
限制之下,取消他們在系統上無限制地使用磁盤空間的能力。

Quota 目前在 Linux 上的情況

Quota 的支援據我所知自從 1.3.8x 版開始已經集成到核心之中,而且它
也在 2.0 版的核心裡。如果你的系統不支援 quota 那麽我建議你來次
更新。

目前為止,quota 只能在 ext2 文件系統上運作。

在 Linux 上使用 Quota 的需求

核心

2.x 版的核心可以從這裡取得

http://tsx-11.mit.edu/pub/linux/sources/system/v2.0/

Quota 軟體

端視你的 Linux 發行套件而定,在你的系統上可能已經裝好也可能沒有
quota 軟體。quota 軟體的原始程式碼可以從這裡取得


http://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz.

----------------------------------------------------------------


在 Linux 上設定 quota - 第一部份: 配置

1. 配置你的核心

重新配置你的核心並且對這個選項回答 y 以加入 quota 的支援:

Quota support (CONFIG_QUOTA) [n] y

2. 編譯並安裝 quota 軟體

Quota 軟體的原始程式碼可以從這裡取得


http://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz

雖然我上面提到的 quota 軟體套件已經移植到 Linux 上面,而且應該
在執行 2.x 版核心的系統上編譯;但你可能會遇到一些麻煩,C 編譯器
不斷地抱怨某些未定義的 MNTOPT 。如果發生這個問題,那麽你將得復制
它的 mntent.h 文件到 /usr/include/metent.h 以便能編譯 quota 。

3. 修改你系統的啟動指令稿以檢查 quota 並且在啟動時期打開 quota

這裡有個示例:

# Check quota and then turn quota on.
if [ -x /usr/sbin/quotacheck ]
then
echo "Checking quotas. This may take some time."
/usr/sbin/quotacheck -avug
echo " Done."
fi

if [ -x /usr/sbin/quotaon ]
then
echo "Turning on quota."
/usr/sbin/quotaon -avug
fi

不變的規則是*永遠*得要在掛入你 /etc/fstab 裡的文件系統*之後*
打開 quota , 否則 quota 將不會運作。我建議在你系統的啟動指令稿
最後面打開 quota , 或者,如果你喜歡,在你的系統指令稿剛掛入文件
系統之處打開它。

4. 修改 /etc/fstab

還沒有啟用 quota 的分割區一般看起來像:

/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults 1 1

要在文件系統上加入 quota 的話,在包含 "defaults" 這個字的第四個
欄位加上 "usrquota" 。

/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults,usrquota 1
1

5. 建立 "quota.user" 這個 quota 記錄

這個 quota 記錄檔,quota.user , 應該由 root 擁有,而且 root 有
讀寫的權限而其他任何人都沒有。

以 root 的身分簽入。進入你想要啟用 quota 之分割區的最上層,並且
這樣建立 quota.user:

touch /partition/quota.user
chmod 600 /partition/quota.user

6. 重新啟動

現在重新啟動系統以便讓你所作的變更生效。

同時注意以後對於你還想要啟用 quota 的其它分割區只需要步驟 4, 5,
以及 6 。

在 Linux 上設定 quota - 第二部份: 為使用者指定 Quota

這項操作是使用 edquota 指令執行的。例如,"edquota bob" 這個指令
將會把你帶進 vi (或是在你的 $EDITOR 環境變數中所指定的編輯器)
以便為使用者 "bob" 編輯在每個啟用 quota 的分割區上的 quota 。

Quotas for user bob:
/dev/hda2: blocks in use: 2594, limits (soft = 5120, hard =
6400)
inodes in use: 356, limits (soft = 1000, hard = 1500)

"blocks in use" 是使用者在某個分割區上已經使用的區塊總數(以千位
元組為單位)

"inodes in use" 是使用者在某個分割區上所擁有的文件總數。

除了 edquota 之外,還有三個你應該熟習的其它專有名詞: 軟性限制,
硬性限制,以及緩沖期間。

軟性限制

一般來說,軟性限制指出 quota 使用者在分割區上擁有的磁盤用量總數
。但是合並使用緩沖期間的時候,它的動作就如同一道臨界線,當 quota
使用者超越時便發出有關他即將違犯 quota 的警告。

硬性限制

硬性限制只在設定有緩沖期間時才會運作。它指出磁盤用量的絕對限制,
quota 使用者不能超越他的硬性限制。

緩沖期間

以 "edquota -t" 指令執行,緩沖期間是對 quota 使用者實行軟性限制
之前的時間限制。可以使用的時間單位是秒、分、小時、日、星期、以及
月。這是你使用 "edquota -t" 指令將會見到的:

Time units may be: days, hours, minutes, or seconds
Grace period before enforcing soft limits for users:
/dev/hda2: block grace period: 0 days, file grace period: 0
days

把 0 days 這個部份變更為你覺得合理的任何期限。我個人選擇 7 days
(或是 1 week )。

----------------------------------------------------------------

其它的 Quota 指令

Quotacheck

Quotacheck 是用來掃描文件系統的磁盤用量,並更新 "quota.user" 此
quota 記錄檔到最新的狀態。我建議定期在系統啟動時執行 quotacheck
或藉由 cronjob 每隔一段時間執行一次(像是,一星期? )。

Repquota

Repquota 產生文件系統之摘要 quota 資訊。這裡有份 repquota 所得
的輸出□例:

# repquota -a
Block limits File limits
User used soft hard grace used soft
hard grace
root -- 175419 0 0 14679 0
0
bin -- 18000 0 0 735 0
0
uucp -- 729 0 0 23 0
0
man -- 57 0 0 10 0
0
user1 -- 13046 15360 19200 806 1500
2250
user2 -- 2838 5120 6400 377 1000
1500

Quotaon 以及 Quotaoff

Quotaon 是用來打開 quota 的計算; quotaoff 則是將其關閉。實際上
兩者很類似。它們是在系統啟動與關機時執行的。


Copyright © Linux教程網 All Rights Reserved