在 CentOS 6 上為 EXT4 文件系統啟用用戶/組磁盤配額,限制用戶磁盤使用量,防止單用戶佔滿磁盤導致服務異常。
為需配額的分區添加 usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 參數:
/dev/sda3 / ext4 defaults,noatime,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1
/dev/sda6 /home ext4 defaults,noatime,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 0 1
mount -o remount /
mount -o remount /home
quotacheck -avugm # 掃描並創建 aquota.user/group 文件
quotaon -avug # 啟用配額
# 設置用戶配額(軟限制/硬限制,單位:KB)
edquota -u username
# 或批量設置
setquota -u username 1048576 1153433 0 0 /home # 1GB 軟 / 1.1GB 硬
# 設置組配額
setquota -g groupname 2097152 2202009 0 0 /home # 2GB 軟 / 2.1GB 硬
repquota -a # 所有分區報告
quota -u username # 單用戶查看
quota -g groupname # 單組查看
若運行 cPanel/WHM,可直接使用內建腳本:
/scripts/fixquotas
| 參數 | 含義 |
|---|---|
| usrjquota=aquota.user | 用戶配額索引文件名 |
| grpjquota=aquota.group | 組配額索引文件名 |
| jqfmt=vfsv0 | 配額格式版本(vfsv0 支持 >2TB 分區) |
| noatime | 不更新訪問時間,提升性能 |
edquota -t 修改EXT4 磁盤配額通過 jqfmt=vfsv0 支持大分區,配合 quotacheck 初始化、quotaon 啟用、setquota 分配限額,構建完整的磁盤資源管控體系。cPanel 用戶可直接用 /scripts/fixquotas 自動化處理。