在Linux上创建磁盘配额

磁盘配额的概述及管理

为什么创建磁盘配

Linux根分区的磁盘空间耗尽时,Linux将无法再创建新的文件(包括程序运行的临时文件),从而导致服务程序崩溃,系统无法启动等故障现象。

为了避免出现类似问题,可以设置启用磁盘配额功能,对用户在指定文件系统(分区)中使用磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保证系统存储空间的稳定性和持续可用性。

使用磁盘配额的前提条件

设置磁盘配额,需要安装 quota 软件包,用于配置和管理磁盘配额,在RHEL 6中,系统默认安装了 quota 软件包。

磁盘配额的作用范围

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

磁盘配额的限制对象

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

磁盘配额的限制类型

# 磁盘容量:限制用户能够使用的磁盘空间的大小,默认单位为KB

# 文件数量:限制用户能够使用的文件个数

磁盘配额的限制方法

# 软限制:指定一个软性的配额数值(如100MB的磁盘空间、80个文件),在固定的宽限期限(默认为七天)内允许超过这个限制,但系统会给出警告信息

# 硬限制:指定一个硬性的配额数值(如120MB的磁盘空间、100个文件),是绝对禁止用户超过限制值,当达到硬限制值时,系统会给出警告信息并禁止继续写入数据。硬限制的配额值应该大于软限制值,否则软限制将失效

实验:

下面将上篇创建的 yang 逻辑卷 /dev/ysf/yang 挂载到 /mailbox 目录下 ,然后在该文件中配置实现磁盘配额功能。

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

usrquota, grpquota挂载参数写入到“/etc/fstab”文件中。

# chmod   777   /mailbox               //为后续测试方便,允许任何用户写入数据    

# vim   /etc/fstab                     //修改 yang 逻辑卷的挂载配置              

  /dev/ysf/yang      /mailbox     ext4     defaules,usrquota,grpquota     0 0  

2.检测磁盘配额并生成配额文件

使用 quotacheck 命令可以对指定的文件系统进行磁盘配额检测,也可以用来建立配额文件,以便保存用户、组在该分区的配额设置

例如:执行以下操作将扫描系统中的所有文件系统,并在支持配额的文件系统中建立配额文件

# quotacheck   -augcv                                                

 -a  表示扫描所有分区,如果不使用,将必须指定一个分区或挂载点目录作为命令参数

-u   表示检测用户配额信息

-g   表示检测组配额信息

-c   表示创建新的配额文件

-v   表示显示命令执行过程中的细节信息

# ls  -l   /mailbox/aquota.*                                    

可以看到新建立的配置文件,包括“aquota.user”、“aquota.group”,分别用于保存用户、组的配额设置,配置文件保存在该文件系统根下,默认权限为600

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

使用 edquota 命令结合 -u、-g 选项可用于编辑用户和组的配额设置,(默认调用 vi 作为编辑程序),可设置磁盘容量、文件大小的软、硬限制数值。

例如:执行以下操作可以对用户 zhangsan 的配额进行编辑

 # edquota   -u    zhangsan                          

 Filesystem              blocks       soft      hard     inodes      soft      hard

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13607.html