CentOS關于quota的總結與實踐詳解
添加時間:2020-7-1 17:20:17
添加:
思海網絡
1 理論基礎
1.1 Quota的概念
Quota即限額的意思,用來限制用戶、組、文件夾的空間使用量。
1.2 用途范例
- web服務器控制站點可用空間大小
- mail服務器控制用戶可用空間大小
- file服務器控制用戶可用空間大小
1.3 限制模式
- 根據用戶(UID)控制每個用戶的可用空間大小
- 根據組(GID)控制每個組的可用空間大小
- 根據目錄(directory,project)控制每個目錄的可用空間大小(xfs可用project模式)
1.4 使用條件
- EXT格式只能對文件系統進行限制,xfs可用對project進行限制
- 內核需要預開啟對Quota支持
- Quota限制只對非管理員有效
- 默認只開啟對/home使用Quota,其他需要配置SELinux
1.5 限制的可配置對象
- 根據用戶(User)、組(Group)、特定目錄(project)
- 容量限制或文件數量限制(block/inode)
- 限制值soft(超過空間用量給予警告和寬限時間)和hard(超過空間用量則剝奪用戶使用權)
- 寬限時間(grace time),空間用量超出soft限定而未達到hard限定給予的處理時限(超出時限soft值變成hard值)
2 實際操作
2.1 配置前準備
2.1.1 建立用戶組
groupadd gp1
2.1.2 添加組成員
useradd -g gp1 user1
echo "pwd1" | passwd --stdin user1
useradd -g gp1 user2
echo "pwd1" | passwd --stdin user2
2.1.2 創建用戶目錄并變更所有組
mkdir /home/gp1
chgrp gp1 /home/gp1
chmod 2770 /home/gp1
2.1.2 檢查文件系統類型
df -hT /home
顯示如下:
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/centos-home xfs 5.0G 67M 5.0G 2% /home
2.2 啟用文件系統的quota功能
2.2.1 編輯fstab
vim /etc/fstab
修改內容如下:
/dev/mapper/centos-home /home xfs defaults,usrquota,grpquota 0 0
注,類型如下:
- 根據用戶(uquota/usrquota/quota)
- 根據組(gquota/grpquota)
- 根據目錄(pquota/prjquota)(不能與grpquota同時設定)
2.2.2 卸載并重新掛載
umount /home
mount -a
2.2.3 檢查
mount | grep home
顯示如下:
/dev/mapper/centos-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
2.3 查閱Quota信息
2.3.1 命令格式
xfs_quota -x -c "子命令" [掛載點]
選項:
-x :專家模式,使用-x才能使用-c
-c :子命令選項
子命令:
print :列出當前系統參數等
df :類似于df,選項有-b (block) -i (inode) -h (加上單位)等
report:列出quota項目,包含-ugr (user/group/project)和-bi等
state :列出當前支持quota文件系統信息和相關的啟動項
2.3.2 查詢支持Quota的分區
xfs_quota -x -c "print"
2.3.3 查詢Quota目錄的使用情況
xfs_quota -x -c "df -h" /hom
2.3.4 顯示用戶的Quota的限制信息
xfs_quota -x -c "report -ubih" /home
注,顯示項目加參數“-u”
2.4 配置限制
2.4.1 命令格式:
xfs_quota -x -c "limit [-ug] b[soft|hard]=N i[soft|hard]=N name"
xfs_quota -x -c "timer [-ug] [-bir] Ndays"
選項:
limit :限制的對象,包括user/group/project
bsoft/bhard : block的soft/hard限制值
isoft/ihard : inode的soft/hard限制值
name : 用戶和組的名稱
timer :寬限時間(grace time)
2.4.2 根據用戶和塊大小限制
xfs_quota -x -c "limit -u bsoft=250M bhard=300M user1" /home
xfs_quota -x -c "limit -u bsoft=250M bhard=300M user2" /home
檢查配置:
xfs_quota -x -c "report -ubih" /home
2.4.3 根據組和塊大小限制
xfs_quota -x -c "limit -g bsoft=950M bhard=1G gp1" /home
檢查配置:
xfs_quota -x -c "report -gbih" /home
2.4.5 配置寬限時間
xfs_quota -x -c "timer -ug -b 14days" /home
驗證配置:
xfs_quota -x -c "state" /home
2.4.6 驗證Quta
su - user1
dd if=/dev/zero of=123.img bs=1M count=310
ll -h
exit
xfs_quota -x -c "report -ubh" /home
2.5 根據project限制
2.5.1 修改fstab
vim /etc/fstab
2.5.2 卸載掛載并重新掛載
umount /home
mount -a
2.5.3 檢查取消
xfs_quota -x -c "state"
2.5.4 創建專案存儲位置
mkdir /home/proj01
2.5.5 指定項目識別號
echo "01:/home/proj01" >> /etc/projects
2.5.6 指定項目名稱并關聯項目識別號
echo "proj01:01" >> /etc/projid
2.5.7 初始化項目名稱
xfs_quota -x -c "project -s proj01"
檢查配置:
xfs_quota -x -c "print " /home
xfs_quota -x -c "report -pbih " /home
2.5.8 根據塊大小配置限制
xfs_quota -x -c "limit -p bsoft=450M bhard=500M proj01" /home
檢查配置:
xfs_quota -x -c "report -pbih " /home
2.5.9 驗證配置
dd if=/dev/zero of=/home/myquota/123.img bs=1M count=510
2.6 Quota的管理
2.6.1 臨時禁用Quota限制
xfs_quota -x -c "disable -up" /home
檢查禁用:
xfs_quota -x -c "state" /home
驗證禁用:
dd if=/dev/zero of=/home/user1/123.img bs=1M count=520
查閱Quota狀態:
xfs_quota -x -c "report -pbh" /home
清理測試文件:
rm -rf /home/user1/123.img
2.6.2 臨時啟動Quota限制
xfs_quota -x -c "enable -up" /home
檢驗啟動:
dd if=/dev/zero of=/home/user1/123.img bs=1M count=520
2.6.3 完全關閉Quota限制
xfs_quota -x -c "off -up" /home
測試關閉:
xfs_quota -x -c "enable -up" /home
恢復關閉:
umount /home; mount -a
2.6.4 刪除Quota限制(無法恢復)
xfs_quota -x -c "off -up" /home
xfs_quota -x -c "remove -p" /home
驗證刪除:
xfs_quota -x -c "report -phb" /home
2.7 利用軟連接實現Quota
1)啟用/home分區的Quota功能
編輯fstab
vim /etc/fstab
修改內容如下:
/dev/mapper/centos-home /home xfs defaults,usrquota,grpquota 0 0
2)創建軟連接到Quota分區
ln -s /home/mail /var/spool/mail
關鍵字:CentOS、quota、總結、實踐
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解