在 CentOS/RHEL Stream 里,最常用、最稳定的单目录容量限制有两种:XFS 目录配额(project quota) 和 虚拟磁盘镜像绑定(loop+镜像)。下面用通俗、可直接复制的步骤讲清楚。
一、XFS 文件系统:目录配额(推荐)
适用:目录所在分区是 XFS(CentOS/RHEL 7/8/9 默认)。
1. 挂载选项加 pquota编辑 /etc/fstab,给对应分区加 pquota(项目配额):
/dev/mapper/... /data xfs defaults,pquota 0 0
重新挂载:
mount -o remount /data2. 配置项目与目录
# 1) 项目ID → 目录 echo "100:/data/limit_dir" >> /etc/projects # 2) 项目名 → ID echo "mydir:100" >> /etc/projid3. 初始化项目
xfs_quota -x -c "project -s mydir" /data4. 限制大小(硬限制 10G)
xfs_quota -x -c "limit -p bsoft=9G bhard=10G mydir" /data5. 查看状态
xfs_quota -x -c "report -pbh" /data
二、ext4 等:虚拟镜像绑定(通用)
适用:ext4/btrfs 等不支持目录配额的文件系统。
1. 创建 10G 空镜像dd if=/dev/zero of=/data/dir.img bs=1G count=102. 格式化
mkfs.xfs /data/dir.img # 或 mkfs.ext4 /data/dir.img3. 挂载到目标目录
mkdir -p /data/limit_dir mount /data/dir.img /data/limit_dir4. 开机自启(/etc/fstab)
/data/dir.img /data/limit_dir xfs loop,defaults 0 0
三、一句话区别
XFS 配额:不占预分配空间、原生、性能好,只限制目录实际用量。
镜像挂载:占满 10G 空间、通用所有文件系统。
--- 水平线 ---
四、简单判断
目录在 XFS → 用 xfs_quota project(推荐)。
目录在 ext4 → 用 loop 镜像 最简单。
网友回复


