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 用户设置配额。
Linux:quota磁盘配额设置的更多相关文章
- Linux quota磁盘配额
quota:磁盘配额 限制某一群组所能使用的最大磁盘配额 限制某一用户的最大磁盘配额 使用限制: 仅能针对整个filesystem 核心必须支持quota quota的记录文件 只对一般身份使用者有效 ...
- linux初学者-磁盘配额篇
linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...
- [转]linux之磁盘配额(quota)
转自:http://www.jb51.net/LINUXjishu/78446.html 磁盘配额(quota)比较常用的几个情况是: * 针对WWW server,例如:每个人的网页空间的容量限制 ...
- Linux的磁盘配额详解(Quota)
1. 检查内核情况 检查当前内核是否支持quota,当前内核配置文件在/boot下 如果当前内核不支持quota,需要重新编译内核将quota support编译进核心: File systems ...
- Linux学习-磁盘配额 (Quota) 的应用与实作
什么是 Quota 在 Linux 系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生, 如 果其中有少数几个使用者大量的占掉了硬盘空间的话,那势必压缩其他使用者的使用权力! ...
- quota磁盘配额
一.什么是磁盘配额 磁盘配额从字面意思上看就是给一个磁盘配置多少额度,而quota就是有多少限额的意思,所以总的来说就是限制用户对磁盘空间的使用量.因为Linux是多用户多任务的操作系统,许多人公用磁 ...
- Linux用户磁盘配额
一:内核中支持QUOTA: [root@localhost /]# grep CONFIG_QUOTA /boot/config-3.10.0-123.el7.x86_64 CONFIG_QUOTA ...
- Linux:磁盘配额
磁盘配额 一.简略步骤显示 第一步:关闭虚拟机 第二步:编辑虚拟机设置--硬盘--添加 第三步:查看磁盘分区情况 fdisk -l 第四步:选择磁盘分区 fdisk /dev/sda2 第五步:选择磁 ...
- linux quota磁盘限额,引发的rename系统调用 errno:18 - Invalid cross-device link
起因: log4j日志滚动失败,debug发现jvm调用native方法rename失败,也就是系统调用rename失败. 自己写c程序系统调用rename,证实确实是这个问题. 日志打在容器里,日志 ...
随机推荐
- CICD-Jenkins笔记2014-2018
CICD-Jenkins笔记2014-2018 20141119 chenxin 20180726 chenxin update 四个环境,开发/测试/预发布/生产. 文中涉及的最新脚本,请查看西部战 ...
- window2012安装oracle报INS-13001 环境不满足最低要求
在windows server 2012R2安装Oracle客户端或者服务端时,会弹窗报错INS-13001 环境不满足最低要求此时可以进行以下操作进行解决 在解压后的Oracle安装文件目录中,找到 ...
- Codeforces Round #594 (Div. 2)
传送门 C. Ivan the Fool and the Probability Theory 题意: 给出一个\(n*m\)的方格,现在要给方格中的元素黑白染色,要求任一颜色最多有一个颜色相同的格子 ...
- 02. Go 语言基本语法
Go语言基本语法 变量.数据类型和常量是编程中最常见,也是很好理解的概念.本章将从 Go 语言的变量开始,逐步介绍各种数据类型及常量. Go 语言在很多特性上和C语言非常相近.如果读者有C语言基础,那 ...
- eclispe git config配置文件配置远程仓库
git config基本配置如下: [core] repositoryformatversion = 0 filemode = false logallrefupdates = true [remot ...
- golang数据结构之选择排序
//SelectSort 选择排序 func SelectSort(arr *[]int) { ; i < len(arr); i++ { tmp := arr[i] index := i ; ...
- php foreach 的效率问题
结果: 结论:多数情况下,循环时不带$k的foreach执行速度较快,建议没有使用到$k时,尽量不写
- 我说精通字符串,面试官竟然问我 Java 中的 String 有没有长度限制?
String 是 Java 中很重要的一个数据类型,除了基本数据类型以外,String 是被使用的最广泛的了,但是,关于 String,其实还是有很多东西容易被忽略的. 就如本文我们要讨论的问题:Ja ...
- IT兄弟连 Java语法教程 数组 经典案例
案例需求: 编程实现双色球中奖号码的生成 1)应用知识: ● 数组的声明 ● 数组的使用 ● for循环 2)需求解析: 在该程序中,需要定义一个长度为7的数组,用来存储中奖号码,使用Rando ...
- 关于C#异常的处理
关于异常,从我们一开始写代码的时候就开始伴随着我们,只不过那时还没入门,脑子里并没有产生意识这就是异常.异常:程序运行期间发生错误,异常对象: 将程序发生的各种错误封装成对象曾记得第一次面试的时候,面 ...