1. 程式人生 > >磁盤配額

磁盤配額

內核 inode ont 情況 system 網頁空間 配額 數據 uid

磁盤配額就是管理員可以為用戶所能使用的磁盤空間進行配額限制,每一用戶只能使用最大配額範圍內的磁盤空間。

功能作用

編輯磁盤配額可以限制指定賬戶能夠使用的磁盤空間,這樣可以避免因某個用戶的過度使用磁盤空間造成其他用戶無法正常工作甚至影響系統運行。在服務器管理中此功能非常重要,但對單機用戶來說意義不大。

磁盤配額使用條件:

磁盤配額實施的對象是硬盤分區,並且Linux的內核必須支持磁盤配額這種技術,本例所使用的CentOS7是完全支持的;

磁盤配額的記錄文件保存在開啟磁盤配額分區的根目錄下面,它們是aquota.useraquota.group

磁盤配額只對一般身份用戶有效,對root權限用戶無效;

磁盤配額的相關術語:

最低限制(軟限制,soft):最低限制容量(可以被超過,但會出現警告,超過的部分會保存到寬限時間到期);

最高限制(硬限制,hard: 不能被超越的限制;

寬限時間:當用戶使用的空間超過了最低限制但還沒到達最高限制時,在這個寬限時間到期前必須將超額的數據降低到最低限制以下(默認為7天),當寬限時間到期,系統將自動清除超出的數據;

在生產或工作環境中,你可能會遇到這樣的情況:在多人多任務的環境下,有多人共用一個磁盤空間,而有部分人可能向這個共同的空間上放很多或很大的文件,而導致磁盤空間極速減少。這樣必然導致其他人的空間會迅速變小。為了讓大家有個平等的使用磁盤空間的權限,我們就需要用到磁盤配額。來限制用戶對空間的使用情況。在

Linux系統下,用quota來實現此功能。除了上面的情況外,一般還用在下面的一些場景中,在一些提供web服務的空間中,每個人的網頁空間的容量都是受限制的。

在郵件服務中,每個人的郵件空間也是受限制。

在公司的文件共享服務中,每個人使用的硬盤空間也是需要限制。

而針對Linux的主機,如果是多個用戶的話,也是需要考慮到用戶和用戶組的限制。

註意事項:

1、磁盤配額加載於內核中

2,只適用於ETX2/EXT3/EXT4文件系統,對目錄是不起作用的,這一點要特別註意,雖然掛載點是一個目錄,但他實際上是文件系統設備。

3、只針對於用戶或用戶組,但root除外

4、針對用戶組的限額,是指某個用戶組中的所有成員一起使用的限制而不是每個人所使用的限制

在開始操作前,我們來看看和quota配置相關的內容

node:限制用戶可以建立的文件數量

block:限制用戶磁盤的容量,以KB為單位

soft:軟限制。就是在超過這個值後,會提醒用戶,但用戶的權限還沒有被限制。

hard:硬限制。這是最高的限制,用戶或組絕對不會超過這個限制值。如果超過

了,就限制死了用戶的使用權限了。

grace time:寬限時間。這個就是當達到soft限制時,還沒有到達hard限制的時

候,用來提醒用戶的。如果在警告的天數之內,用戶都不進行任何磁盤管理操作,那麽soft限制值會即刻取代hard限值來作為quota的限制,就算你沒有達到hard限制,也用不了了。

雲服務器,文件服務器,郵件服務器都會用到配額;但是實現方式都不同;郵件配額可以有郵件自己實現;文件服務器用到quota實現,文件系統級別的配額;雲服務器是用程序實現的配額;quota對文件和空間數量進行限制;只能對一個掛載點做配額

第一步:開啟配額功能

1. 讓文件系統支持配額

[[email protected] ~]# vim /etc/fstab

/dev/vg01/lv_home /home ext4 defaults,usrquota,grpquota 0 0

[[email protected] ~]# mount -o remount /home

[[email protected] ~]# mount 驗證

/dev/mapper/vg01-lv_home on /home type ext3 (rw,usrquota,grpquota)屬性

2. 創建磁盤配額的配置文件

註意: 建議停用SELinuxsetenforce 0

[[email protected] ~]# quotacheck -cug /disk/quota指定掛在點

[[email protected] ~]# ll /home/aquota.*

-rw------- 1 root root 12288 09-09 23:06 /home/aquota.group

-rw------- 1 root root 11264 09-09 23:06 /home/aquota.user

//-a 所有分區(已支持配額)

//-c 創建

//-u 用戶

//-g

//-m 針對根分區創建配額

3.啟動磁盤配額/etc/fstab

[[email protected] ~]# quotaon -ug /disk/quota //啟動所有分區的磁盤配額

quotaoff -ug /disk/quota 停用

+++設置配額+++

方法一:edquota

[[email protected] ~]# edquota -u alice

Disk quotas for user alice (uid 500):

Filesystem blocks soft hard inodes soft hard

/dev/mapper/vg01-lv_home 16 8192 10240 4 0 8

blocks: 從磁盤的使用量限制,比如限制用戶使用10M,單位是k # 不能修改

inodes: 從創建文件數限制,比如只能建立100個文件 #不能修改

soft: 軟限制 block 8M

hard: 硬限制 block 10M

grace time: 寬限期,默認7# edquota -t命令可以修改寬限期)

方法二: setquota

# setquota -u username block軟限制 block硬限制 inode軟限制 inode硬限制 掛載點

# setquota -u jack 80000 100000 15 20 /dev/sda2

# quota jack

方法三:復制

# edquota -p alice tom robin user1 user2 user3

alice的配額方案復制給後面所有用戶

+++查看配額+++

查看單個用戶的配額:

# quota jack

查看所有用戶的配額:

# repquota -a

普通用戶查看自己配額: $ quota

磁盤配額