1. 程式人生 > >鳥哥的Linux私房菜——第十八章:磁盤配額quota

鳥哥的Linux私房菜——第十八章:磁盤配額quota

創建 repquota 個人 沒有 網絡硬盤 存在 當前 mage 技術分享

  視頻鏈接:

  磁盤配額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 1
2

都全部配置完畢之後,我們就開始我們的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