磁盘配额

磁盘配额,第1张

概述当Linux根分区的磁盘空间耗尽时,Linux *** 作系统将无法再建立新的文件(包括程序运行的临时文件),从而出现服务程序崩溃、系统无法启动等故障。为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量的磁盘空间,从未保持系统存储空间的稳定性和持续可用性。 在CentOS系统中,内核已经定制 当linux根分区的磁盘空间耗尽时,linux *** 作系统将无法再建立新的文件(包括程序运行的临时文件),从而出现服务程序崩溃、系统无法启动等故障。为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量的磁盘空间,从未保持系统存储空间的稳定性和持续可用性。

在CentOS系统中,内核已经定制了支持linux文件系统的磁盘配额功能,并且在系统中配置和管理磁盘配额的工具由xfsprogs软件包的xfs_quota配额管理程序提供。
XFS文件系统是通过xfs_quota工具进行管理;EXT3/4文件系统通过quota工具进行管理。
通过命令

[[email protected] ~]# rpm  -q xfsprogs#确认xfsprogs软件包的安装情况[[email protected] ~]# rpm -ql xfsprogs | grep xfs_quota#查看xfs_quota配额管理程序

如果想要使用磁盘配额,必须要明白的知识点有:

磁盘配额的作用范围
xfs_quota设置的磁盘配额功能,只能在指定的文件系统(分区)内有效,用户使用其他未设置配额的文件系统时,将不会受到限制。

磁盘配额的限制对象
xfs_quota主要针对系统中指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不会受到影响。对组(必须是基本组)账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。

磁盘配额的限制类型
磁盘容量:限制用户能够使用的磁盘数据块大小,也就是限制 磁盘空间大小,默认单位为KB;
文件数量:限制用户能够拥有的文件个数。在linux *** 作系统中,每一个文件都有一个对应的数字标记,称为i结点,这个编号在同一个文件系统内是唯一的。因此xfs_quota是通过限制i结点的数量来实现对文件数量的限制。

磁盘配额的限制方法
软限制:指定一个软性的配额数值,在固定的宽限期(默认为7天)内允许暂时超出这个限制,但是系统会发出警告信息;
硬限制:指定一个硬性的配额数值,是绝对禁止用户超过的限制,当达到硬限制是,系统也会发出警告并禁止写入数据。
硬限制的配额制应大于相应的软限制值,否则软限制将失效。

在实施磁盘配额的实际过程中,只有当用户(或组)、文件系统(分区)及配额数值都满足限额条件时,xfs_quota才会对 *** 作进行限制。

磁盘配额管理步骤:

以支持配额功能的方式挂载文件系统

[[email protected] ~]# mkdir /a[[email protected] ~]# mount -o usrquota,grpquota /dev/web_document/bdqn /a#增加用户、组配额功能的支持挂载[[email protected] ~]# chmod 777 /a                        #为了测试方便,允许任何用户写入数据[[email protected] ~]# mount                                                                        …………                         #省略部分信息/dev/mapper/web_document-bdqn on /a type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)

实现开机自动挂载(增加用户、组配额的功能挂载)

[[email protected] ~]# vim /etc/fstab                   #修改逻辑卷的挂载配置                            …………                                            #省略部分信息/dev/web_document/bdqn          /a                      xfs     defaults,grpquota  0 0

编辑用户和组账号的配额设置

[[email protected] ~]# xfs_quota -x -c ‘limit -u bsoft=10M bhard=15M isoft=40 ihard=50 zhangsan‘ /a#设置用户张三的磁盘配额,磁盘容量软限制为10M,硬限制为15M;文件数软限制为40,硬限制为50

-x表示启用专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用;
-c表示直接调用管理命令;
limit可以设置磁盘容量的软、硬限制;及文件数的软、硬限制;
-u表示指定用户(如果指定组使用-g);
bsoft表示设置磁盘容量的软限制数值;
bhard表示设置磁盘容量的硬限制数值;
isoft表示设置磁盘文件数的软限制数值;
ihard表示设置磁盘文件数的硬限制数值。

如果仅限制磁盘容量和文件数量,可以使用

[[email protected] ~]# xfs_quota -x -c ‘limit -u bsoft=10M bhard=15M zhangsan‘ /a#仅限制磁盘容量[[email protected] ~]# xfs_quota -x -c ‘limit -u isoft=40 ihard=50 zhangsan‘ /a#仅限制文件数量
[[email protected] ~]# xfs_quota -c ‘quota -uv zhangsan‘ /a#查看zhangsan磁盘容量限制disk quotas for User zhangsan (1002)filesystem              Blocks      Quota      limit  Warn/Time      Mounted on/dev/mapper/web_document-bdqn                             0     ** 10240      15360 **  00 [--------] /a、[[email protected] ~]# xfs_quota -c ‘quota -i -uv zhangsan‘ /a#查看zhangsan文件数量限制disk quotas for User zhangsan (1002)filesystem               files      Quota      limit  Warn/Time      Mounted on/dev/mapper/web_document-bdqn                             0        ** 40         50**   00 [--------] /a

一般情况,对磁盘容量进行限额的情况比较常见,限制文件 数量的情况较少。所以设置的限额不应小于用户已经使用的数量,否则可能导致该用户无法正常登录系统。另外,建议不要对root用户设置磁盘配额,以免带来不可预知的风险。
以上对用户设置磁盘配额的方法同样适用于组账号,只不过在进入编辑环境是要适用“-g”选项指定组账号对象。

验证磁盘配额功能

[[email protected] ~]# su zhangsan                 #首先切换用户[[email protected] root]$ dd if=/dev/zero of=/a/123.txt bs=5M count=4dd: 写入"/a/123.txt" 出错: 超出磁盘限额               #超出硬限制的数据将被截断,无法写入记录了4+0 的读入记录了3+0 的写出15728640字节(16 MB)已复制,2.0585 秒,7.6 MB/秒[[email protected] root]$ ls -lh /a/123.txt-rw-rw-r--. 1 zhangsan zhangsan **15M** 6月  30 04:55 /a/123.txt

查看配额使用情况

[[email protected] ~]# xfs_quota -x -c ‘report -a‘#查看所有可用分区的磁盘容量配额使用情况User quota on /a (/dev/mapper/web_document-bdqn)                               Blocks                     User ID          Used       Soft       Hard    Warn/Grace     ---------- -------------------------------------------------- root                0          0          0     00 [--------]zhangsan        15360      10240      15360     00  [6 days]Group quota on /a (/dev/mapper/web_document-bdqn)                               Blocks                     Group ID         Used       Soft       Hard    Warn/Grace     ---------- -------------------------------------------------- root                0          0          0     00 [--------]zhangsan        15360          0          0     00 [--------][[email protected] ~]# xfs_quota -x -c ‘quota -u zhangsan‘ /a#查看指定用户名的磁盘容量使用情况(查看组使用参数“-g”)disk quotas for User zhangsan (1002)filesystem              Blocks      Quota      limit  Warn/Time      Mounted on/dev/mapper/web_document-bdqn                         15360      10240      15360   00  [6 days] /a

若同时查看磁盘容量和文件输出报告可结合“-i”和“-b”使用。

[[email protected] ~]# xfs_quota -x -c ‘report -abi‘User quota on /a (/dev/mapper/web_document-bdqn)                               Blocks                                          Inodes                     User ID          Used       Soft       Hard    Warn/Grace           Used       Soft       Hard    Warn/ Grace     ---------- -------------------------------------------------- -------------------------------------------------- root                0          0          0     00 [--------]          3          0          0     00 [--------]zhangsan        15360      10240      15360     00  [6 days]          1         40         50     00 [--------]Group quota on /a (/dev/mapper/web_document-bdqn)                               Blocks                                          Inodes                     Group ID         Used       Soft       Hard    Warn/Grace           Used       Soft       Hard    Warn/ Grace     ---------- -------------------------------------------------- -------------------------------------------------- root                0          0          0     00 [--------]          3          0          0     00 [--------]zhangsan        15360          0          0     00 [--------]          1          0          0     00 [--------]
总结

以上是内存溢出为你收集整理的磁盘配额全部内容,希望文章能够帮你解决磁盘配额所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1020539.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存