鳥哥的Linux私房菜——第十八章:磁盤配額quota
視頻鏈接:
磁盤配額quota的意思是給用戶進行使用磁盤額度的空間的劃分,舉個例子,你的百度網盤的使用空間,其他雲盤的使用空間。在使用quota這個命令之前,我們需要進行一些操作,首先我們來掛載一個硬盤,先使用fdisk創建一下分區
fdisk /dev/sdb #創建分區咯
然後我就創建了一個主分區sdb1,接下來我們要格式化這個分區,然後掛載它~~
mkfs.ext3 /dev/sdb1 #格式化成ext3
mount /dev/sdb1 /home/jim/test #掛載它到/home/jim/test下面
當然,這裏我們最好選擇自動掛載,這裏多了quota~~
/dev/sdb1 /home/jim/test ext3 defaults,usrquota,grpquota 12
都全部配置完畢之後,我們就開始我們的quota之旅了
1. 什麽是 quota (quota就是給用戶分配磁盤配額的)
2. 基本的 quota 指令介紹:/etc/mtab, quota, quotacheck, edquota, quotaon, quotaoff
3. 實作 quota
4. 不更動既有系統的 quota 實例
quota的一般用途
? 針對 WWW server ,例如:每個人的網頁空間的容量限制!
? 針對 mail server,例如:每個人的郵件空間限制。
? 針對 file server,例如:每個人最大的可用網絡硬盤空間。
我們一直說quota是限制磁盤配額的,那它究竟是怎麽限制的呢?
- soft 最低限制容量,可以在寬限的時間內超過這個,但是在寬限時間over之前還是要降下去
- hard 這是絕對不允許超過的容量!
- 寬限時間 超過soft之後,寬限時間就會啟動
你可以去/etc/mtab裏面看你的磁盤支不支持quota
quota
-u 後面是用戶,顯示它的quota限制值,不寫默認當前執行者
-g 後面是群組,顯示群組的quota限制值
-v 顯示每個filesystem的quota值
-s 以inode或磁盤容量的限制值來顯示
-l 顯示目前本機上面的filesystem的quota值
例子一:顯示自己的quota限制值
quota -guvs
例子二: 我要看jim的磁盤配額
quota -vs -u jim
quotacheck
-a :掃瞄所有在 /etc/mtab 內,含有 quota 支持的 filesystem,加上此參數後,/mount_point 可不必寫,因為掃瞄所有的 filesystem 了嘛!
-u :針對使用者掃瞄檔案與目錄的使用情況,會建立 aquota.user
-g :針對群組掃瞄檔案與目錄的使用情況,會建立 aquota.group
-v :顯示掃瞄過程的信息;
-M :『強制』進行 quotacheck 的掃瞄。
例子一:對/etc/mtab內,含有quota支持的分區進行掃描
quotacheck -avug
第一次是會出錯的,不要擔心,因為可能它的文件格式損壞了,這個時候我們就要使用強制的quotacheck命令了
quotacheck -cfmvF vfsv0 /home
這樣強制的執行就好了,具體詳情請看我的專門寫這個問題的博客http://www.cnblogs.com/yunquan/p/6914320.html
edquota
-u :後面接賬號名稱。可以進入 quota 的編輯畫面 (vi) 去設定 username 的限制值;
-g :後面接群組名稱。可以進入 quota 的編輯畫面 (vi) 去設定 groupname 的限制值;
-t :可以修改恕限時間 (就是超過 quota 的 soft limit 值後,還能使用硬盤的寬限期限)
-p :復制範本。那個 username_demo 為已經存在並且已設定好 quota 的使用者,意義為『將 username_demo 這個人的 quota 限制值復制給 username 』!
例子一:設定jim的quota限制值
edquota -u jim
例子二:講jim的quota限制值復制給tom用戶
edquota -p jim -u tom
例子三:修訂寬恕時間
edquota -t
quotaon
-u :針對使用者啟動 quota (aquota.user)
-g :針對群組啟動 quota (aquota.group)
-v :顯示啟動過程的相關訊息;
-a :根據 /etc/mtab 內的 filesystem 設定啟動有關的 quota ,若不加 -a 的話,則後面就需要加上特定的那個 filesystem 喔!
例子一:啟動所有的具有quota的filesystem
quotaon -avug
例子二:僅啟動/home裏面的user quota設定值
quotaon -uv /home
有時候你打quotaon可能會不成功?那就先quotaoff一下,然後再quotaon
quotaoff
-a :全部的 filesystem 的 quota 都關閉 (根據 /etc/mtab)
-u :僅針對後面接的那個 /mount_point 關閉 user quota
-g :僅針對後面接的那個 /mount_point 關閉 group quota
例子一:
quotaoff -a
ok,那麽到這裏呢quota的命令我們差不多都學完了,下面我們要來實際的操作一下咯
一、先建立一個群組和倆用戶來玩玩
groupadd qgroup useradd -m -g qgroup quser1 useradd -m -g qgroup quser2 passwd quser1 passwd quser2
二、給filesystem添加quota支持
在 /etc/fstab裏面要加上usrquota和qrpquota這樣的東東
/dev/sdb1 /home/jim/test ext3 defaults,usrquota,grpquota 1 2
寫完之後呢,因為quota是讀取/etc/mtab這個檔案的。而這個檔案又必須重啟之後才會對fstab文件進行讀取,但是我又不想關機怎麽辦,就這樣
mount -o remount /hoem/jim/test
三、掃描磁盤的使用情況,並產生aquota.group和aquota.user這倆文件
使用quotacheck命令,如果不行就強制執行
#執行 quotacheck -avug #如果上面的不行,就強制執行這個
quotacheck -cfmvF vfsv0 /home/jim/test
四、啟動quota的限額
使用quotaon,不行的話就quotaoff一下再quotaon
quotaon -auvg
五、編輯使用者的可使用空間
我寫quser1的,然後復制給quser2
edquota -u quser1
復制給quser2
edquota -p quser1 quser2
接下來設定寬限時間吧
edquota -t
設定完畢之後嘞我們可以通過quota查看
quota -vu quser1 quser2
六、編輯群組可以使用的空間
#編輯 edquota -g qgroup #查看 quota -vg qgroup
為啥要編輯群組的使用空間?因為啊,人少了沒事,人多了你去設定試試?今天張三說空間不夠用了,明天李四說空間滿了...想想都頭大,幹脆設定一下群組的空間,讓他們自己玩去。只要他們所有人的使用空間不超過群組的hard就行
七、設定開機啟動quota
這個沒必要呵,因為預設就是開機啟動,但是!萬一你的電腦出毛病了,那就這樣做
vi /etc/rc.d/rc.local #進去 /sbin/quotaon -avug #加上這一行
八、利用repquota顯示更完整的quota結果
repquota -av
不更動既有系統的 quota 實例
就是你磁盤配額的時候最好是一塊獨立的磁盤,那萬一你沒有把目錄設置在一塊獨立的磁盤上,那該怎麽辦呢
鳥哥的Linux私房菜——第十八章:磁盤配額quota