Linux作为多用户的操作系统,多人使用同一块磁盘的情况是不可避免的问题,为保证磁盘的有效利用及数据安全性,限制各用户对共有磁盘访问及读写是不错的解决方法。针对此,Linux系统的磁盘配额显得尤为重要。
本文以CentOS Linux release 7.6.1810为基础,通过新扩展磁盘的方式演示磁盘配额,完成Linux操作系统中针对用户完成磁盘配额的使用方式。
磁盘配额,顾名思义即为磁盘分配额度,而‘quota’也具有‘额度’之意。在Linux操作系统中,磁盘配额就是限制用户对磁盘空间的使用量,以此保证磁盘空间的有效利用及对磁盘的有效分配。在Centos7以后的版本中默认已经支持quota功能,具体以各版本的说明。
磁盘配额常见存在两种配额类型,分别为磁盘容量、文件数量。具体如下:
(1)磁盘容量:限制用户、用户组可以使用的磁盘数据库大小,默认单位为KB;
(2)文件数量:限制用户、用户组可以创建(拥有)的文件个数。
磁盘配额常见存在两种配额方法,分别为软限制、硬限制。具体如下:
(1)软限制(soft):用户可以超过磁盘配额软限制,在超过软限制时系统会出现提示信息,不影响用户使用超出配额软限制的磁盘,但是不能超过硬限制磁盘配额;
(2)硬限制(hard):用户不允许超过磁盘配额硬限制,在超过硬限制时系统会出现提示信息,同时也会拒绝用户使用超出配额硬限制的磁盘。
当用户磁盘使用量超过软限制但未达到硬限制时,系统会出现磁盘配额宽限期(grace time)。在磁盘配额宽限期之间,系统会给予警告,但不影响用户继续使用磁盘。在磁盘配额宽限期(grace time)之间,用户可以管理系统分配的磁盘空间。若超出宽限期,用户认为管理磁盘空间,则软限制将会取代硬限制作为磁盘配额的最终限制,并禁止用户对磁盘写入数据。
注:
(1)超过磁盘硬限制后可能导致数据写入不完整;
(2)一般情况下,软限制应小于或等于硬限制。若软限制大于硬限制,则软限制不起任何作用。
在虚拟机系统内添加磁盘。具体如下图所示:
执行命令,新增磁盘分区。具体如下图所示:
分区结束后使用‘w’命令保存。具体如下图所示:
执行命令,查看当前系统内文件系统类型。具体如下图所示:
[root@freeops ~]# df -T /home
执行命令,格式化磁盘。具体如下图所示:
[root@freeops ~]# mkfs.xfs /dev/sdb1
执行命令,创建磁盘挂载点。具体如下图所示:
[root@freeops ~]# mkdir /quotest
执行命令,挂载磁盘。具体如下图所示:
[root@freeops ~]# mount -o uquota,gquota /dev/sdb1 /quotest
注:此处挂载不能使用mount命令直接挂载,需要添加‘-o uquota,gquota’参数。
执行命令,查看当前磁盘是否支持磁盘配额。具体如下图所示:
[root@freeops ~]# mount | grep quotest
注:
(1)执行上述命令,若系统返回数据中包含usrquota、grpquota,则证明该磁盘支持磁盘配额;
(2)执行上述命令,若系统返回数据中包含noquota,则证明该磁盘不支持磁盘配额。若需要使用磁盘配额功能需要卸载该磁盘后重新使用‘-o uquota,gquota’参数挂载磁盘。
编辑‘/etc/fstab’文件,添加如下信息设置开机自动挂载磁盘。具体如下图所示:
磁盘配额需要使用xfs_quota功能,执行命令,查看系统是否已安装该命令环境。具体如下图所示:
[root@freeops ~]# rpm -qa | grep xfsprogs
xfsprogs-4.5.0-18.el7.x86_64
执行以下命令,创建用户及用户组。具体如下图所示:
执行以下命令,设置磁盘读写权限。具体如下图所示:
执行命令,设置磁盘配额。具体如下图所示:
[root@freeops ~]# xfs_quota -x -c 'limit bsoft=800M bhard=1G -u test001' /quotest/
执行命令,查看当前磁盘的配额情况。具体如下图所示:
[root@freeops ~]# xfs_quota -x -c 'report' /quotest/
执行命令,测试磁盘配额功能。具体如下图所示:
[test001@freeops ~]$ dd if=/dev/zero of=/quotest/quotest.txt bs=20M count=30
注:由上图可知,test001可以正常在/quotest中正常写入600M数据;
执行命令,测试磁盘配额功能。具体如下图所示:
[test001@freeops ~]$ dd if=/dev/zero of=/quotest/quotest.txt bs=20M count=55
注:由上图可知,test001可以在/quotest中仅能写入1.0G数据,超过1.0G时会出现提示;
执行‘quota’命令,查看磁盘宽限时间。具体如下图所示:
注:由上图可知,本例磁盘配额宽限时间为6天。
扩展:
(1)quotaoff -a:关闭所有的磁盘配额;
(2)quotaoff /quotest:关闭指定/quotest分区磁盘配额。
(3)设置磁盘配额开机自启:echo "quotaon -aug" >> /etc/rc.d/rc.local。
留言与评论(共有 0 条评论) “” |