歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 安裝和使用quota

安裝和使用quota

日期:2017/2/27 14:20:21   编辑:更多Linux
  使用Quota管理磁盤配額 在網絡管理的工作中,由於硬盤的資源是有限的,常常需要為多用戶的服務器設定用戶的磁盤配額。這個功能對公用的多用戶服務器(免費的或者收費的)來說,更是非常必要的。Quota就是在Red Hat Linux下實現磁盤配額的工具。 Quota的安裝 在正式的RHlinux的光盤的/RedHat/RPMS目錄下,都有相應不同版本的quota軟件包,可以用ls quota*查看相關的信息,如版本號。當然你可以方便的通過Tab鍵獲得軟件包的全名,使用如下命令安裝: rpm -ivh quota-2.00pre3-7.i386.rpm 當然,這裡給出的版本號只是為了方便說明而已,這個版本是隨RH7一起提供的。更新的版本請關注RedHat的官方站點。安裝好軟件包後,就可以對磁盤配額進行配置了。 執行rpm -ql quota 配置系統的磁盤配額支持 首先,磁盤配額是區域性的,我們可以決定哪塊分區進行磁盤配額,哪塊分區不用(自然也就不用配置了)。一般而言,作為一台web虛擬主機服務器,/home和/www(或者類似的)是供用戶存放資源的分區,所以可以對這兩個分區進行磁盤配額。假定我們需要對/home分區實現用戶級的限制,而對/www進行每個組的用戶配額。 ◆第一步,vi /etc/fstab。(對了,你是管理員嗎?^&^) 找到對應於/home和/www的行,例如: /dev/sda5 /home ext2 defaults 1 2 /dev/sda7 /www ext2 defaults 1 2 在/home裡實現用戶級的磁盤配額,所以對sda5行的掛裝選項域做如下修改: /dev/sda5 /home ext2 defaults,usrquota 1 2 注意,是usrquota哦。類似的,我們可以如下修改/www行: /dev/sda7 /www ext2 defaults,grpquota 1 2 如編輯根用戶 改/etc/fstab LABEL=/ / ext2 defaults,usrquota,grpquota 1 1 說明:/etc/fstab文件的每一行由六個字段組成:   第一個字段:文件系統(分區)的注釋(類似卷標);   第二個字段:文件系統的裝載點;   第三個字段:文件系統類型(磁盤配額只能在ext2文件系統上實現);   第四個字段:裝載文件系統是使用的選項,如果只想實現基於用戶的磁盤配額,就加入usrquota關鍵字,只想實現基於組的磁盤配額,就加入grpqouta關鍵字,如果兩者都需要,就全寫入,中間可以用逗號分隔。   第五個字段:表明該文件系統(分區)是否為只讀,如果是0就表示只讀,1表示可以讀寫。   第六個字段:表示系統啟動執行fsck時檢查的順序。   注意:請特別注意這裡的拼寫,是usrquota和grpquota,不要寫成userquota和groupquota。 進入單用戶模式 用quotacheck生成.user或.group文件 quotacheck 你的目錄 example:quotacheck / ; quotacheck /home 如果單用戶模式報錯的話 umount 你的設備/dev/hda* 再執行就ok了 重啟動系統,如果一切正常的話,quota將開始正常工作 設置用戶和組配額的分配量   對磁盤配額的限制一般是從一個用戶占用磁盤大小和所有文件的數量兩個方面來進行的。在具體操作之前,我們先了解一下磁盤配額的兩個基本概念:軟限制和硬限制。   軟限制:一個用戶在文件系統可擁有的最大磁盤空間和最多文件數量,在某個寬限期內可以暫時超過這個限制。   硬限制:一個用戶可擁有的磁盤空間或文件的絕對數量,絕對不允許超過這個限制。 a.通過edquota直接編輯數據文件:   使用編輯配額命令edquota為用戶配置定額 在重新啟動系統之後,我們假設lanf是需要定額的系統帳戶,可以使用如下命令來為用戶分配磁盤配額: edquota -u lanf 這個命令將啟動默認文本編輯器(如vi或其他由$EDITOR 環境變量指定的編輯器),其內容如下所示: Quotas for user lanf: /dev/sda5:blocks in use:0,limits(soft = 0,hard = 0) inodes in use:0,limits(soft = 0,hard = 0) 這表示lanf用戶在/dev/sda5分區(該分區已經在usrquota的控制之下)中迄今使用了0個數據塊(以K為單位),並且沒有設限制(包括軟限制soft和硬限制hard),同樣,lanf在這個分區也沒有任何文件和目錄,並且也沒有任何軟硬限制。


如果,我們想對用戶進行磁盤容量的限制的話,只需要修改blocks行的limits部分就可以了,注意單位使用的是K。例如要為lanf分配100M磁盤的軟限制,400M硬限制,可以使用如下的設置: Quotas for user lanf: /dev/sda5:blocks in use:0,limits(soft = 102400,hard = 409800) inodes in use:0,limits(soft = 0,hard = 0) 同樣的,要對文件目錄的數量限制可以相應的修改inodes行。我們也可以同時對這兩項都作出限制。只需要如下的修改 Quotas for user lanf: /dev/sda5:blocks in use:0,limits(soft = 102400,hard = 409800) inodes in use:0,limits(soft = 12800,hard = 51200) 這表示除了相應的容量的限制外,還對文件/目錄的數量做了12800個的軟限制和51200個的硬限制。在保存了新的配置後,該用戶的磁盤使用就不能超過硬限制。如果用戶試圖超過這個限制,該操作將被取消,然後得到一個錯誤信息。 但是,如果每個用戶都要這麼麻煩的設置的話,那這種重復的體力勞動實在有點令人不寒而栗,而且也太浪費時間了。幸好edquota還有個-q參數(prototype)可以對已有的用戶設置進行拷貝。例如,我們想對Jack、Tom、Chen三個用戶使用和lanf一樣的限額配置,可以使用如下的命令: edquota -p lanf -u Jack Tom Chen 這樣一來,這三個用戶就被賦予了和lanf一樣的磁盤配額。 對組的配額,除了edquota命令中對應-u參數的改為-g參數,例如下面對weBTerm1組的操作: edquota -g webterm1 實際上,以上的限制只是對用戶設定的硬限制在起作用。如果需要使軟限制也起作用的話,還需要對用戶的軟限制設定寬限期——缺省的,軟限制的寬限期是無窮大——這可以使用edquota命令的-t選項來實現。運行下面的命令: edquota -t edquota將打開缺省編輯器顯示如下內容: Time units may be:days,hours,minutes,or seconds Grace period before enforcing soft limits for users: /dev/sda5:block grace period:0 days,file grace period:0 days 可以使用天、小時、分、秒為單位來設定寬限期。例如,在下面這個例子中,磁盤空間限制的寬限期為兩天,而文件數量限制的寬限期只有6個小時。 Time units may be:days,hours,minutes,or seconds Grace period before enforcing soft limits for users: /dev/sda5:block grace period:2 days,file grace period:6 hours   b.通過setquota工具加入:   比如加入用戶bye2000的磁盤配額,執行以下命令: setquota –u / 2000 2500 100 110 bye2000   以下是setquota命令用法的簡單描述: setquota [ -u-g ] 裝載點 軟塊數 硬塊數 軟文件數 硬文件數 用戶名/組名 ◆查看用戶磁盤使用情況 要查明某一個用戶使用了多少磁盤空間,例如lanf,可以使用如下的命令: quota -u lanf 顯示: Disk quotas for user lanf(uid 503): Filesystem blocks quota limit grace file quota limit grace /dev/sda5 3 102400 409800 1 12800 51200 同樣,可以使用quota -g groupname命令來參看某個組的磁盤使用情況。 注意: 1、如果該用戶沒有配置磁盤限額的話,輸出顯示如下: Disk quotas for user hujm (uid 503): none 2、如果不帶任何參數運行quota的話,查看的是你自己的配額使用情況。



/dev/sda5 3 102400 409800 1 12800 51200 同樣,可以使用quota -g groupname命令來參看某個組的磁盤使用情況。 注意: 1、如果該用戶沒有配置磁盤限額的話,輸出顯示如下: Disk quotas for user hujm (uid 503): none 2、如果不帶任何參數運行quota的話,查看的是你自己的配額使用情況。



Copyright © Linux教程網 All Rights Reserved