如何在 XFS 或 Ext4 Linux 系统上启用磁盘配额
本教程将通过实际例子讲解在Linux系统上配置磁盘配额的过程。磁盘配额系统基于伯克利磁盘配额系统,它为系统管理员提供了一种控制磁盘空间使用的方法。它可以为单个 Linux 用户或组定义。
在磁盘上建立的限制基于您可以使用 JFS 文件系统的 edquota 命令和 JFS2 文件系统的 j2edlimit 命令更改的参数:
- 用户或组的软限制
- 用户或组的硬限制
- 配额宽限期
磁盘配额系统在位于启用配额的文件系统的根目录中的 quota.user 和 quota.group 文件中跟踪用户和组配额。这些文件是使用quotacheck和edquota命令创建的,并且可以使用quota命令读取。
让我们首先确定 Linux 系统的文件系统以及配额是否已启用。
$ mount | grep ' / '
# Ext4
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro)
# XFS
/dev/mapper/cs-root on / type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
从输出中可以明显看出,ext4 和 xfs 文件系统上均未启用磁盘配额。
在 XFS 文件系统上启用磁盘配额
来自安装 | grep '/'
输出检查配额是否被禁用,如果是这样,输出中将有 noquota 。
$ mount | grep ' / '
/dev/mapper/cs-root on / type xfs (rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=32k,noquota)
如果启用磁盘配额,您将在输出中看到“usrquota”和“groupquota”。
使用以下命令编辑 Grub 配置文件。
sudo vim /etc/default/grub
在末尾添加 rootflags=usrquota,grpquota
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rootflags=usrquota,grpquota"
备份当前的 Grub2 配置文件。
sudo cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
对于 EFI 引导的系统,该文件位于“/boot/efi/EFI/centos/grub.cfg”
sudo cp /boot/efi/EFI/centos/grub.cfg /boot/efi/EFI/centos/grub.cfg.orig
生成新的 Grub 配置文件。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
对于电喷
sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
重启服务器然后检查
mount | grep ' / '
设置用户配额。
sudo xfs_quota -x -c 'limit bsoft=4g bhard=5g myuser' /home
sudo xfs_quota -x -c 'limit -g bsoft=4g bhard=5g myuser' /home
显示报告。
sudo report -h -u
在 EXT4 文件系统上启用磁盘配额
检查您的系统中是否已启用磁盘配额。
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro)
如果系统中已启用配额,则输出将包含“usrquota”和“groupquota”。
$ mount | grep ' / '
/dev/xvda1 on / type ext4 (rw,usrquota,grpquota)
编辑 /etc/fstab
文件并
UUID=<UUID> / ext4 defaults,usrquota,grpquota 0 0
我的服务器示例:
UUID=b60999df-940a-4c3a-9128-8312e991abeb / ext4 defaults,usrquota,grpquota,errors=remount-ro 0 1
您可以重新挂载文件系统以使更改生效。
sudo mount -o remount /
安装提供quotacheck命令的quota包。
sudo apt update && sudo apt install quota -y
接下来使用quotacheck命令创建配额数据库。这会在/下创建 aquota.user
和 aquota.group
:
sudo quotacheck -cugmv /
在哪里 :
-c
指定我们正在创建文件配额-u
指定创建基于用户的配额文件-g
指定创建组磁盘配额-m
在执行配额的初始计数时禁止将文件系统重新挂载为只读-v
详细输出
通过运行以下命令打开磁盘配额。
sudo quotaon /
使用edquota命令编辑用户的磁盘配额。
sudo edquota -u myuser
对于组的配额,请使用该选项。
sudo edquota -g mygroup
对于单个命令,请使用 setquota
sudo setquota -u myuser 800M 2G 0 0 /
sudo quota -vs myuser
可以使用打印配额报告。
sudo repquota -s /
结论
在本教程中,我们已经能够在 ext4 和 xfs 文件系统上配置磁盘配额。我们还安装了配额命令行工具,为用户和组启用磁盘配额,并验证我们的 Linux 内核是否可以监视和报告磁盘配额。我们希望该指南对您有所帮助。
更新于:1个月前
相关文章
- Linux中date命令如何格式化输出需要的时间格式
- 使用Docker Wine Qemu KVM在Linux运行Windows应用
- Debian Linux国内常用镜像源
- CentOS7安装unzip解压工具命令使用方法
- Linux使用Docker部署.NET6网站图文教程
- Linux中通过命令连接指定WiFi
- 什么是宝塔Linux
- C#中如何获取当前系统CPU的核心数
- Linux 删除文件或目录 rm 命令
- linux的shell脚本中如何在一个字符串中查找指定字符串是否存在
- C#获取Windows系统中所有已安装软件的名称和版本号
- 在64位的Windows系统下运行32位的C#程序如何控制重定向
- 怎样在Linux系统 Ubuntu18.04 中安装微信
- cms系统套标签的简单介绍
- 你如何在 Python 中循环字典?
- 如何在 Anaconda 中安装 Python 包?
- 你如何在 Python 中编写自动售货机代码?
- C# WebSocket Client在linux连接失败
- 如何在 Python 中读取 .data 文件?
- 如何在 Python 中创建静态类数据和静态类方法?