配置磁盤配額

要實現(xiàn)磁盤配額,請使用以下步驟:
1. 修改 /etc/fstab來啟用每個文件系統(tǒng)的配額
2. 重新掛載文件系統(tǒng)
3. 創(chuàng)建配額文件,重新生成磁盤用量表
4. 分配配額
以上步驟在下面各節(jié)中被詳細討論。
啟用配額
以根用戶身份使用你喜歡的編輯器來給需要配額的文件系統(tǒng)添加 usrquota 和(或)grpquota 選項:

LABEL=/           /               ext3    defaults        1 1
LABEL=/boot       /boot           ext3    defaults        1 2
none              /dev/pts        devpts  gid=5,mode=620  0 0
LABEL=/home       /home           ext3    defaults,usrquota,grpquota 1 2
none              /proc           proc    defaults        0 0
none              /dev/shm        tmpfs   defaults        0 0
/dev/hda2         swap            swap    defaults        0 0
/dev/cdrom        /mnt/cdrom      udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0          /mnt/floppy     auto    noauto,owner,kudzu 0 0

在上面的例子中,/home 文件系統(tǒng)上啟用了用戶和組群配額。
重新掛載文件系統(tǒng)
添加了 userquota 和 grpquota 選項后,重新掛載每個相應 fstab 條目被修改的文件系統(tǒng)。如果某文件系統(tǒng)沒有被任何進程使用,使用 umount 命令后再緊跟著 mount 命令來重新掛載這個文件系統(tǒng)。如果某文件系統(tǒng)正在被使用,要重新掛載該文件系統(tǒng)的最簡捷方法是重新引導系統(tǒng)。
創(chuàng)建配額文件
重新掛載了每個啟用了配額的文件系統(tǒng)后,系統(tǒng)現(xiàn)在就能夠使用磁盤配額了。不過,文件系統(tǒng)本身尚且不能支持配額。下一步是運行 quotacheck 命令。
quotacheck 命令檢查啟用了配額的文件系統(tǒng),并為每個文件系統(tǒng)建立一個當前磁盤用來的表。該表會被用來更新操作系統(tǒng)的磁盤用量文件。此外,文件系統(tǒng)的磁盤配額文件也被更新。
要在文件系統(tǒng)上創(chuàng)建配額文件(aquota.user 和 aquota.group),使用 quotacheck 命令的 -c 選項。例如,如果用戶和組群配額都為 /home 分區(qū)啟用了,在 /home 目錄下創(chuàng)建這些文件:

quotacheck -acug /home

-a 選項意味著在 /etc/mtab 中所有掛載了的非 NFS 文件系統(tǒng)都會被檢查來決定是否啟用了配額。-c 選項指定每個啟用了配額的文件系統(tǒng)都應該創(chuàng)建配額文件,-u 選項指定檢查用戶配額,-g 選項指定檢查組群配額。
如果 -u 或 -g 選項被指定,只有用戶配額文件被創(chuàng)建。如果只指定了 -g 選項,只有組群配額文件會被創(chuàng)建。
文件被創(chuàng)建后,運行以下命令來生成每個啟用了配額的文件系統(tǒng)的當前磁盤用量表:

quotacheck -avug

所用選項如下:
·    a — 檢查所有啟用了配額的在本地掛載的文件系統(tǒng)
·    v — 在檢查配額過程中顯示詳細的狀態(tài)信息
·    u — 檢查用戶磁盤配額信息
·    g — 檢查組群磁盤配額信息
quotacheck 運行完畢后,和啟用配額(用戶和/或組群)相應的配額文件中就會寫入用于每個啟用了配額的文件系統(tǒng)(如 /home)的數(shù)據(jù)。
為每用戶分配配額
最后一步是使用 edquota 命令分配磁盤配額。
要為用戶配置配額,以根用戶身份在 shell 提示下執(zhí)行以下命令:

edquota username

為每個你想實現(xiàn)配額的用戶執(zhí)行該步驟。例如,如果在 /etc/fstab 中為 /home 分區(qū)(/dev/hda3)啟用了配額,執(zhí)行了 edquota testuser 命令后,系統(tǒng)默認的編輯器中就會有如下顯示:

Disk quotas for user testuser (uid 501):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/hda3                    440436,           0          0      37418        0        0

 

注記
 
edquota 使用 EDITOR 環(huán)境變量所定義的文本編輯器。要改變這個編輯器,把 EDITOR 環(huán)境變量設(shè)置為到你選中的編輯器的完整路徑。

第一列是啟用了配額的文件系統(tǒng)的名稱。第二列顯示了用戶當前使用的塊數(shù)。隨后的兩列用來設(shè)置用戶在該文件系統(tǒng)上的軟硬塊限度。inodes 列顯示了用戶當前使用的內(nèi)節(jié)點數(shù)量。最后兩列用來設(shè)置用戶在該文件系統(tǒng)上的軟硬內(nèi)節(jié)點限度。
硬限是用戶或組群可以使用的磁盤空間的絕對最大值。達到了該限度后,磁盤空間就不能再被用戶或組群使用了。
軟限定義可被使用的最大磁盤空間量。和硬限不同的是,軟限可以在一段時期內(nèi)被超過。這段時期被稱為 過渡期(grace period。過渡期可以用秒鐘、分鐘、小時、天數(shù)、周數(shù)、或月數(shù)表示。
如果以上值中的任何一個被設(shè)置為 0,那個限度就不會被設(shè)置。在文本編輯器中,改變想要的限度。如:,

Disk quotas for user testuser (uid 501):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/hda3                    440436     500000     550000     37418        0        0

要校驗用戶的配額是否被設(shè)置,使用以下命令:

quota testuser

 為每組群分配配額
配額還可以根據(jù)組群來分配。例如,要為 devel 組群設(shè)置組群配額,使用以下命令(在設(shè)置組群配額前,該組群必須存在):

edquota -g devel

以上命令在文本編輯器中顯示現(xiàn)存的組群配額:

Disk quotas for group devel (gid 505):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/hda3                    440400          0          0      37418        0        0

修改限度,保存文件,然后配置配額。
要校驗組群配額是否被設(shè)置,使用以下命令:

quota -g devel

為每文件系統(tǒng)分配配額
要根據(jù)每個啟用了組群的文件系統(tǒng)來分配配額,使用以下命令:

edquota -t

和另一個 edquota 命令相似,這個命令也會在文本編輯器中打開當前的文件系統(tǒng)配額:

Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/hda3                     7days                  7days
改變塊過渡期或內(nèi)節(jié)點過渡期,保存對文件的改變,然后退出文本編輯器。

 

北大青鳥網(wǎng)上報名
北大青鳥招生簡章