Quota的安裝
在正式的RHLinux的光盤的/RedHat/RPMS目錄下
都有相應不同版本的quota軟件包
可以用ls quota*查看相關的信息
如版本號
當然你可以方便的通過Tab鍵獲得軟件
包的全名
使用如下命令安裝
rpm
ivh quota
pre
i
rpm
當然
這裡給出的版本號只是為了方便說明而已
這個版本是隨RH
一起提供的
更
新的版本請關注RedHat的官方站點
安裝好軟件包後
就可以對磁盤配額進行配置了
配置系統的磁盤配額支持
首先
磁盤配額是區域性的
我們可以決定哪塊分區進行磁盤配額
哪塊分區不用
(自然也就不用配置了)
一般而言
作為一台web虛擬主機服務器
/home和/www(或
者類似的)是供用戶存放資源的分區
所以可以對這兩個分區進行磁盤配額
假定我們
需要對/home分區實現用戶級的限制
而對/www進行每個組的用戶配額
◆第一步
vi /etc/fstab
(對了
你是管理員嗎?^&^)
找到對應於/home和/www的行
例如
/dev/sda
/home ext
defaults
/dev/sda
/www ext
defaults
在/home裡實現用戶級的磁盤配額
所以對sda
行的掛裝選項域做如下修改
/dev/sda
/home ext
defaults
usrquota
注意
是usrquota哦
類似的
我們可以如下修改/www行
/dev/sda
/www ext
defaults
grpquota
◆第二步
修改/etc/rc
d/rc
local腳本
添加如下腳本
#############################
#check quota and turn quota on
if [
x /sbin/quotacheck ];then
echo
Checking quotas
This may take some time
/sbin/quotacheck
avug
echo
Done
fi
if[
x /sbin/quotaon ];then
echo
Enabling disk quota
/sbin/quotaon
avug
echo
Done
fi
#############################
這一段腳本在裝載完文件系統後運行
它將對磁盤配額的情況進行檢查並激活磁盤
配額功能
◆第三步
為每一個實行配額控制的分區創建配額文件
如下創建磁盤配額配置文件
touch /home/quota
user
touch /www/quota
group
修改這兩個文件的許可屬性
使它只對root用戶有讀和寫的許可
◆第四步
重新啟動系統
這樣系統在運行配額檢查的時候
會在配額文件中創建磁盤使用信息
到這裡
我
們已經完成磁盤配額所需要的系統級的支持配置
接著
我們就可以將配額分配給用戶
了
設置用戶和組配額的分配量
對磁盤配額的限制一般是從一個用戶占用磁盤大小和所有文件的數量兩個方面來進
行的
在具體操作之前
我們先了解一下磁盤配額的兩個基本概念
軟限制和硬限制
軟限制
一個用戶在文件系統可擁有的最大磁盤空間和最多文件數量
在某個寬限
期內可以暫時超過這個限制
硬限制
一個用戶可擁有的磁盤空間或文件的絕對數量
絕對不允許超過這個限制
◆使用編輯配額命令edquota為用戶配置定額
在重新啟動系統之後
我們假設lanf是需要定額的系統帳戶
可以使用如下命令來
為用戶分配磁盤配額
edquota
u lanf
這個命令將啟動默認文本編輯器(如vi或其他由$EDITOR 環境變量指定的編輯器)
其內容如下所示
Quotas for user lanf:
/dev/sda
:blocks in use:
limits(soft =
hard =
)
inodes in use:
limits(soft =
hard =
)
這表示lanf用戶在/dev/sda
分區(該分區已經在usrquota的控制之下)中迄今使用
了
個數據塊(以K為單位)
並且沒有設限制(包括軟限制soft和硬限制hard)
同樣
lanf在這個分區也沒有任何文件和目錄
並且也沒有任何軟硬限制
如果
我們想對用戶進行磁盤容量的限制的話
只需要修改blocks行的limits部分
就可以了
注意單位使用的是K
例如要為lanf分配
M磁盤的軟限制
M硬限制
可
以使用如下的設置
Quotas for user lanf:
/dev/sda
:blocks in use:
limits(soft =
hard =
)
inodes in use:
limits(soft =
hard =
)
同樣的
要對文件目錄的數量限制可以相應的修改inodes行
我們也可以同時對這
兩項都作出限制
只需要如下的修改
Quotas for user lanf:
/dev/sda
:blocks in use:
limits(soft =
hard =
)
inodes in use:
limits(soft =
hard =
)
這表示除了相應的容量的限制外
還對文件/目錄的數量做了
個的軟限制和
個的硬限制
在保存了新的配置後
該用戶的磁盤使用就不能超過硬限制
如果用戶
試圖超過這個限制
該操作將被取消
然後得到一個錯誤信息
但是
如果每個用戶都要這麼麻煩的設置的話
那這種重復的體力勞動實在有點令
人不寒而栗
而且也太浪費時間了
幸好edquota還有個
q參數(prototype)可以對已
有的用戶設置進行拷貝
例如
我們想對Jack
Tom
Chen三個用戶使用和lanf一樣的限
額配置
可以使用如下的命令
edquota
p lanf
u Jack Tom Chen
這樣一來
這三個用戶就被賦予了和lanf一樣的磁盤配額
對組的配額
除了edquota命令中對應
u參數的改為
g參數
例如下面對webterm
組
的操作
edquota
g webterm
實際上
以上的限制只是對用戶設定的硬限制在起作用
如果需要使軟限制也起作
用的話
還需要對用戶的軟限制設定寬限期——缺省的
軟限制的寬限期是無窮大——
這可以使用edquota命令的
t選項來實現
運行下面的命令
edquota
t
edquota將打開缺省編輯器顯示如下內容
Time units may be:days
hours
minutes
or seconds
Grace period before enforcing soft limits for users:
/dev/sda
:block grace period:
days
file grace period:
days
可以使用天
小時
分
秒為單位來設定寬限期
例如
在下面這個例子中
磁盤
空間限制的寬限期為兩天
而文件數量限制的寬限期只有
個小時
Time units may be:days
hours
minutes
or seconds
Grace period before enforcing soft limits for users:
/dev/sda
:block grace period:
days
file grace period:
hours
◆查看用戶磁盤使用情況
要查明某一個用戶使用了多少磁盤空間
例如lanf
可以使用如下的命令
quota
u lanf
顯示
Disk quotas for user lanf(uid
):
Filesystem blocks quota limit grace file quota limit grace
/dev/sda
同樣
可以使用quota
g groupname命令來參看某個組的磁盤使用情況
注意
如果該用戶沒有配置磁盤限額的話
輸出顯示如下
Disk quotas for user hujm (uid
): none
如果不帶任何參數運行quota的話
查看的是你自己的配額使用情況
From:http://tw.wingwit.com/Article/program/Oracle/201311/18106.html