设置用户和组的储存限制
对用户可以使用的储存量施加限制是管理资源并确保公正地供所有人使用的有效方法,尤其是在多用户环境中。此配方显示怎么启用配额并按用户和组设置限制.
做好打算
CentOS系统具有通过root账户登陆或使用sudo提供的管理权限。假定/home安装自己的文件系统.
如何去做
请根据以下步骤设置配额并指定储存限制:
vi /etc/fstab
/dev/mapper/centos-home /home xfs defaults,uquota,gquota 0 0
shutdown -r +5 'Reboot required for system maintenance'
系统重新启动时,以专家模式启动xfs_quotashell:
xfs_quota -x /home
limit bsoft=5g bhard=6g tboronczyk
quota -h tboronczyk
limit -g bsoft=20g bhard=21g users
quota -gh users
quit
工作原理
默认情况下不启用配额centos给文件夹权限linux环境变量,必须在文件系统的挂载选项中显式启用配额;所以,我们更新了/etc/fstab并为/home添加了uquota和/或gquota选项:
/dev/mapper/centos-home /home xfs defaults,uquota,gquota 0 0
我们永远不应当卸载正在使用的文件系统linux端口映射,由于我们不想冒破坏或遗失数据的风险。因而,当我们重新安装/回去时,重要的是没有其他人登陆。倘若您以root身分登入而且您确定自己是惟一登入的用户,则可以立刻使用umount重新安装文件系统,之后安装。但倘若其他人登陆,最好根据食谱建议重新启动。当系统重新启动时,它将手动挂载/home而且配额选项将生效:
shutdown -r +5 'Reboot required for server maintenance'
接出来,我们将xfs_quota作为交互式shell运行,以输入命令来管理我们的配额。我们使用-x参数以专家模式启动shell(我们须要管理配额的命令仅在专家模式下可用)并给出文件系统的挂载点,我们将在其上设置配额:
xfs_quota -x /home
注意
传统的配额实用程序可用于管理基本配额,但xfs_quota容许我们借助XFS独有的附加配额功能。比如,使用xfs_quotawe也可以管理项目配额。
对我们最感兴趣的两个命令是限制和配额。limit用于设置配额限制,quota用于报告配额信息。
我们可以设置四个限制限制。它们如下:
inode是文件系统用于跟踪文件和目录的数据结构。每位文件和目录都由inode表示,因而设置用户可以拥有的inode数目的限制实质上限制了它们可以拥有的文件/目录的数目。
块表示化学储存,而且为用户设置块数的配额限制了其文件可以使用的储存空间量。典型的块大小为512字节centos给文件夹权限,这意味着两个块用于储存1KB的数据。配方的示例为用户账户设置了5GB的软块限制,硬限制为6GB。后缀k,m和g分别用于指定值,分别为千字节,兆字节和百兆字节。:
limit bsoft=5g bhard=5500m tboronczyk
注意
命令可以在xfs_quota中运行,而无需使用-c步入交互式shell:
xfs_quota -x -c 'limit -u bsoft=5g tboronczyk' /home
硬限制指定用户绝对不能超过的值。诸如,硬限制为100inode且具有99个文件的用户将只能再创建一个文件。尝试创建超出该文件的文件将遇见错误.
另一方面,软限制定义了用户可以在少量时间内超过的限制。超过限制后,用户将步入宽责令。软块限制为5GB的用户将才能消耗超过5GB的储存空间,但仅限于一定的时间。假如她们在宽责令结束时依然违背限制,则软限制将被视为硬限制,她们将难以再保存数据.
注意
默认情况下,宽责令为7天。我们可以使用timer命令修改它,使用-ito修改inodes计时器和-b修改块计时器:timer-b3dtboronczyk
要查看当前配额,请使用quota命令。-h以人类可读的值显示值:
quota -h tboronczyk
默认输出显示文件系统及其挂载点和用户的块配额详尽信息:消耗的块数(在块标题下),软限制(配额),硬限制(限制)以及软限制的已用时间违法的宽责令(警告/时间)。-i将检索inode配额的相同信息,但是-b和-i可以一起使用以同时显示这两组信息:
quota -bih tboronczyk
块和inode配额可以同时显示
limit和quota命令都默认使用用户的配额,虽然我们可以使用-u参数显式管理用户的配额。要管理组的配额,我们使用-g:
quota -gh users
如前所述,xfs_quota还容许我们管理项目配额。这种基本上是对强制执行的特定目录的限制,无论用户或组所有权怎么。要使用项目配额,请使用pquota挂载选项:
/dev/mapper/centos-home /home xfs defaults,uquota,pquota 0 0
注意
项目配额和组配额不能一起使用;若果同时给出pquota和gquota,mount将难以挂载文件系统。依照文件系统的不同,这可能会制止系统启动.
接出来,创建文件/etc/projid。每一行都是一个由任意项目名称和由逗号分隔的惟一ID号组成的条目:
echo "my_project:42" >> /etc/projid
之后,创建文件/etc/projects。它的条目由项目ID,分隔逗号和项目目录组成。项目和projid文件一起定义项目名称与其目录之间的关系:
echo "42:/home/dev/project" >> /etc/projects
有了这两个配置文件,最后一步是使用项目-c在xfs_quota中初始化项目的配额跟踪:
project -c my_project
完成初始设置步骤后,您可以使用limit和quota命令使用-p参数管理项目的配额:
limit -p bsoft=10g bhard=11g my_project
Seealso
Refertothefollowingresourcesformoreinformationonworkingwithquotas: