1、磁盘配额概念

磁盘配额是限制用户或者用户组在一个分区上可以使用的空间大小和文件个数的限制。

扩展:

  • 管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。
  • 磁盘配额针对的是分区,Windows系统也有磁盘配额功能。
  • 这是一个基础的功能,如果真要在实际工作中使用,还需要结合其他的其他的服务。比如上传文件,需要结合FTP服务器等。

2、磁盘配额条件

(1)内核必须支持磁盘配额

[root@localhost ~]# grep CONFIG_QU0TA /boot/config-2.6.32-279.e16.i686
# 执行上面命令,如果搜索到下面内容,说明Linux内核加载了磁盘配额功能。
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
#CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG QUOTACTL=y #我搜索的结果是
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_XFS_QUOTA=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y

一般情况下,那怕是最小化安装的Linux系统中,磁盘配额都是配置好的。

(2)系统中必须安装了quota工具。

我们的Linux默认是安装了quota工具的,查看命令如下:

[root@localhost ~]# rpm -qa | grep quota
quota-3.17-16.e16.i686

提示:如果内核不支持,就要重新编译内核,一般不会出现这样情况。如果没有quota工具,直接用yum安装。

3、磁盘配额的相关概念

(1)用户配额和组配额

能限制用户的配额,也能限制组的配额。在实际日常中,组配额很少用。

说明:为什么组配额很少用?

比如我给一个组限制600MB的空间配额,这个组中有三个用户,而组配额并不是按照每个人200MB的方式进行划分,而是先到先得的方式进行划分,有可能user1一个人把600MB的空间全部占用了,而另外两个人一点空间都没有。

(2)磁盘容量限制和文件个数限制

磁盘配额是可以对一个分区的磁盘容量文件个数进行限制。

为什么要限制文件个数?

因为每个文件都会占用一个i节点号,而i节点号是有限的,分区大小不同,i节点号的数量是不一样的。如果i节点占满了,也同样存储不了数据。

(3)软限制和硬限制

  • 软限制可以理解为警告限制,如果你超过了软限制,你还可以写入数据,只是每次写入都会有提示,你的空间快占满了,请你尽快清理。
  • 硬限制就是实际限制,到了限制,你一个字节都存储不了了。

(4)宽限时间

如果用户的空间占用大小,处于软限制和硬限制之间,系统会在用户登陆时警告用户磁盘将满,这个时间就是宽限时间,默认是7天。如果达到了宽限时间,用户的磁盘占用量还超过软限制,那么软限制就会升级为硬限制。(这个时间能修改,但是没有必要。)

4、磁盘配额实践规划

我们开始磁盘配额实验,首先我们来规划下:

  • 磁盘配额是限制的普通用户分区上使用磁盘空间和文件个数的,所以我们需要指定一个分区。那么我们手工建立一个5GB的/dev/sdb1分区,把它挂载到/disk目录当中。(swap分区和boot分区不能做实验)。
  • 还有需要建立被限制的用户和用户组。假设需要限制user1user2user3用户,这三个用户属于test用户组。(组配合不好用,上面说了,不进行说明了,这里只说明普通用户的磁盘配额)
  • 为了便于测试,三个用户的磁盘容量硬限制为50MB,软限制为40MB,文件个数硬限制限制为11个,软限制为8个。
  • 系统宽限时间我们改为8天。

提示:

  • 关于磁盘配额配额的操作,下一篇文章会详细说明。

  • 还有磁盘阵列(Redundant Arrays of Independent Disks,RAID)的内容,自己有时间可以自己了解一下。

『学了就忘』Linux文件系统管理 — 63、磁盘配额介绍的更多相关文章

  1. 『学了就忘』Linux文件系统管理 — 57、Linux文件系统介绍

    目录 1.了解硬盘结构(了解即可) (1)硬盘的逻辑结构 (2)硬盘接口 2.Linux文件系统介绍 (1)Linux文件系统的特性 (2)Linux常见文件系统 3.整理一下对文件系统的认识 在了解 ...

  2. 『学了就忘』Linux文件系统管理 — 64、磁盘配额的配置步骤

    目录 1.手工建立一个5GB的分区 2.建立需要做限制的三个用户 3.在分区上开启磁盘配额功能 4.建立磁盘配额的配置文件 5.开始设置用户和组的配额限制 6.启动和关闭配额 7.磁盘配额的查询 8. ...

  3. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

  4. 『学了就忘』Linux文件系统管理 — 58、常用硬盘管理相关命令

    目录 1.df命令 2.du命令 3.fsck文件系统修复命令 4.显示磁盘状态dumpe2fs 5.查看文件的详细时间 6.判断文件类型 1.df命令 df命令用于统计分区的占用状况. [root@ ...

  5. 『学了就忘』Linux文件系统管理 — 59、使用fdisk命令进行手工分区

    目录 1.手工分区前提 (1)要有一块新的硬盘 (2)在虚拟机中添加一块新硬盘 2.手工分区 (1)查看Linux系统所有硬盘及分区 (2)手工分区:详细步骤 (3)保存手工分区 3.硬盘格式化 4. ...

  6. 『学了就忘』Linux文件系统管理 — 60、Linux中配置自动挂载

    目录 1.自动挂载 2.如何查询系统下每个分区的UUID 3.配置自动挂载 4./etc/fstab文件修复 上一篇文章我们说明了手动分区讲解,对一块新硬盘进行了手动分区和挂载. 但是我们发现重启系统 ...

  7. 『学了就忘』Linux文件系统管理 — 61、使用parted命令进行分区

    目录 1.parted命令介绍 2.parted交互模式 3.建立分区 (1)查看分区 (2)修改成GPT分区表 (3)建立分区 (4)建立文件系统(格式化) (5)调整分区大小 (6)删除分区 1. ...

  8. 『学了就忘』Linux文件系统管理 — 62、手动分配swap分区

    目录 1.查看swap分区情况 2.手动修改swap分区 3.格式化swap分区 4.使用swap分区 5.配置swap分区开机之后自动挂载 1.查看swap分区情况 swap分区就相当于是内存的一个 ...

  9. 『学了就忘』Linux文件系统管理 — 66、通过图形界面进行LVM分区

    目录 1.选择自定义分区 2.分配boot分区 3.创建LVM物理卷 4.生成卷组 5.创建逻辑卷 6.格式化安装 我们先用新安装Linux系统时的图形化界面,来演示一下LVM逻辑卷如何进行分区. 提 ...

随机推荐

  1. wifi 热点配置最优信道

    wifi热点服务hostapd启动需要配置hostad.conf文件,其中有一个参数channel是用来配置信道的,信道的可选参数如下: # channel 1-14 is 2.4 GHz ; cha ...

  2. 第07课 OpenGL 光照和键盘(2)

    下一段代码绘制贴图立方体.我只对新增的代码进行注解.如果您对没有注解的代码有疑问,回头看看第六课. int DrawGLScene(GLvoid) // 从这里开始进行所有的绘制 { glClear( ...

  3. python中的itertools模块简单使用

    itertools 高效循环下创建循环器的标准库 Infinite itertools,无限迭代器 itertools.count(start=0, step=10) 默认返回一个从0开始,依次+10 ...

  4. Linux 服务器的基本性能及测试方法

    1. 摘要 一个基于 Linux 操作系统的服务器运行的同时,也会表征出各种各样参数信息.通常来说运维人员.系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要,尤其当程序非正常工作 ...

  5. Java使用assert断言

    Java1.4后新增assert关键字 Idea中开启assert断言 使用 assert boolean表达式 assert boolean表达式 : 错误提示信息 例子 public static ...

  6. LeetCode刷题 字符串详解

    一.字符串常用的操作 1. string类 1.1 string的定义与初始化 1.1.1 string的定义 1.1.2 string的初始化 1.2 string的赋值与swap.大小操作.关系运 ...

  7. Part 11 to 20 Basic in C# continue

    Part 11-12 switch statement in C# switch statement break statement   if break statement is used insi ...

  8. PHP 数组函数分类整理

    1.处理数组键名相关的函数: array_change_key_case - 返回字符串键名全为小写或大写的数组. array_key_exists - 检查给定的键名或索引是否存在于数组中 arra ...

  9. ndarray 数组的创建和变换

    ndarray数组的创建方法 1.从python中的列表,元组等类型创建ndarray数组 x = np.array(list/tuple) x = np.array(list/tuple,dtype ...

  10. 菜鸡的Java笔记 第二十五 wrapperClass 包装类

    wrapperClass 包装类         1.包装类的特点        2.装箱与拆箱操作        3.数据转型处理            内容        Object 类可以接收 ...