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)的内容,自己有时间可以自己了解一下。

最新文章

  1. 2014 ACM/ICPC Asia Regional Xi'an Online
  2. 算法:寻找maximum subarray
  3. Win7家庭组的使用
  4. OC--代理模式
  5. PHP自动加载__autoload的工作机制
  6. 转:python webdriver API 之控制浏览器滚动条
  7. SharePoint表单和工作流 - Nintex篇(三)
  8. Java私有构造器
  9. 数据库连接池php-cp介绍
  10. 武汉科技大学ACM:1001: 猴子选大王
  11. java--创建多线程两种方法的比较
  12. [原]android sdk更新的终极解决方案
  13. 记录一次JavaWeb开发的乱码解决
  14. SpringBoot 自定义监听器(Listener)
  15. [硬件黑客]钉钉智能指纹考勤机M1硬件漏洞挖掘(不定期更新)
  16. LeanCloud云引擎相关问题
  17. Tensorflow datasets.shuffle repeat batch方法
  18. 推荐四款 Bug 管理系统,最适合你的才是最好的!
  19. (转)Python3之pickle模块
  20. 帝国后端php通用Api接口

热门文章

  1. Golang通脉之并发初探
  2. 在Vue前端界面中,几种数据表格的展示处理,以及表格编辑录入处理操作。
  3. std::string类详解
  4. DeWeb发展历程! 从2015年开始
  5. Python里字符串Format时的一个易错“点”
  6. PTA 列车调度 (25分)
  7. maven项目中 把依赖包打进jar包
  8. 南大《软件分析》课程笔记——Data Flow Analysis
  9. Salesforce Consumer Goods Cloud 浅谈篇二之门店产品促销的配置
  10. Python学习周总结(二)