熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Quota就是在Red Hat linux下實現磁盤配額的工具

2013-11-13 16:18:01  來源: Oracle 

  Quota的安裝
  在正式的RHLinux的光盤的/RedHat/RPMS目錄下都有相應不同版本的quota軟件包
  可以用ls quota*查看相關的信息如版本號當然你可以方便的通過Tab鍵獲得軟件
  包的全名使用如下命令安裝
  rpm ivh quotapreirpm
  當然這裡給出的版本號只是為了方便說明而已這個版本是隨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 defaultsusrquota
  注意是usrquota哦類似的我們可以如下修改/www行
  /dev/sda /www ext defaultsgrpquota
  ◆第二步修改/etc/rcd/rclocal腳本添加如下腳本
  #############################
  #check quota and turn quota on
  if [x /sbin/quotacheck ];then
  echo Checking quotasThis 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/quotauser
  touch /www/quotagroup
  修改這兩個文件的許可屬性使它只對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)可以對已
  有的用戶設置進行拷貝例如我們想對JackTomChen三個用戶使用和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:dayshoursminutesor seconds
  Grace period before enforcing soft limits for users:
  /dev/sda:block grace period: daysfile grace period: days
  可以使用天小時秒為單位來設定寬限期例如在下面這個例子中磁盤
  空間限制的寬限期為兩天而文件數量限制的寬限期只有個小時
  Time units may be:dayshoursminutesor seconds
  Grace period before enforcing soft limits for users:
  /dev/sda:block grace period: daysfile 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
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.