19.磁盘配额

作者:码农 | 发布时间:

磁盘配额

磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的。

这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行

服务器管理中此功能非常重要,但对单机用户来说意义不大。

磁盘配额在实际生活中其实是很常见的,比如,我们的邮箱不管多大,都是有限制的,而不可能无限制地存储邮件;我们可以上传文件的服务器也是有容量限制的;网页中的个人空间也不可能让我们无限制地使用。

我的楼是租给外来用户,可以租给一个人,也可以租给一家公司,但是这栋楼的所有权是我的,所以不能租给我自己。

如果要租用,则只能在每层租用一定大小的空间,而不能在一个房间中再划分出子空间来租用

租户可以决定在某层租用多大的空间,也可以在某层租用几个人员名额,这样只有这几个人员才能进入本层

磁盘配额的特点:

1.磁盘配额限制的用户和用户组,只能是普通用户和用户组,也就是说超级用户 root 是不能做磁盘配额的;

2.磁盘配额限制只能针对分区,而不能针对某个目录,换句话说,磁盘配额仅能针对文件系统进行限制,举个例子,如果你的 /dev/sda5 是挂载在 /home 底下,那么,在 /home 下的所有目录都会受到磁盘配额的限制;

3.我们可以限制用户占用的磁盘容量大小(block),当然也能限制用户允许占用的文件个数(inode)

磁盘配额的基本概念

用户配额

用户配额是针对用户个人的配额,未被指定的用户将不受配额影响。

组配额

组配额是针对整个用户组的配额。

组中的用户是共享空间或文件数的。也就是说,如果用户 user1、user2 和 user3 都属于 group1 用户组,我给 group1用户组分配 100MB 的磁盘空间,那么,这三个用户不是平均分配这 100MB 空间的,而是先到先得,谁先占用,谁就有可能占满这 100MB 空间,后来的就没有空间可用了。

磁盘容量

用户或组在被限制的分区中能够使用的磁盘数据块的数量,即限制磁盘空间的大小,默认单位为KB

文件个数

限制用户或群组在被限制的分区中所拥有的文件个数。

如果同时设置磁盘容量配额和文件数量配额,将会以最先到达的限制为主

软限制

是用户配额的警告上限。如果用户超出了软限制,还能允许在“限期”(默认为七天)内继续使用分区,但必须在宽限期内降低到软限制之内

硬限制

由操作系统实行的,不允许超过。试图在硬限制以外进行数据写操作会被拒绝

硬限制的配额值应大于相应的软限制的配额值,否则软限制将失效

磁盘配额概念小结

作用范围

只在指定的分区上进行限制,当用户或组使用其他未设置配额的分区时,将不会受到限制

限制对象

针对系统中指定的用户帐号或组帐号设置磁盘配额,而未被指定的用户或组将不受配额影响

限制类型

●磁盘容量:用户或组在被限制的分区中能够使用的磁盘数据块的数量,即限制磁盘空间的大小,默认单位为KB

●文件数量:限制用户或群组在被限制的分区中所拥有的文件个数。在Linux系统中每个文件都对应一个数字标记,称为i节点编号,该编号在文件系统内是唯一的,因此通过限制i节点的数量来实现对文件数量的限制

●如果同时设置磁盘容量配额和文件数量配额,将会以最先到达的限制为主

限制方法

●软限制:是用户配额的警告上限。如果用户超出了软限制,还能允许在“限期”(默认为七天)内继续使用分区,但必须在宽限期内降低到软限制之内

●硬限制:由操作系统实行的,不允许超过。试图在硬限制以外进行数据写操作会被拒绝

●硬限制的配额值应大于相应的软限制的配额值,否则软限制将失效