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. C语言基础知识总结大全

    1.入门程序 #include <stdio.h> int main() { printf("Hello World!"); return 0; } 2.数据类型 数据 ...

  2. 字符串与模式匹配算法(六):Needleman–Wunsch算法

    一.Needleman-Wunsch 算法 尼德曼-翁施算法(英语:Needleman-Wunsch Algorithm)是基于生物信息学的知识来匹配蛋白序列或者DNA序列的算法.这是将动态算法应用于 ...

  3. 栈的压入、弹出顺序 牛客网 剑指Offer

    栈的压入.弹出顺序 牛客网 剑指Offer 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是 ...

  4. C#笔记1__命名空间 / 常量 / object / is、as、...?... :...

    命名空间:namespace Test1{ ... } 引用命名空间:using System; using 别名=命名空间 常量:const double PI=3.14; using System ...

  5. git安装心得

    每天码代码打卡任务,老师需要我们提交链接,这就需要我们把自己打的代码文件上传到GitHub上来,以此获得链接. 自己是一个新人,安装git也是什么都不懂(跟着网上的教程也总是能出错) 安装正常操作:h ...

  6. MarkDown学习随笔

    MarkDown语法的学习 标题 ​ 设置标题方法是在前面加#号,一级标题(最大)是加#+空格 ,二级标题是加##+空格,之后的以此类推. 字体 在文本的前后分别加上一个星号表示斜体字 在文本的前后分 ...

  7. google-chrome 启动报错 nss_util.cc(627)] NSS_VersionCheck("3.26") failed. NSS >= 3.26 is required

    一.错误情况 报错如下: [0807/144244.712736:FATAL:nss_util.cc(627)] NSS_VersionCheck("3.26") failed. ...

  8. OpenHarmony LiteOS C-SKY指令集移植指北

    摘要:本文介绍在OpenHarmony社区LiteOS-M项目中新增C-SKY指令集的开发流程,以及适配相应qemu工程的方法和步骤,供LiteOS内核相关开发者学习交流. 本文分享自华为云社区< ...

  9. 好久没更新了,我回来了---Ajax

    1.Ajax概念以及优势 * 什么是AJAX * AJAX(Asynchronous JavaScript And XML),(异步 JavaScript 和 XML),中文名:阿贾克斯.是指一种创建 ...

  10. VIM处理工具与正则表达式

    *本文中/data目录为训练目录 1.在vim中设置TAB缩进为四个字符 打开vim 输入:set tabstop=4 2.复制/etc/rc.d/init.d/functions文件至/tmp/,替 ...