linux服务器 磁盘和文件系统管理(四) 磁盘配额管理与实例

磁盘配额就是对用户在指定文件系统中使用的磁盘空间、文件数量进行限制,为了防止个别用户恶意或无意间占用大量磁盘空间,避免在服务器中出现类似磁盘空间不足的问题。


用到的工具是:quota软件包,还需要文件系统以支持配额功能的方式挂载


1.磁盘配额限制的对象:系统中的用户账号、组账号,作用范围是指定的文件系统(分区)内有效


2.磁盘配额的限制类型:磁盘容量的限制和文件数量的限制

 

3.磁盘配额的限制方法:软限制和硬限制,其中软限制是指在固定的宽限期限(默认7天,可以使用命令:edquota -t来调整宽限期限)内允许暂时超过这个限制,但系统会给出警告提示;硬限制就是当达到限制值时,系统会直接禁止继续写入数据,硬限制应大于软限制,否则软限制将失效


一.设置磁盘配额实例:

案例环境和需求:公司准备在Internet中搭建邮件服务器,面向全国各地的员工提供电子邮箱空间,由于用户众多,邮件存储需要大量的空间,考虑到扩容的需要,计划增加两块SCSI硬盘并构建LVM逻辑卷(挂载到/mailbox目录下),并且要求管理员通过磁盘配额的方式限制员工的邮箱空间,要求员工张三最多可以使用500M磁盘空间,并且文件数不能超过100个。


操作步骤如下:

根据需求,我们先要扩容并构架LVM逻辑卷,请参考《磁盘和文件系统管理(三)LVM应用实例》,今天主要设置磁盘配额


创建好LVM逻辑卷后,我们对磁盘进行配额管理

1.准备工作,查看quota软件是否安装,如果未安装,请从红帽系统光盘中安装

wKiom1aYorbx1SRrAAAYzWcFIyA862.jpg


2.挂载文件系统(注意:此时挂载的文件系统需要支持配额功能)

使用vi编辑器,编辑/etc/fstab,在里面将文件系统设置为开机自动挂起并且增加了两个选项,usrquotagrpquota,以便支持对用户和组实现配额功能,然后重启系统查看是否已经挂载好文件系统

wKiom1aYpG2xmABgAAD5WxAVpQA850.jpg

重启后,对自动挂载好的"/mailbox"目录赋予777的权限

wKioL1aYw8PSgCxwAAASJCAHmtg754.jpg


3.检查磁盘配额并生成配额文件(这里需要注意selinux)

命令:quotacheck -augcv

  • -a:表示扫描所有分区

  • -u和-g:分别表示检测用户和组配额信息

  • -c:创建新的配额文件

  • -v:显示详细信息

wKiom1aYsHThSfTTAAHN_lgdVTs904.jpg

说明:上图中是未成功生成配额文件,我们需要先关闭selinux,等启动磁盘配额功能后再开启selinux

临时关闭命令:setenforce 0   开启命令:setenforce 1

wKiom1aYsXiTvkA-AAHPw7FZaa4870.jpg


4.设置配额(对用户做配额限制选项为"-u" 后加用户名,如需对某个组做配额限制,选项"-g"后加组名)

如公司要求对张三进行限制

命令:edquota -u zhangsan

wKioL1aYtVyCXWJzAAAS3nF6CPw159.jpg


wKiom1aYtUvDrtqCAAA45E12ARQ473.jpg

  • Filesystem:表示本行配置记录对应的文件系统(分区),就是配额的作用范围

  • blocks:用户当前已经使用的磁盘容量,默认单位是KB,由edquota程序自动计算,无需修改

  • 第三列的soft:对应磁盘容量的软限制数值,0为默认不限制

  • 第四列的hard:对应磁盘容量的硬限制数值,0为默认不限制

  • inodes:用户当前已经拥有的文件数量,默认单位个数,也是由edquota程序自动计算,无需修改

  • 第六列的soft:对应磁盘容量的软限制数值,0为默认不限制

  • 第七列的hard:对应磁盘容量的硬限制数值,0为默认不限制

说明:这里可以看到我将用户张三磁盘容量的软限制设置为400M,硬限制为500M;文件数量软限制为80个,硬限制是100个。软限制一定要小于硬限制,否则软限制将失效。


5.启动和关闭文件系统的配额功能(实验中我们需要将配额功能启动)

启动命令:quotaon -ugv /文件系统-u代表对用户、-g代表对组)

wKioL1aYvFDDLwqpAAAqYx3kzYo170.jpg

关闭命令:quotaoff -ugv /文件系统

wKioL1aYwA_Bam0qAAArOvZsBrE659.jpg


6.验证磁盘配额功能

(1)磁盘容量验证

软限制:我们可以看到当触发软限制的时候依然可以写入,只是会有一条警告信息

wKiom1aYzUqy_yFwAACirzny9IA104.jpg

硬限制:当我们触发硬限制的时候,数据将无法再写入,警告会显示超出磁盘限额

wKioL1aYzZSxmR2KAAC8PrCOXvk289.jpg

说明:命令dd if=/dev/zero of=/mailbox/test bs=10M count=40表示向/mailbox目录下写入一个名为test的测试文件,大小为400M(共40次,每次是10M)

(2)文件数量验证

为了模拟文件数量的限制,我这里写了一个创建文件的脚本

wKioL1aY0gCw48hvAABDxcHeD9A070.jpg

软限制:执行脚本后,我们看到文件个数超过80个后依然可以存入,只是给出一个警告信息

wKioL1aY1wqBNt-wAABvEKKuQFw838.jpg

硬限制:将脚本修改一下,改成创建110个文件,这时再执行脚本,我们发现超过100个文件将无法存入

wKiom1aY2FDjrO9kAAFl5wOq1HA725.jpg


这样,我们就可以在工作中通过磁盘配额的方式来给公司员工进行限制了

你可能感兴趣的:(Linux服务器,磁盘配额,磁盘管理)