文件系統配額示例:檢查quota功能包是否已經安裝:rpm –q quotanode 1. 先要啓動文件系統的限額功能。這一步主要是要編輯/etc/fstab文件。linux 在一般的沒啓動限額功能的文件系統的fstab文件內容以下:數據庫 LABEL=/ / ext3 defaults 1 1網絡 none /dev/pts devpts gid=5,mode=620 0 0編輯器 LABEL=/home /home ext3 defaults 1 2ide none /proc proc defaults 0 0工具 none /dev/shm tmpfs defaults 0 0測試 LABEL=/usr /usr ext3 defaults 1 2ui LABEL=/var /var ext3 defaults 1 2blog /dev/hda3 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0 文件系統配額示例: 若是你想對/home這個目錄下,也就是/dev/hda5分區啓動限額功能的話,咱們能夠修改對應的home項爲:
LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2
你能夠看到,在home對應項增長usrquota和grpquota(注意拼寫)來實現用戶和用戶組的限額功能,而後從新啓動linux或者「mount –o remount /」。 文件系統配額示例: 而後,你要檢查/etc/mtab是否在對應的home項加上 usrquota和grpquota,以下: cat /etc/mtab /dev/hda5 /home ext3 rw,usrquota,grpquota 0 0 你是否是以爲有點奇怪,我剛纔不是隻編輯fstab,那和mtab有什麼關係?主要緣由是quota真正讀取的文件是mtab,因此你必定要確認mtab在你修改fstab文件重起後必定更新爲上面,這樣才能夠確認你對fstab的修改爲功。 文件系統配額示例: 2. 首次掃描文件系統的使用狀況。主要使用quotacheck來掃描文件系統。如上所說,在掃描完畢後,就會在對應的目錄下產生aquota.user和aquota.group, 這兩個文件的位置都是在頂層的目錄裏,例如你對/home啓動quota功能,那麼這兩個文件就會位於/home/下面。 [root@linux home]# quotacheck -avugc [root@linux home]# ls -l total 31 文件系統配額示例: -rw------- 1 root root 7168 Apr 22 04:29 aquota.group -rw------- 1 root root 7168 Apr 22 05:14 aquota.user drwx------ 2 marshall marshall 4096 Apr 22 05:05 marshall drwx------ 2 test test 1024 Apr 22 05:13 test 既然這兩個文件都產生了,咱們就能夠啓動文件系統限額功能對特定的用戶或用戶組實行限額。 文件系統配額示例: Quotacheck -avugc -a 根據/etc/mtab檢查全部非網絡文件系統 -v 顯示過程和結果 -u 檢查帶有usrquota參數的分區 -g 檢查帶有grpquota參數的分區 -c 建立數據庫aquota.user和aquota.group,若是之前已經存在aquota.user和aquota.group,那麼會把舊的數據庫刪除,再建立新的 [root@linux root]# quotacheck -vugc /home 不帶-a參數則須要指定目錄。 文件系統配額示例: 3. 啓動quota。咱們能夠用前面介紹的quotaon來啓動。
[root@linux root]# quotaon -av /dev/hda5 [/home]: group quotas turned on /dev/hda5 [/home]: user quotas turned on
這是一個啓動的輸出結果。 文件系統配額示例:
quotaon -a 打開全部磁盤配額 -v 顯示輸出結果 -u 指定打開基於用戶的磁盤配額 -g 指定打開基於組的磁盤配額 -p 打印當前狀態 文件系統配額示例: quotaoff -a 關閉全部磁盤配額 -u 指定關閉基於用戶的磁盤配額 -g 指定關閉基於組的磁盤配額 文件系統配額示例: 4. 配置用戶或用戶組的限額。 edquota edquota會使用系統默認的文本編輯器去來編輯磁盤配額列表 [root@linux root]# edquota -u marshall 文件系統配額示例: 4. 配置用戶或用戶組的限額。 Edquota會使用系統默認的文本編輯器來編輯磁盤配額列表 [root@linux root]# edquota –-u marshall Disk quotas for user marshall (uid 500) FileSystem blocks soft hard inodes soft hard /dev/hda5 100 0 0 17 0 0 文件系統配額示例: [root@linux root]# edquota –t blocks 指當前已使用的block數量 第一個soft,block的軟限制,第一個hard,block的硬限制 inodes 指當前以使用的inode數量 第二個soft,inode的軟限制,第二個hard,inode的硬限制 修改soft和hard下的數字,來達到軟硬限制 修改7days來改動寬限時間,時間單位days,hours,minutes,seconds 文件系統配額示例: 4. 配置用戶或用戶組的限額。 edquota的一些選項: -u 用戶名 -g 組名 -t 設置寬限時間 -r #edquota –tg 設置組的grace時間,默認是設置用戶的grace時間 編輯組的磁盤配額和用戶基本類似,要注意的是,組裏全部的用戶,共享一個限額。 當一個用戶自己已經給編輯了限額,而他的所屬組又給編輯了限額,以那個較低的限額爲上限。
三. 磁盤配額 1. 認識Linux磁盤配額 (1) 什麼是磁盤配額 磁盤配額是用於限制用戶/用戶組在文件系統中的可用空間大小或文件數 (2) 限制方式 -硬限制 -軟限制 (3) 限制單位 -塊數 -節點數 注:-linux磁盤須要內核及文件系統的支持 2. 磁盤配額的配置過程 (1) 檢查系統是否安裝了quota軟件 #rpm -q quota //若是沒有安裝的話,則將其安裝上 (2) 準備磁盤配額分區 #vi /etc/fstab ....... 配額分區 加載點 類型 加載選項 0 0 ...... 注:必須設置自動加載配額分區,且在加載時指定usrquota表示支持用戶配額,指定grpquota表示支持用戶組配額 實例: /dev/sdb1 /home ext3 defaults,usrquota 0 0 (3) 重啓系統 #reboot (4) 建立磁盤配額文件 #touch 配額分區加載點/文件名(用戶配額文件的名稱必須爲aquota.user,用戶組配額文件的名稱必須爲aquota.group) #quotacheck 參數 設備文件 參數:-uv 檢查用戶配額文件 -gv 檢查用戶組配額文件 -ugv 檢查用戶及用戶組配額文件 -avug 檢查全部配額分區的用戶及用戶組配額文件 實例: #touch /home/aquota.user #quotacheck -uv /dev/sdb1 (5) 啓動配額服務 #quotaon -uv/-gv/-ugv/ 設備文件 實例:#quotaon -uv /dev/sdb1 注: 系統重啓時會自動啓動配額服務 (6) 設置配額項 #edquota -u 用戶名 //設置用戶配額項 #edquota -g 用戶組名 //設置用戶組配額項 #edquota -p 源用戶/組 目標用戶/組 //複製配額項 #edquota -t //修改軟限制的超時時間 Disk quotas for user linux (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sdb1 88 1024 2048 20 10 20 Filesystem:文件系統 blocks:塊文件類型,不用修改 soft:第一個soft,表示軟配額容量的大小,單位爲KB hard:第一個hard,表示硬配額容量的大小,單位爲KB inodes:表示節點類型,不用修改 soft:第二個soft,表示軟配額文件個數的限制,以文件個數爲單位 hard:第二個hard,表示硬配額文件個數的限制,以文件個數爲單位
(7) 測試 #quota 用戶名 //查看用戶的磁盤配額狀況 #quota //查看本用戶的磁盤配額狀況
三. 磁盤配額 1. 認識Linux磁盤配額 (1) 什麼是磁盤配額 磁盤配額是用於限制用戶/用戶組在文件系統中的可用空間大小或文件數 (2) 限制方式 -硬限制 -軟限制 (3) 限制單位 -塊數 -節點數 注:-linux磁盤須要內核及文件系統的支持 2. 磁盤配額的配置過程 (1) 檢查系統是否安裝了quota軟件 #rpm -q quota //若是沒有安裝的話,則將其安裝上 (2) 準備磁盤配額分區 #vi /etc/fstab ....... 配額分區 加載點 類型 加載選項 0 0 ...... 注:必須設置自動加載配額分區,且在加載時指定usrquota表示支持用戶配額,指定grpquota表示支持用戶組配額 實例: /dev/sdb1 /home ext3 defaults,usrquota 0 0 (3) 重啓系統 #reboot (4) 建立磁盤配額文件 #touch 配額分區加載點/文件名(用戶配額文件的名稱必須爲aquota.user,用戶組配額文件的名稱必須爲aquota.group) #quotacheck 參數 設備文件 參數:-uv 檢查用戶配額文件 -gv 檢查用戶組配額文件 -ugv 檢查用戶及用戶組配額文件 -avug 檢查全部配額分區的用戶及用戶組配額文件 實例: #touch /home/aquota.user #quotacheck -uv /dev/sdb1 (5) 啓動配額服務 #quotaon -uv/-gv/-ugv/ 設備文件 實例:#quotaon -uv /dev/sdb1 注: 系統重啓時會自動啓動配額服務 (6) 設置配額項 #edquota -u 用戶名 //設置用戶配額項 #edquota -g 用戶組名 //設置用戶組配額項 #edquota -p 源用戶/組 目標用戶/組 //複製配額項 #edquota -t //修改軟限制的超時時間 Disk quotas for user linux (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sdb1 88 1024 2048 20 10 20 Filesystem:文件系統 blocks:塊文件類型,不用修改 soft:第一個soft,表示軟配額容量的大小,單位爲KB hard:第一個hard,表示硬配額容量的大小,單位爲KB inodes:表示節點類型,不用修改 soft:第二個soft,表示軟配額文件個數的限制,以文件個數爲單位 hard:第二個hard,表示硬配額文件個數的限制,以文件個數爲單位
(7) 測試 #quota 用戶名 //查看用戶的磁盤配額狀況 #quota //查看本用戶的磁盤配額狀況
三. 磁盤配額 1. 認識Linux磁盤配額 (1) 什麼是磁盤配額 磁盤配額是用於限制用戶/用戶組在文件系統中的可用空間大小或文件數 (2) 限制方式 -硬限制 -軟限制 (3) 限制單位 -塊數 -節點數 注:-linux磁盤須要內核及文件系統的支持 2. 磁盤配額的配置過程 (1) 檢查系統是否安裝了quota軟件 #rpm -q quota //若是沒有安裝的話,則將其安裝上 (2) 準備磁盤配額分區 #vi /etc/fstab ....... 配額分區 加載點 類型 加載選項 0 0 ...... 注:必須設置自動加載配額分區,且在加載時指定usrquota表示支持用戶配額,指定grpquota表示支持用戶組配額 實例: /dev/sdb1 /home ext3 defaults,usrquota 0 0 (3) 重啓系統 #reboot (4) 建立磁盤配額文件 #touch 配額分區加載點/文件名(用戶配額文件的名稱必須爲aquota.user,用戶組配額文件的名稱必須爲aquota.group) #quotacheck 參數 設備文件 參數:-uv 檢查用戶配額文件 -gv 檢查用戶組配額文件 -ugv 檢查用戶及用戶組配額文件 -avug 檢查全部配額分區的用戶及用戶組配額文件 實例: #touch /home/aquota.user #quotacheck -uv /dev/sdb1 (5) 啓動配額服務 #quotaon -uv/-gv/-ugv/ 設備文件 實例:#quotaon -uv /dev/sdb1 注: 系統重啓時會自動啓動配額服務 (6) 設置配額項 #edquota -u 用戶名 //設置用戶配額項 #edquota -g 用戶組名 //設置用戶組配額項 #edquota -p 源用戶/組 目標用戶/組 //複製配額項 #edquota -t //修改軟限制的超時時間 Disk quotas for user linux (uid 500): Filesystem blocks soft hard inodes soft hard /dev/sdb1 88 1024 2048 20 10 20 Filesystem:文件系統 blocks:塊文件類型,不用修改 soft:第一個soft,表示軟配額容量的大小,單位爲KB hard:第一個hard,表示硬配額容量的大小,單位爲KB inodes:表示節點類型,不用修改 soft:第二個soft,表示軟配額文件個數的限制,以文件個數爲單位 hard:第二個hard,表示硬配額文件個數的限制,以文件個數爲單位
(7) 測試 #quota 用戶名 //查看用戶的磁盤配額狀況 #quota //查看本用戶的磁盤配額狀況
什麼是 Quota? Quota 讓你能夠從兩方面指定磁盤的儲存限制: 使用者所可以支配的索引 節點(inodes)數量;以及使用者能夠取用的磁盤區塊數量。 Quota 背後的含意是強制使用者在大部分的時間中保持在他們的磁盤使用 限制之下,取消他們在系統上無限制地使用磁盤空間的能力。 Quota 是以每一使用者,每一文件系統爲基礎的.若是使用者可能在超過 一個以上的文件系統上創建文件,那麼必須在每一文件系統上分別設定 quota.創建quota: 一:內核中支持QUOTA: 檢查當前內核是否支持quota,當前內核配置文件在/boot下 [root@LFS ~]#grep CONFIG_QUOTA /boot/config-[version] CONFIG_QUOTA=y CONFIG_QUOTACTL=y [root@LFS ~]# 若是有上列輸出,則表示當前內核已經支持quota。 若是當前內核不支持quota,須要從新編譯內核將quota support編譯進核心: File systems --->
Quota support 二:安裝QUOTA工具: http://distro.ibiblio.org/pub/linux/distributions/sorcerer/sources/quota/3.12/ 下載quota-3.12.tar.bz2 解壓後使用以下命令編譯安裝: [root@LFS quota-tools]#./configure --prefix=/usr [root@LFS quota-tools]#make [root@LFS quota-tools]#make install 三:修改/etc/fstab加入QUOTA支持: /dev/hda7 /mnt/lfs ext3 defaults,usrquota,grpquota 1 2 四:使用quotacheck初始化QUOTA數據庫: 由於quotacheck依據/etc/mtab搜索文件系統,因此要將剛剛修改的hda7從新掛載 [root@LFS quota-tools]#mount /mnt/lfs/ -o remount [root@LFS quota-tools]#mount ......略 /dev/hda7 on /mnt/lfs type ext3 (rw,usrquota,grpquota) [root@LFS quota-tools]#quotacheck -avug quotacheck: Scanning /dev/hda7 [/mnt/lfs] quotacheck: Cannot stat old user quota file: No such file or directory quotacheck: Cannot stat old group quota file: No such file or directory quotacheck: Cannot stat old user quota file: No such file or directory quotacheck: Cannot stat old group quota file: No such file or directory done quotacheck: Checked 6316 directories and 85861 files quotacheck: Old file not found. quotacheck: Old file not found. [root@LFS quota-tools]# 這裏由於搜索不到舊版本的quota文件,因此有錯誤信息,但不影響。 -a : 掃描全部在/etc/mtab中開啓quota的文件系統 -v : 顯示掃描過程 -u : 掃描全部user quotas (usrquota) -g : 掃描全部group quotas (grpquota) 檢查完畢後生成quota的信息文件: [root@LFS lfs]#ls -l /mnt/lfs/aquota.* -rw------- 1 root root 11264 Mar 18 20:56 aquota.group -rw------- 1 root root 12288 Mar 18 20:56 aquota.user [root@LFS lfs]# 五:啓動QUOTA: [root@LFS lfs]#quotaon -av /dev/hda7 [/mnt/lfs]: group quotas turned on /dev/hda7 [/mnt/lfs]: user quotas turned on [root@LFS lfs]# -a : 開啓全部quota設定,根據/etc/mtab設定 -v : 當開啓quota時顯示信息 六:編輯用戶磁盤限額: 這裏設定用戶quota最大使用容量爲20M,當使用到10M時會獲得警告要求下降到10M 最多能夠建立10個文件,當建立5個文件時會獲得警告要求下降到5個文件 :-) [root@LFS lfs]#edquota -u quota Disk quotas for user quota (uid 5011): Filesystem blocks soft hard inodes soft hard /dev/hda7 0 10240 20480 0 5 10 -u : 編輯user的quota -g : 編輯group的quota -t : 編輯寬限時間 -p : 複製quota資料到另外一用戶上 blocks :目前使用者(quota:uid=5011)在/dev/hda7所使用的空間,單位:KB (不要修改) soft :soft limit 磁盤空間限定值 單位:KB (須要設定) hard :hard limit 磁盤空間限定值 單位: KB (須要設定) inodes :目前使用者使用掉的inodes,因爲不容易使用inode控制,因此不要修改它。 soft :soft limit 文件限制數量 (根據須要修改) hard :hard limit 文件限制數量 (根據須要修改) soft limit :最低限制容量,在寬限期(grace period)以內,使用容量能夠超過soft limit,但必須在寬限期以內將使用容量下降到soft limit如下。 hard limit :最終限制容量,若是使用者在寬限期內繼續寫入數據,到達hard limit將沒法再寫入。 寬限時間:使用容量超過soft limit,寬限時間自動啓動,使用者將容量下降到soft limit如下,寬限時間自動關閉,若是使用者沒有在寬限時間內將容量下降到soft limit,那麼他將沒法再寫入數據,即便使用容量沒有到達hard limit 設定寬限時間: [root@LFS lfs]#edquota -t 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/hda7 1days 7days OK,完成啦,檢查一下吧: [root@LFS lfs]#quota -uv quota Disk quotas for user quota (uid 5011): Filesystem blocks quota limit grace files quota limit grace /dev/hda7 0 1024 2048 0 5 10 [root@LFS lfs]# -u : 顯示user -v : 顯示quota值 使用-p參數複製quota資料到另外一個用戶: [root@LFS lfs]#edquota -p quota test [root@LFS lfs]#quota -uv test Disk quotas for user test (uid 5012): Filesystem blocks quota limit grace files quota limit grace /dev/hda7 0 1024 2048 0 5 10 [root@LFS lfs]# 同時複製給多個用戶: [root@LFS lfs]#edquota -p quota `awk -F: '$3 >499 {print $1}' /etc/passwd` 這樣就將quota的磁盤配額資料複製給全部uid >499的用戶(uid爲500以上的用戶一般爲真實用戶) OK,最後加在啓動腳本里,系統啓動時自動激活quota吧! 能夠加入到/etc/rc.d/rc.sysinit或/etc/rc.d/rc.local中,在結尾加上一行: /usr/sbin/quotaon -aug 還要記得在系統關機/重啓腳本(/etc/rc.d/rc[0,6]/)中加入關閉quota的語句: /usr/sbin/quotaoff -aug 一般發行版在系統啓動/關閉時都會處理quota,在系統啓動信息看到相關信息。 例如RedHat RHEL4,Mandrake 10.1系統啓動/關閉時有這樣兩行: Turning on user and group quotas for local filesystems: (/etc/rc.d/rc.sysinit) Turning off quotas: (/etc/rc.d/rc0.d/S01halt /etc/rc.d/rc6.d/S01reboot) 查詢磁盤配額: root查詢全部用戶使用狀況: [root@LFS ~]#repquota -a *** Report for user quotas on device /dev/hda7 Block grace time: 24:00; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- ......略 quota +- 1032 1024 2048 23:59 2 5 10 [root@LFS ~]# 若是有多個分區爲quota,可用repquota -u 掛載點 查詢單個分區的使用狀況 普通用戶查詢本身使用狀況: [quota@MyLFS ~]$quota Disk quotas for user quota (uid 5011): Filesystem blocks quota limit grace files quota limit grace /dev/hda7 1032* 1024 2048 23:58 2 5 10 [quota@MyLFS ~]$ quotcheck : quotcheck用來掃描文件系統的磁盤用量,更新aquota.user,aquota.group 保持quota記錄檔到最新的狀態。 所以最好在系統啓動時執行或經過cron按期執行: 每週六早七點執行一次: 0 7 * * 6 /sbin/quotacheck -avug 你是否是想在跟分區作配額?這樣是能夠的。 首先,你要修改你的/etc/fstab文件: LABEL=/ / ext3 defaults 1 1 改成: LABEL=/ / ext3 defaults,usrquota 1 1 或者改成: LABEL=/ / ext3 defaults,grpquota 1 1 usrquota是基於用戶的磁盤配額,grpquota是基於組的磁盤配額,怎麼改就看你須要了。 以後你或者從新啓動一下,或者remount一下(mount -o remount / 。 第二,在 / 中創建aquota.user或aquota.grup,這兩個文件要創建在你要實現配額的頂級目錄,所謂定級目錄,就是 ̄ ̄咋解釋呢?就是好比你要在 / 上實現配額,就要在 / 下創建aquota.user或者aquota.grup;若是你要在/home上實現配額(固然你的/home應該是一個獨立的磁盤分區),就在 /home下創建這兩個文件中的一個。用touch命令創建就能夠了,touch aquota.user 或aquota.srup。但這時創建好的文件是空的,不符和系統的須要。因此執行下一步。 第三,用quotacheck -mc / 將這兩個文件(aquota.user或aquota.grup)格式化。 注意一下,除非是/分區,通常不用加-m參數,好比你要在/home上實現配額(固然你的/home應該是一個獨立的磁盤分區)就:quotacheck -c /home 就能夠了。 -m的意思是強迫在「讀、寫」模式下檢查硬盤的配額。 第四,quotaon / 啓動磁盤配額。 第五,edquota 用戶名/組名 設置用戶/組的配額 例如:edquota user_name edquota -g group_name (對於用戶組) 執行後會打開一個vi編輯窗口。能夠設置磁盤空間和節點數目的配額。其中soft只是起到警告的做用,並不會真正的限制用戶/組。hard就會強制限制用戶/組的磁盤空間和節點數目了。 第六,設定soft quota和hard quota之間的時間: edquota -t 出現一個 vi 窗口: 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/hda7 7days 7days 按照本身的須要修改吧。從新啓動就能夠了。磁盤限額就生效了。 第七,若是要成批的複製相同的磁盤配額給不通用戶: edquota -p user user1 user2 user3 edquota -g -p group group1 group2 group3 第八,取消磁盤限額: quotaoff / |