Centos7 quota磁盤配額


配額:quota
什么是磁盤配額?
限制磁盤資源的使用。

限制原因就是資源不是無限的

應用場景
1.網絡存儲空間有限 網盤
2.郵件服務器
3.公司的文件共享服務器

能限制誰?
1.限制普通用戶
2.限制用戶組
注意:不能限制root用戶
root用戶對其他人的限制

能夠限制什么?
inode----限制用戶創建文件的個數
block----限制用戶能夠使用的磁盤空間的大小

soft軟限制:超過軟限制只警告,不影響使用
hard硬限制:是不可逾越的限制
grace time 時間限制:寬限時間,當超過軟限制,沒有超過硬限制的時候,將啟動倒計時,一般默認設置為7天,如果7天內都不進行任何磁盤管理操作,軟限制將變成硬限制。


設置配額的條件?
需要內核支持quota功能
# grep -i quota /boot/config-3.10.0-514.el7.x86_64
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_XFS_QUOTA=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y

如何進行磁盤配額?
前提是文件系統支持磁盤配額的屬性uquota gquota
1.將文件系統掛載到系統中的目錄
# mount /dev/sdb1 /mnt/sdb1

2.查看文件系統是否支持磁盤配額
# mount | grep sdb1

3.讓文件系統支持磁盤配額
# umount /mnt/sdb1
# mount -o uquota,gquota /dev/sdb1 /mnt/sdb1
# mount | grep sdb1

4.設置分區開機掛載
# vim /etc/fstab
/dev/sdb1 /mnt/sdb1 xfs defaults,uquota,gquota 0 0

5.創建普通用戶並設置密碼
# useradd quota1
# useradd quota2
# useradd quota3
# echo "1" | passwd --stdin quota1

6.查看磁盤配額的信息
# xfs_quota -x -c 'report -ubih' /mnt/sdb1
-x 專家模式 只有使用了-x后面才可以使用-c的指令
-c 后接指令
report 列出目前的quota項目
-i inode
-b block
-h 人性化顯示
-u 只顯示用戶的配額
-g 只顯示用戶組的配額
-p 項目的配額
limit 設置配額
state 顯示狀態
timer 設置寬限時間

7.限制quota1用戶只能在/mnt/sdb1目錄內創建10個文件
# xfs_quota -x -c 'limit -u isoft=7 ihard=10 quota1 ' /mnt/sdb1
limit -u 給用戶設置配額
-g 給用戶組設置配額
-p 給項目設置配額
isoft inode的軟限制
ihard inode的硬限制
bsoft block的軟限制
bhard block的硬限制

查看設置的配額
# xfs_quota -x -c 'report -uih ' /mnt/sdb1
User quota on /mnt/sdb1 (/dev/mapper/vg0-lv0)
Inodes
User ID Used Soft Hard Warn/Grace
---------- ---------------------------------
root 6 0 0 00 [------]
quota1 0 7 10 00 [------]

8.測試配額
# chmod 777 /mnt/sdb1
# chmod o+t /mnt/sdb1
# ll -d /mnt/sdb1
drwxrwxrwt. 2 root root 58 7月 7 22:34 /mnt/sdb1
# su - quota1
上一次登錄:五 7月 7 23:46:46 CST 2017pts/0 上
$ cd /mnt/sdb1 //一定要切換到做了配額的目錄下在操作
$ ls
lvmsnap-test.txt passwd shadow
$ touch test{1..8}.txt
$ touch test{9,10}.txt
$ touch test11.txt //超過硬限制,不能夠創建test11.txt文件
touch: 無法創建"test11.txt": 超出磁盤限額
=======================================================


磁盤配額除了可以限制用戶,組外,還可以對目錄做限制
配置步驟:
1. 開啟項目配額
# mount -o usrquota,prjquota,grpquota /dev/sdb1 /mnt/sdb1/
# mount |grep sdb1


2.設置目錄,項目名稱及項目ID
# echo 1:/mnt/sdb1 >> /etc/projects
# echo aa:1 >> /etc/projid


3.初始化項目
# xfs_quota -x -c "project -s aa"
# xfs_quota -x -c "report -pbih" /mnt/sdb1/


4.對項目配置配額
# xfs_quota -x -c "limit bsoft=100M bhard=200M -p aa" /mnt/sdb1/
# xfs_quota -x -c "report -pbih" /mnt/sdb1/


5.測試
不管任何人在此項目目錄創建文件都不能超過200M
=========================================================
設置寬限時間
格式: xfs_quota -x -c "timer [-bi] [-g|-p|-u] value" /mnt/sdb1/
2days
1hours
5minutes


限制quota3用戶只能創建15個文件,並且使用的總空間大小不能超過15M。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM