Linux磁盤配額

磁盤配額

什么是磁盤配額?

磁盤配額(Quota)是Linux系統中由于是多用戶、多任務的環境,所以會有多用戶共同使用一個硬盤空間的情況發生,如果其中少數幾個用戶大量占掉了磁盤空間的話,那肯定影響其他用戶的使用權限。因此我們就需要對每個用戶限制硬盤使用空間,來避免此種情況的發生,這就是磁盤配額。

Quota的一般用途

*針對WWW server,例如:每個人的網頁空間的容量限制!

針對mail server,例如:每個人郵件空間限制

針對file server,例如:每個人最大的網絡硬盤空間

限制某一個用戶組能使用的最大磁盤配額(使用用戶組限制)

限制某一用戶的最大磁盤配額(使用用戶限制*)

以Link的方式來使郵可以作為限制的配額(更改/var/spool/mail這個路徑)

Quota的使用限制:

1.僅能針對整個文件系統

2.內核必須支持quota

Quota的日志文件:

使用默認文件aquota.user針對用戶做出配置

使用默認文件aquota.group針對組做出配置

只對一般身份用戶有效:

root不能設置quota,整個文件系統的數據都是它的

Quota的規范設置選項:

容量限制或者文件數量限制:

限制indoe用量:管理用戶創建的文件數量

限制block用量:管理用戶磁盤容量的限制

soft/hard

hard:表示用戶的用量絕對不會超過這個值,單位KB

soft:表示用戶的用量在低于soft值限值,可以正常使用。但如果超過了這個值,每次用戶登錄系統時,系統會主動發出磁盤即將爆滿的警告信息,而且會給予一個寬限時間(gracetime)。如果用戶再次將容量調整到soft數值以下這個寬限時間會停止。單位KB

會倒計時的寬限時間(grace time)

一般默認的時間是7天,如果7天你都不進行任何磁盤管理,那么soft限制值會即刻替代hard限值來作為quota限制。

Quota是通過分析整個文件系統中每個用戶(用戶組)擁有的文件總數與總容量,再將這些數據記錄在該文件系統的最頂層目錄,然后在該配置文件中再使用每個賬號(或用戶組)的限制值去規定磁盤使用量的。

磁盤配額中常用的命令說明:

quotacheck [-avugfM] [/mount_point]:掃描文件系統并新建Quota的配置文件

-a:掃描所有在/etc/mtab內,含有quota支持的文件系統,加上此參數后,/mount_point可不必寫,因為掃描所有文件系統了

-u:針對用戶掃描與文件的使用情況,會新建aquota.user

-g:針對用戶組掃描文件與目錄的使用情況,會新建aquota.group

-v:顯示掃描過程信息

-f:強制掃描文件系統,寫入新的quota配置文件

-M:強制以讀寫的方式掃描文件系統,只有在特殊情況下才會使用

 quotaon:啟動quota的服務 quotaoff:關閉quota的服務

-u:針對用戶啟動quota

-g:針對組啟動quota

-v:顯示啟動過程的相關信息

-a:掃描所有在/etc/mtab內,含有quota支持的文件系統,加上此參數后,/mount_point可不必寫,因為掃描所有文件系統了

equota:編輯賬號/用戶組的限值與寬限時間

-u:后面接賬號名稱。可進入quota的編輯界面去設置username的限制值

-g:后面接組名??蛇M入quota的編輯界面去設置groupname的限制值

-t:可以修改寬限時間

-p:復制范本。那個范本是已經存在并且已設置好的quota用戶

quota:單一用戶的quota報表

-u:接用戶,顯示該用戶的quota限制值

-g:接組,顯示該組的quota限制值

-v:顯示每個用戶在文件系統中的quota值

-s:使用1024為倍數來指定單位,會顯示如M之類的單位

repquota:針對文件系統的限額做報表

-a:直接到/etc/mtab查詢具有quota標志的文件系統,并報告quota的結果

-v:輸出數據含有文件系統的相關信息

-u:顯示該用戶的quota限制值

-g:顯示該組的quota限制值

warnquota:對超出限額者發出警告信,可以在/etc/warnquota.conf的設置,然后找出目前系統上面quota用量超過soft的賬號,通過email的功能將警告新建發送到用戶的電子郵件信箱。

quota實驗:

[root@localhost bin]# df -h /home #查看home目錄是否為獨立分區,此處不是
Filesystem  Size  Used Avail Use% Mounted on
/dev/sda347G   11G   35G  24% /

建立新分區后并將/home掛在其上 此時為獨立分區 [root@localhost home]# df -h /home Filesystem Size Used Avail Use% Mounted on /dev/sdg 20G 45M 19G 1% /home 將分區掛載信息添加到:/etc/fstab中:UUID="ea80140b-24ef-4a34-bf57-3f9187a014f2" /home ext4defaults,usrquota,grpquota 0 0

重新掛載并且重讀fstab文件: [root@localhost /]# mount -o remount,rw /dev/sdg [root@localhost /]# mount -a

創建配置數據庫:

[root@localhost /]# setenforce 0 #關閉SElinux

[root@localhost /]# quotacheck -cug /home #創建quota數據庫

查看數據庫是否開啟:

[root@localhost /]# quotaon -p /home
group quota on /home (/dev/sdg) is off
user quota on /home (/dev/sdg) is off

開啟數據庫:

[root@localhost /]# quotaon /home
[root@localhost /]# quotaon -p /home
group quota on /home (/dev/sdg) is on
user quota on /home (/dev/sdg) is on

配置配置額選項:

[root@localhost /]# edquota quota1
  1 Disk quotas for user quota1 (uid 522):
  2   Filesystem   blocks   soft   hard inodes soft hard
  3   /dev/sdg 32  1000 1500  800

復制quota1用戶配置到quota2配置中:

[root@localhost /]# edquota -p quota1 quota2

非交互式配置配額選項:

[root@localhost /]# setquota quota3 10000 150000 0 0 /home

測試是否生效:

[root@localhost /]# quota quota1
Disk quotas for user quota1 (uid 522): 
 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
   /dev/sdg  32      1000        1500   8   0   0
[root@localhost /]# quota quota2
Disk quotas for user quota2 (uid 523): 
 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
   /dev/sdg  32       1000      1500   8   0   0
[root@localhost /]# quota quota3
Disk quotas for user quota3 (uid 524): 
 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
   /dev/sdg  32   10000  150000   8   0   0
[root@localhost /]# repquota /home
*** Report for user quotas on device /dev/sdg
Block grace time: 7days; Inode grace time: 7days
Block limitsFile limits
Userusedsofthard  graceused  soft  hard  grace
----------------------------------------------------------------------
root  --  20   0   0  2 0 0   
quota1--  3210001500  8 0 0   
quota2--  3210001500  8 0 0   
quota3--  32   10000  150000  8 0 0   
quota4--  32   0   0  8 0 0   
quota5--  32   0   0  8 0 0

寫入文件測試:

[quota1@localhost ~]$ dd if=/dev/zero of=./test bs=2M count=1
sdg: warning, user block quota exceeded.
sdg: write failed, user block limit reached.
dd: writing `./test': Disk quota exceeded
1+0 records in
0+0 records out
1503232 bytes (1.5 MB) copied, 0.00541416 s, 278 MB/s
[quota1@localhost ~]$ ll test 
-rw-r--r--. 1 quota1 quotagrp 1503232 Aug 30 22:15 test

原創文章,作者:YOUNG,如若轉載,請注明出處:http://www.www58058.com/42232

(0)
YOUNGYOUNG
上一篇 2016-09-01
下一篇 2016-09-01

相關推薦

  • 文件搜索者-find命令詳解

    1. 文件查找:          在linux系統中由于文件的眾多,往往需要在眾多的文件當中查找某一個文件,如果時間一長,很難記得文件存放至何處,不過,這一點,你不比擔心,因為開發人員為我們提供了強大的文件搜索工具,下面將介紹兩款常用的文件查找工具locate,和find,這兩…

    Linux干貨 2016-08-15
  • Linux基礎知識之根下各目錄的介紹

    /bin  :所有用戶使用的基本用戶命令文件,二進制格式的 /sbin :供系統管理使用的工具程序 /boot :引導加載器必須用到的各靜態文件:kernel initramfs(initrd),grub /dev  :存儲特殊文件或設備文件;設備的類型:字符設備,塊設備; /etc  :系統程序的靜態配置文件,只能為靜態的不能…

    Linux干貨 2016-07-10
  • vsftpd

    文件服務: 安裝開啟服務前先關閉selinux,清空iptables策略。避免不必要的麻煩,服務開啟后,配置一切正常有需要再根據情況開啟。 ftp:應用層,C/S,跨主機的文件共享服務;file transfer protocol nfs,cifs:文件系統接口,網絡文件系統;     nfs:network&nbsp…

    Linux干貨 2016-11-01
  • Ansible安裝及簡單使用

    簡介: ansible是新出現的自動化運維工具,基于Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程序部署、批量運行命令等功能。ansible是基于模塊工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所運行的模塊,ansible只是提供一種框架。主要包…

    Linux干貨 2016-08-07
  • 創建CA證書

    創建CA證書 CA證書         CA 也擁有一個證書(內含公鑰和私鑰)。網上的公眾用戶通過驗證 CA 的簽字從而信任 CA ,任何人都可以得到 CA 的證書(含公鑰),用以驗證它所簽發的證書。       &nb…

    Linux干貨 2017-07-23
  • OpenStack Icehouse私有云實戰部署

    前言 相信你一定對“云主機”一詞并不陌生吧,通過在Web頁面選擇所需主機配置,即可快速定制一臺屬于自己的虛擬主機,并實現登陸操作,大大節省了物理資源。但這一過程是如何實現的呢?本文帶來OpenStack Icehouse私有云實戰部署。 OpenStack 簡介 OpenStack是由網絡主機服務商Rackspace和美國宇航局聯合推出的一個開源項目,Ope…

    Linux干貨 2015-07-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-01 13:17

    總結的有點有面,看起來也美觀大氣,不錯

欧美性久久久久