首页 > 编程知识 正文

简述磁盘配额的作用,什么是磁盘配额?使用磁盘配额应注意什么?

时间:2023-05-05 14:54:06 阅读:211648 作者:181

一、 磁盘配额概述 1.1实现磁盘限额的条件

1.需要Linux内核支持
2.安装xfsprogs与quota软件包

1.2Linux磁盘限额的特点

1.作用范围:针对指定的文件系统(分区)
2.限制对象:用户账号、组账号
3.限制类型:磁盘容量、文件数量
4.限制方法:软限制、硬限制

1.3磁盘配额

为什么要做磁盘配额?
Linux系统作为一个多用户的操作系统,在生产环境中,会发生多个用户共同使用一个磁盘的情况,会造成Linux根分区的磁盘空间耗尽,导致Linux系统无法建立新的文件,从而出现服务程序崩溃、系统无法启动等故障现象。
为了避免这种情况,解决方法就是 ,对用户在指定文件系统中使用磁盘空间、文件数量进行限制,防止用户占用大量的磁盘空间,从而保持系统存储空间可以稳定使用。

1.4EXT4和XFS的区别

ext4 文件系统 xfs 文件系统
无法对单一目录 可对单一目录
quota工具 xfs_quota工具
quota默认不开启 默认开启
需要创建配额配置文件 不需要创建配额配置文件

1.5磁盘配额的作用范围

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

1.6磁盘配额的限制对象

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

1.7磁盘配额的限制类型

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

1.8磁盘配额的限制类型

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

1.9磁盘配额的限制方法

软限制:指定一个软性的配额数值(如 480MB 磁盘空间、180 个文件),在固定 的宽限期(默认为七天)内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:指定一个硬性的配额数值(如 500MB 磁盘空间、200 个文件),是绝对 禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效。

二、设置磁盘配额 2.1设置系统的磁盘配额可以分为4个步骤:

(1)启动系统的磁盘配额功能
(2)创建qutoa配额文件
(3)设置用户和组群的磁盘配额
(4)启动磁盘限额功能
在 CentOS 系统中,不同的文件系统使用不同磁盘配额配置管理工具。
例如,XFS 文件系统通过 xfs_quota 工具进行管理;EXT3/4 文件系统通过 quota 工具进行管理
磁盘配额要求Linux内核支持磁盘配额技术,centos7默认支持
磁盘配额只对一般用户有效,对管理员(root)来说是没有任何作用限制的

2.2 设置磁盘配额

实验步骤(EXT4):
1、关闭selinux
2、修改/etc/fstab,对所选文件系统激活配额选项
3、重新挂载设备
4、用quotacheck命令生成基本配额文件(xfs跳过)
5、启动磁盘配额功能(xfs跳过)
6、用quota或者xfs_quota对具体用户或者目录设置配额

[root@localhost opt]# rpm -q xfsprogsxfsprogs-4.5.0-18.el7.x86_64 mount -o usrquota,grpquota /dev/vg01/lv02 /opt #临时带配额参数挂载 vim /etc/fstab //写入 vim/dev/fstab/dev/vg01/lv02 /opt ext4 defaults,usrquota,grpquota 0 0 由于ext4文件系统,quota功能默认是不开启的,需要创建磁盘配额的配置文件(aquota.user 和 aquota.group),才可以去启动quota功能,使用 quotacheck 命令的 -c 选项

-c:创建磁盘配额的配置文件
-v:显示扫描过程
-u:针对扫描用户的情况建立aquota.user
-g:针对扫描组的情况建立aquota.group

quotacheck -cvug /opt #创建磁盘配额的配置文件 quotaon /opt #开启磁盘配额,开启之前可以先查看是否已经开启了quotaon -p /opt quotaon 选项 分区名 #开启配置

-a 启动所有分区的磁盘配额
-u 启动用户的磁盘配额
-g 启动组的磁盘配额
-v 显示启动过程信息
-p 查看是否开启了磁盘配额

quotaoff 选项 分区名

-a 关闭所有分区的磁盘配额
-u 关闭用户的磁盘配额
-g 关闭组的磁盘配额

2.3例:设置tom 用户(已经创建好的普通用户)在opt 目录下创建文件的最大容量是10240K 最大文件个数6 edquota -u tom //对tom用户限制/dev/mapper/vg01/lv02 0 10000 10240 0 5 6

inode:可以创建文件或者目录的数量
block:可以存储的容量大小
soft(软限制):最低限制容量,可以被超过,但会有警告信息,超过的部分会保存到宽限时期到期。一般是硬限制的80%,单位为KB
hard(硬限制):绝对不能被超过限制。达到hard时,系统会禁止继续增加新的文件
宽限时间(一般为7天)单位为KB
当用户使用的空间超过了软限制但还没达到硬限制,在这个宽限的时间到期前必须将超过的数据降低到软限制以下(默认是7天),当宽限时间到期,系统将自动清除超过的数据。
0表示不限制

edquota 选项 用户名或组名 //开启用户的磁盘配额

-u 用户名
-g 组名
-t 设定宽限时间
-p 复制磁盘配额规则,不需要每一个用户或者组都手动设置一遍

1、以tom用户登陆
2、在/opt目录下写入10000K大小的文件(dd if=/dev/zero of=文件路径 bs=1K count=10000)
3、再在/opt目录下写入240K大小的文件
4、因为设置了软限制是10M,所以他会警告
5、再在/opt目录下写入440K大小的文件
6、因为已经超过了硬限制所以会报错已经超出了磁盘配额
7、ll -h /opt 查看一下超出10240的部分没写入

dd:复制
if=/dev/zero:从zero中拿取容量
of=文件路径:将的容量写入设置配额磁盘下的文件中
bs=N:每次写多少容量,默认单位为字节,可带单位K,M
count=N:一共写入几次

2.4查询用户或组的配额

quota 选项 用户或组名

-u 用户名
-g 组名
-v 显示详细信息
-s 以常见单位显示大小

查询文件系统配额
repquota 选项 分区名

-a 查询所有分区的磁盘配额
-u 查询用户配额
-g 查询组配额
-v 显示详情
-s 以常见单位显示

2.5XFS的磁盘配额设置 2.5.1对用户设置配额

1、创建lv03,在/etc/fstab设置挂载参数

vim /etc/fstab/dev/vg01/lv03 /opt xfs defaults,usrquota,grpquota 0 0

2.设置tom 用户最大容量是80M 最大文件个数8

xfs_quota -x -c ‘limit -u bsoft=50M bhard=80M isoft=6 ihard=8 tom’ /opt/lv03xfs_quota命令

-x:启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c:直接调用管理命令,如limit,report等

管理命令limit后相关:

-u:对用户限制
-g:对组限制
bsoft:磁盘容量软限制
bhard:磁盘容量硬限制
isoft:文件数量软限制
ihard:文件数量硬限制
tom写入90M数据会报错超出磁盘配额限制dd if=/dev/zero of=文件路径 bs=1M count=90

xfs_quota -x -c ‘report -abi’ /opt/lv03 /**/执行report命令,后面跟上挂载点,这样可以列出所有的Project ID以及对应的配额使用情况** 管理命令report后相关:

-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数

三、对单一目录设置配额 1、修改lv03,在/etc/fstab设置挂载参数 vim /etc/fstab/dev/vg01/lv03 /opt xfs defaults,prjquota 0 0 2、卸载lv03重新挂载 umount /dev/vg01/lv03mount /dev/vg01/lv03 3、创建测试目录 mkdir /opt/lv03/test 4、设置配额 xfs_quota -x -c 'project -s -p /opt/lv03/test 1’#为目录分配ProjectID 1,-p 后跟path xfs_quota -x -c ‘limit -p bhard=100m 1’ /opt/lv03#限制Project 1的配额为100MB调用project命令创建一个project,再调用limit命令设置配额 xfs_quota -c ‘quota -p 1’ /opt/lv03#查询某个project的配额使用情况

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。