磁盘配额

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了磁盘配额相关的知识,希望对你有一定的参考价值。

磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。

功能作用

编辑磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行。在服务器管理中此功能非常重要,但对单机用户来说意义不大。

磁盘配额使用条件:

磁盘配额实施的对象是硬盘分区,并且Linux的内核必须支持磁盘配额这种技术,本例所使用的CentOS7是完全支持的;

磁盘配额的记录文件保存在开启磁盘配额分区的根目录下面,它们是aquota.useraquota.group

磁盘配额只对一般身份用户有效,对root权限用户无效;

磁盘配额的相关术语:

最低限制(软限制,soft):最低限制容量(可以被超过,但会出现警告,超过的部分会保存到宽限时间到期);

最高限制(硬限制,hard: 不能被超越的限制;

宽限时间:当用户使用的空间超过了最低限制但还没到达最高限制时,在这个宽限时间到期前必须将超额的数据降低到最低限制以下(默认为7天),当宽限时间到期,系统将自动清除超出的数据;

 

在生产或工作环境中,你可能会遇到这样的情况:在多人多任务的环境下,有多人共用一个磁盘空间,而有部分人可能向这个共同的空间上放很多或很大的文件,而导致磁盘空间极速减少。这样必然导致其他人的空间会迅速变小。为了让大家有个平等的使用磁盘空间的权限,我们就需要用到磁盘配额。来限制用户对空间的使用情况。在Linux系统下,用quota来实现此功能。除了上面的情况外,一般还用在下面的一些场景中,在一些提供web服务的空间中,每个人的网页空间的容量都是受限制的。

在邮件服务中,每个人的邮件空间也是受限制。

在公司的文件共享服务中,每个人使用的硬盘空间也是需要限制。

而针对Linux的主机,如果是多个用户的话,也是需要考虑到用户和用户组的限制。

注意事项:

1、磁盘配额加载于内核中

2,只适用于ETX2/EXT3/EXT4文件系统,对目录是不起作用的,这一点要特别注意,虽然挂载点是一个目录,但他实际上是文件系统设备。

3、只针对于用户或用户组,但root除外

4、针对用户组的限额,是指某个用户组中的所有成员一起使用的限制而不是每个人所使用的限制

在开始操作前,我们来看看和quota配置相关的内容

node:限制用户可以建立的文件数量

block:限制用户磁盘的容量,以KB为单位

soft:软限制。就是在超过这个值后,会提醒用户,但用户的权限还没有被限制。

hard:硬限制。这是最高的限制,用户或组绝对不会超过这个限制值。如果超过

了,就限制死了用户的使用权限了。

grace time:宽限时间。这个就是当达到soft限制时,还没有到达hard限制的时

候,用来提醒用户的。如果在警告的天数之内,用户都不进行任何磁盘管理操作,那么soft限制值会即刻取代hard限值来作为quota的限制,就算你没有达到hard限制,也用不了了。

云服务器,文件服务器,邮件服务器都会用到配额;但是实现方式都不同;邮件配额可以有邮件自己实现;文件服务器用到quota实现,文件系统级别的配额;云服务器是用程序实现的配额;quota对文件和空间数量进行限制;只能对一个挂载点做配额

第一步:开启配额功能

1. 让文件系统支持配额

[[email protected] ~]# vim /etc/fstab

/dev/vg01/lv_home       /home    ext4    defaults,usrquota,grpquota  0 0

[[email protected] ~]# mount -o remount /home

[[email protected] ~]# mount          验证

/dev/mapper/vg01-lv_home on /home type ext3 (rw,usrquota,grpquota)属性

2. 创建磁盘配额的配置文件

注意: 建议停用SELinuxsetenforce 0

[[email protected] ~]# quotacheck -cug /disk/quota指定挂在点

[[email protected] ~]# ll /home/aquota.*   

-rw------- 1 root root 12288 09-09 23:06 /home/aquota.group

-rw------- 1 root root 11264 09-09 23:06 /home/aquota.user

//-a 所有分区(已支持配额)

//-c 创建

//-u 用户

//-g

//-m 针对根分区创建配额

 

3.启动磁盘配额/etc/fstab

[[email protected] ~]# quotaon -ug /disk/quota   //启动所有分区的磁盘配额

                   quotaoff  -ug /disk/quota 停用

+++设置配额+++

方法一:edquota

[[email protected] ~]# edquota -u alice

Disk quotas for user alice (uid 500):

        Filesystem     blocks    soft       hard     inodes     soft     hard

/dev/mapper/vg01-lv_home 16     8192     10240      4        0        8

 

blocks: 从磁盘的使用量限制,比如限制用户使用10M,单位是k  # 不能修改

inodes: 从创建文件数限制,比如只能建立100个文件   #不能修改

soft:  软限制 block 8M

hard: 硬限制 block 10M

grace time: 宽限期,默认7# edquota -t命令可以修改宽限期)

方法二: setquota

# setquota -u username block软限制 block硬限制 inode软限制 inode硬限制 挂载点

# setquota -u jack 80000 100000 15 20 /dev/sda2

# quota jack

 

方法三:复制

# edquota -p alice tom robin user1 user2 user3

alice的配额方案复制给后面所有用户

+++查看配额+++

查看单个用户的配额:

# quota jack

查看所有用户的配额:

# repquota -a

普通用户查看自己配额: $ quota

以上是关于磁盘配额的主要内容,如果未能解决你的问题,请参考以下文章

linux的磁盘配额

linux使用磁盘配额管理

磁盘配额

centos7的磁盘配额有啥特点

磁盘配额实验

22磁盘管理—磁盘配额详解