磁碟配額 (Quota)

 一、什麼是 Quota

Linux 系統中,由於是多人多工的環境,所以會有多人共同使用一個磁盤空間的情況發生, 如果其中有少數幾個使用者大量的佔掉了磁盤空間的話,那勢必壓縮其他使用者的使用權力。 因此管理員應該適當的限制硬盤的容量給使用者,以妥善的分配系統資源

 

二、Quota 的一般用途

1.

針對 WWW server ,例如:每個人的網頁空間的容量限制。

針對 mail server,例如:每個人的郵件空間限制。

針對 file server,例如:每個人最大的可用網絡磁盤空間

2.

針對 Linux 系統主機上面的配置使用:

 

限制某一羣組所能使用的最大磁碟配額 (使用羣組限制)

你可以將你的主機上的使用者分門別類,你比較喜好的那一羣的使用配額就可以給高一些

限制某一使用者的最大磁碟配額 (使用使用者限制)

在限制了羣組之後,你也可以再繼續針對個人來進行限制,使得同一羣組之下還可以有更公平的分配。

 

三、 Quota 的使用限制

雖然 quota 很好用,但是使用上還是有些限制要先了解的:

 

僅能針對整個 filesystem

quota 實際在運行的時候,是針對整個 filesystem進行限制的, 例如:如果你的 /dev/sda5 是掛載在 /home 底下,那麼在 /home 底下的所有目錄都會受到限制。

 

核心必須支持 quota

Linux 核心必須有支持 quota 這個功能才行

 

只對一般身份使用者有效:

並不是所有在 Linux 上面的帳號都可以配置 quota ,例如 root 就不能配置 quota 因爲整個系統所有的數據幾乎都是root的。

 

 

 

實例:

文件系統支持:

查看home是個否是獨立的filesystem.

[root@www ~]# df -h /home

Filesystem     Size  Used Avail Use% Mounted on

/dev/hda3      4.8G  740M  3.8G  17% /home

[root@www ~]# mount | grep home

/dev/hda3 on /home type ext3 (rw)

 

手動加入quota

[root@www ~]# mount -o remount,usrquota,grpquota /home

(此做法在下次重啓後會失效,若要永久生效,最好寫入配置檔中)

[root@www ~]# vim /etc/fstab

LABEL=/home   /home  ext3   defaults,usrquota,grpquota  1 2

[root@www ~]# umount /home

[root@www ~]# mount -a

[root@www ~]# mount | grep home

/dev/hda3 on /home type ext3 (rw,usrquota,grpquota)

 

 

quotacheck :掃瞄文件系統並創建 Quota 的記錄檔

[root@www ~]# quotacheck [-acvugfm] [/mount_point]

選項與參數:

-a  :掃瞄所有在 /etc/mtab 內,含有 quota 支持的 filesystem,加上此參數後,

      /mount_point 可不必寫,因爲掃瞄所有的 filesystem

-c  :創建,不讀取原有數據庫。

-u  :針對使用者掃瞄文件與目錄的使用情況,會創建 aquota.user

-g  :針對羣組掃瞄文件與目錄的使用情況,會創建 aquota.group

-v  :顯示掃瞄過程的資訊;

-f  :強制掃瞄文件系統,並寫入新的 quota 配置檔

-m  :防止以只讀方式掛載此係統

 

 

Quota 啓動、 關閉與限制值配置

1. quotaon :啓動 quota 的服務

[root@www ~]# quotaon [-avug]

[root@www ~]# quotaon [-vug] [/mount_point]

選項與參數:

-u  :針對使用者啓動 quota (aquota.user)

-g  :針對羣組啓動 quota (aquota.group)

-v  :顯示啓動過程的相關信息;

-a  :根據 /etc/mtab 內的 filesystem 配置啓動有關的 quota ,若不加 -a 的話,

      則後面就需要加上特定的那個 filesystem

 

 

2.quotaoff :關閉 quota 的服務

[root@www ~]# quotaoff [-a]

[root@www ~]# quotaoff [-ug] [/mount_point]

選項與參數:

-a  :全部的 filesystem quota 都關閉 (永久關閉則編輯 /etc/mtab   刪除usrquota,grpquota)

-u  :僅針對後面接的那個 /mount_point 關閉 user quota

-g  :僅針對後面接的那個 /mount_point 關閉 group quota

3. edquota :編輯帳號/羣組的限值與寬限時間

[root@www ~]# edquota [-u username] [-g groupname]

[root@www ~]# edquota -t  修改寬限時間

[root@www ~]# edquota -p 範本帳號 -u 新帳號

選項與參數:

-u  :後面接帳號名稱。可以進入 quota 的編輯畫面 (vim) 去配置 username 的限制值;

-g  :後面接羣組名稱。可以進入 quota 的編輯畫面 (vim) 去配置 groupname 的限制值;

-t  :可以修改寬限時間。

-p  :複製範本。那個 範本帳號 爲已經存在並且已配置好 quota 的使用者,

      意義爲『將 範本帳號 這個人的 quota 限制值複製給 新帳號

範例:

[root@www ~]# edquota -u centos

Filesystem          blocks  soft   hard   inodes  soft  hard

  /dev/hda3         80     0      0      10     0     0

soft/hard 0 時,表示沒有限制.

 

setquota :直接在命令中配置 quota 限額(非交互式的)

[root@www ~]# setquota

選項與參數

-u  指定user用戶

-g  指定group

-t  限定用戶的寬限時間

-a  設置所有文件系統

範例:

[root@www ~]# setquota -u redhat 100000 200000 0 0 /home

 

 

#repquota: 顯示磁盤的摘要信息。

 

#warnquota :對超過限額者發出警告信

它可以依據 /etc/warnquota.conf 的配置,然後找出目前系統上面 quota 用量超過 soft (就是有 grace time 出現的那些傢伙) 的帳號,透過 email 的功能將警告信件發送到使用者的電子郵件信箱。 warnquota 並不會自動運行,所以需要手動去運行它。單純運行warnquota 之後,他會發送兩封信出去, 一封給 用戶,一封給 root

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章