Linux:quota磁盘配额设置

磁盘配额的概念

quota 磁盘配额功能只在指定的文件系统(分区)内有效,未设置配额的文件系统不受限制。
quota 针对指定的用户账号、组账号进行限制,其他用户或组不受影响。
磁盘配额可以进行两方面的限制:
磁盘容量
文件数量
磁盘容量:限制用户能够使用的磁盘数据块(block)大小,也就是限制磁盘空间大小, 默认单位为 KB。
文件数量:限制用户能够拥有的文件个数。
磁盘配额的限制方法分为软限制和硬限制两种。
软限制:指设定一个软性的配额数值(如 500MB 磁盘空间、200 个文件) ,在固定的宽限期(默 认为 7 天)内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:指设定一个硬性的配额数值(如 1GB 磁盘空间、500 个文件) ,而且绝对禁止用户超 过该限值。硬限制的配额值应大于相应的软限制值,否则软限制值将失效。
举例:
软件限制为:2G
硬限制为:1G

设置磁盘配额

启用quota磁盘配额
# 首先要通过修改配置文件“/etc/fstab”的方式启用 quota 磁盘配额。
[root@localhost var]# vim /etc/fstab
/dev/sdb1 /data ext4 defaults,usrquota,grpquota 0 0
# 将该文件系统重新挂载
[root@localhost ~]# mount -o remount /data
# 执行 mount 命令查看已经挂载的文件系统,检查是否已经启用了 usrquota 和 grpquota 功能
[root@localhost ~]# mount | grep sdb1 /dev/sdb1 on /data type ext4 (rw,usrquota,grpquota)
生成配额文件
# quotacheck 命令可以对文件系统进行磁盘配额检测,发现哪些文件系统启用了 磁盘配额功能
并在这些文件系统中生成配额文件 aquota.user 和 aquota.group。
[root@localhost ~]# quotacheck -cvug /data 

相关选项的作用:
-c,创建配额文件。
-v,显示详细信息。
-u,检查用户配额信息,创建 aquota.user 文件。
-g,检查组配额信息,创建 aquota.group 文件。

# 将 SELinux 设为许可模式
[root@localhost ~]# setenforce 0
# 再次执行 quotacheck 命令
[root@localhost ~]# quotacheck -cvug /data
# 查看生成的配额文件
[root@localhost ~]# ls /data
aquota.group aquota.user lost+found
编辑用户的配额设置
# 使用 edquota 命令结合“-u”、 “-g”选项可用于编辑用户或组的配额设置。
# 创建 financial 组,创建用户 jerry,将 financial 指定为 jerry 的基本组。
[root@localhost ~]# edquota -u jerry  //设置用户 jerry 的磁盘配额
# Filesystem:表示本行配置对应的文件系统(分区),即配额的作用范围。
# blocks:表示当前已使用的磁盘容量,默认单位为 KB。该值由 edquota 程序自动计算生成。
# soft:第 3 列中的 soft 对应为磁盘容量的软限制数值,默认单位为 KB;
# 第 6 列中的 soft 对应为文件数量的软限制数值位为个。
# hard:第 4 列中的 hard 对应为磁盘容量的硬限制数值,默认单位为 KB;
# 默认单 第 7 列中的 hard 对应为文件数量的硬限制数值,默认单位为个;
# inodes:表示当前已拥有的文件数量。该值由 edquota 程序自动计算生成。
编辑组的配额设置
# 设置 financial 组的磁盘配额
[root@localhost ~]# edquota -g financial

# 配额设置仅对基本组生效。如用户 jerry 所属的基本组是“financial”,所属的附加组是“technology”
# 那么只有针对“financial”组设置的配额才对 jerry 有效,而针对“technology”组设置的配额则对 jerry 没有限制。
激活磁盘配额
# 激活“/data”文件系统的用户、组配额
[root@localhost ~]# quotaon -ugv /data
/dev/sdb1 [/data]: group quotas turned on
/dev/sdb1 [/data]: user quotas turned on
# 相关选项的作用:
-u,激活用户磁盘配额。
-g,激活组磁盘配额。
-v,显示详细信息。
验证并查看磁盘配额
# 下面使用受配额限制的用户账号(jerry)登录 Linux 系统
# 并向应用了配额的文件系统进行复制文件等写操作,测试所设置磁盘配额项是否有效
# 为了方便测试,将 用户 jery 的基本组设为 financial,对用户和组的磁盘配额功能一并进行测试。
# 用 dd 命令生成指定大小的测试文件 

# 从设备文件/dev/zero 中复制数据到/home/jerry/test 文件,读取 210 个大小为 1MB 的数据块
[root@localhost ~]# dd if=/dev/zero of=/mnt/data bs=1KB count=120
记录了 210+0 的读入
记录了 210+0 的写出
220200960 字节(220 MB)已复制,13.3504 秒,16.5 MB/秒 

[root@localhost ~]# ll -h /home/jerry
总用量 211M -rw-r--r--. 1 root root 210M 11 月 6 10:49 test

# 开放 data/的写入权限
[root@localhost ~]#chmod 777 /data

# 查看用户或分区的配额使用情况
# 使用 quota 命令结合“-u” 、“-g”选项分别查看指定用户和组的配额使用情况。
# 执行 repquota /data 查看/data 文件系统的配额使用情况报告
关闭磁盘配额

利用 quotaoff -vug 命令关闭磁盘配额

总结:

通过 quota 磁盘配额可以方便地对单个用户或用户组的可用磁盘空间进行限制,使磁盘管理工作具有 更大的灵活性。

在生产环境中具体应用时还应注意,quota 是以每一个使用者,每一个文件系统为基础的,它不能跨 文件系统对用户做出了如指掌,如果使用者可能在超过一个以上的系统中建立文件,那么必须在每一个文 件系统上分别设定 quota 配额。

另外,由于 root 用户在 Linux 环境中具有至高无上的权限,所以无法对 root 用户设置配额。

(0)

相关推荐

  • 看完这篇你一定能掌握Linux(非广告)

    来自公众号:小姐姐味道 作者简介:一个不允许程序员走弯路的公众号.聚焦基础架构和Linux.十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道. 有很多同学微信问我,Linux命令这么多,该怎 ...

  • CentOS 磁盘在线扩容

    场景介绍: 操作系统Centos7.x 系统有一块vdisk,容量为20G,共分为3个区(swap和boot分区为标准分区xfs文件系统,根分区为LVM分区,xfs文件系统) 业务需求:在VM系统不关 ...

  • Linux LVM与磁盘配额

    ** LVM与磁盘配额 ** LVM逻辑卷管理 能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性 (boot分区用于存放引导文件,不能基于LVM创建) LVM机制的基本概念 P ...

  • Linux终端提示符PS1设置(颜色)

    \d :代表日期,格式为weekday month date,例如:"Mon Aug 1" \H :完整的主机名称.例如:我的机器名称为:fc4.linux,则这个名称就是fc4. ...

  • Linux挂载磁盘分区

    Linux系统一般都会有未挂载的磁盘,如果我们想使用这些为挂载的磁盘就需要挂载到指定目录才能使用. 一.有多个磁盘,将未分区的磁盘挂载 1.进入root用户 su – 2.查看已挂载磁盘的使用情况: ...

  • Linux:挂载磁盘分区

    查看挂载的分区 df 命令主要用来了解系统中已经挂载的各个文件系统的磁盘使用情况. 常用选项: "-h" ,显示更易读的容量单位: "-T" ,显示文件系统的类 ...

  • 编程语言Linux上磁盘热插拔是什么意思?

    首先获取scsi设备的信息. [root@server2 ~]# lsscsi [2:0:0:0] disk VMware, VMware Virtual S 1.0 /dev/sda [4:0:0: ...

  • Linux 设置显示路径

    在cshrc中设置如下: alias setfmt 'set prompt="[%/]: "' 然后source cshrc,直接运行setfmt就可以了 Linux/Unix中的 ...

  • Linux系统中与中文显示相关的一些编码设置方法

    对于国内的Linux用户,经常烦恼的一个问题是:系统常常在需要显示中文的时候却显示成了乱码,而由于某些原因,需要英文界面的系统的时候,却苦于系统不能正常输入和显示中文.另外,由于大部分主要Linux发 ...

  • linux磁盘爆满 linux df -i 100%处理

    情况描述:今天我们邮件服务器收发不了邮件了,而且连接到服务器上开启服务都开不了,起始以为磁盘空间不足,df 看了一下 发现空间是足够的,然后df -i 查看了下inodes,发现根目录下的inodes ...

  • 如何进行Tuxera NTFS的挂载卷设置?实现MacOS对NTFS磁盘的完全读写功能

    什么是挂载呢?挂载指的是将系统存储设备上的文件.文件夹等转变为用户可访问状态的一个过程.而Tuxera NTFS for Mac的挂载指的是对MacOS系统内NTFS磁盘进行完全读写的功能. 对于Tu ...