大家好,欢迎来到IT知识分享网。
Linux如何设置磁盘配额
当Linux根分区的磁盘空间耗尽时,Linux系统将无法再建立新的文件(包括程序运行的临时文件),从而出现服务程序崩溃、系统无法启动等故障现象。为了避免在服务器中出现类似的磁盘空间不足的问题,可以设置启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行设置,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在RHEL6系统中,内核已经制定了支持Linux文件系统的磁盘配额功能,而且在系统中默认安装了quota软件包,用于配置和管理磁盘配额。
通过以下操作可以确认quota软件包的安装情况,并列表查看quota软件包安装的配额管理程序。
图示:
一、磁盘配额概述
实现磁盘限额的条件
- 需要 Linux 内核支持
- 安装 quota 软件包
磁盘配额的限制对象
- 只在指定的文件系统(分区)内有效,用户使用其他未设置配额的文件系统时,将不会受到限制。
磁盘配额的限制对象
- 主要针对指定的用户帐号、组帐号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。
磁盘配额的限制类型
- 磁盘容量:限制磁盘数据块(Block)大小,也就是磁盘空间大小(默认单位为 KB)
- 文件数量:限制用户能够拥有的文件个数。在Linux系统中,每一个文件都有一个对应的数字标记,称为i节点(Inode)编号,这个编号在同一个文件系统内是唯一的,一次quota通过限制i节点的数量来实现对文件数量的限制
磁盘配额的限制方法
- 软限制:指定一个软性的配额数值,在固定的宽限期(默认为7天)内允许暂时超过这个限制,但系统会给出警告信息。(通俗的说就是有的商量,不会一下子就不能用了)
- 硬限制:指定一个硬性的配额数值,是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值大于相应的软限制值,否则软限制将失效。(通俗的说就是没得商量,给你规定多少就是多少,达到上限立马咔嚓)
二、基本步骤
下面先通过一个步骤图来了解一下整个思路
接下来我们分开详细了解一下各个步骤
1.以支持配额功能的方式挂载文件系统
除了内核和quota软件的支持以外,实施磁盘配额功能还有一个前提条件,即指定的分区必须已经挂载且支持磁盘配额功能
在配置调试过程中,可以使用带”-o usrquota,grpquota”选项的mount命令重新挂载指定的分区,以便增加对用户、组配额功能的支持。对于支持配额功能的文件系统,将在mount信息中显示”usrquota,grpquota”。
图示:添加 usrquota、grpquota 挂载参数,remount参数是重新挂载的意思
若需要在每次开机后自动挂载,可以将挂载参数写入到”/etc/fstab”文件中(如下图)。
图示:
注:示例中/dev/mail_store/mbox及/mailbox是上个文档中分享时示例中创建的逻辑卷和挂载点,我就顺便拿来做示例,如果有兴趣可以自己随便再创个分区,名字可以随便起的(随机应变)。
2.检测磁盘配额并生成配额文件
使用quotacheck命令可以对指定的文件系统进行磁盘配额检测,也可以用来建立配额文件。
命令格式:(如下图)
示例图示:
注:出现”Old file not found”之类的提示信息时,是正常的,是由于/mailbox文件系统中并未使用较早版本的配额文件。
如上图看到的一样,当用quotacheck命令建立完配额文件之后,会在分区的挂载点下(该文件系统的跟目录)出现两个文件”aquota.user和aquota.group”,这两个文件就是配额文件,分别用来保存用户、组的配额设置。默认权限为600。
3.编辑用户和组账号的配额设置
编辑配额使用的命令是edquota,结合”-u,-g”分别用于编辑用户和组的配额设置。只需修改相应的soft、hart列下的值,其他的数值或文字不要修改。
命令格式:
示例图示:
注:默认单位是KB,可以输入80M或100M来代替80000和100000。
软限制的宽限期默认为7天,若需要修改期限,可以执行”edquota -t”命令进行调整。宽限期的时间单位可以是天、小时、分或秒。(如下图)
图示:
4.启动文件系统的磁盘配额功能
使用的命令是”quotaon(启动)、quotaoff(关闭)”,需要指定设备文件名或文件系统的挂载点目录作为命令参数。quotaon命令使用的quotacheck的选项类似。
图示:
5.验证磁盘配额功能
使用受配额限制的用户账号登录
必须切换到设置配额的分区(挂载目录)
创建指定数量的文件:使用 touch 命令,或 cp 命令
创建指定容量的文件:使用 dd 命令,或 cp 命令
图示:
关于dd命令,dd命令是一个设备转换和复制命令,分别使用”if=指定的输入设备或文件”,”of=指定的输出设备或文件”,”bs=指定读取数据块的大小”,”count=指定读取数据块的数量”。上图操作的意思可以粗略的理解为:向/mailbox目录下写入一个名为myfile的测试文件,大小为110M(分110次读取,每次读取1M),复制来源为设备文件”/dev/zero”。
6.查看用户或分区的配额使用情况
- 侧重用户、组帐号角度:使用quota命令
quota -u 用户名
quota -g 组名
- 侧重文件系统角度:使用repquota
图示:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/59153.html