linux之磁盘配额(quota)使用方法(转)
1.什么是quota
简单的说就是限制用户对磁盘空间的使用量。
因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现。
2.quota的用途
显示磁盘使用情况和配额
3.quota的一般作用对象
(1)针对WWW server
(2)针对mail server
(3)针对file server
4.quota的限制
(1)仅能针对整个文件系统
(2)需要kernel的支持
(3)只对一般用户有效
5.quota的使用
测试环境
RHEL6.6(默认kernel已经支持quota功能)
/dev/sdb1 供测试的文件系统
用户组 myquota
用户 quota1,quota2
具体操作如下
(1)重新挂/dev/sdb1文件系统,并添加usrquota,grpquota参数
[root@localhost ~]# mount -o remount,usrquota,grpquota /dev/sdb1
重新挂载后,/dev/sdb1这个分区就支持quota功能了
[root@localhost ~]# mount | grep /dev/sdb1
/dev/sdb1 on /mnt/test type ext4 (rw,usrquota,grpquota)
(2)添加用户组和用户
[root@localhost ~]# groupadd myquota
[root@localhost ~]# useradd -g myquota quota1
[root@localhost ~]# useradd -g myquota quota2
(3)生成quota配置文件
[root@localhost ~]# cd /mnt/test/
[root@localhost test]# quotacheck -ug .
[root@localhost test]# ls
aquota.group aquota.user lost+found 生成quota配置文件
(4)启动quota功能
[root@localhost test]# quotaon /dev/sdb1
若要关闭 使用quotaoff命令
(5)修改quota配置文件
配置文件内容如下
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 0 0 0 0 0
需要修改的是soft/hard的值,单位是KB,soft为警告值,hard为最大值,当磁盘使用量在soft-hard之间,就会发出警告(默认倒计时7天),若超过警告时间,磁盘使用量依然在soft-hard 之间,则会禁止使用磁盘空间。
若修改blocks的soft/hard表示规定用户可以使用的磁盘空间大小(一般都是规定磁盘使用量)
若修改的是inodes的 soft/hard值,表示规定用户可以创建的文件个数.
[root@localhost test]# edquota -u quota1 -->修改针对quota1用户的配置
Disk quotas for user quota1 (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 100000 200000 0 0 0
[root@localhost test]# edquota -u quota2 -->修改针对quota2用户的配置
Disk quotas for user quota2 (uid 501):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 100000 200000 0 0 0
[root@localhost test]# edquota -g myquota -->修改针对myquota组的配置
Disk quotas for group myquota (gid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 251200 100000 300000 3 0 0
这样配置表示quota1,quota2用户最多使用200M的磁盘空间,超过100M就发出警告并进入倒计时,而myquota组最多使用300M的磁盘空间。
也就是说,虽然quota1,quota2都有200M的最大磁盘空间能使用权限,但他们都属于myquota组,他们的总量不得超过300M
修改权限
[root@localhost test]# chmod 777 .
[root@localhost test]# ll -d
drwxrwxrwx. 3 root root 4096 8月 23 09:36 .
切换quota1用户,进行测试
[root@localhost test]# su quota1
[quota1@localhost test]$ dd if=/dev/zero of=bigfile1 bs=1M count=150
sdb1: warning, user block quota exceeded. -->警告
记录了150+0 的读入
记录了150+0 的写出
157286400字节(157 MB)已复制,1.02545 秒,153 MB/秒
再写入一个大文件
[quota1@localhost test]$ dd if=/dev/zero of=bigfile2 bs=1M count=150
sdb1: write failed, user block limit reached.
dd: 正在写入"bigfile2": 超出磁盘限额 -->超过200M的部分就无法写入了
记录了46+0 的读入
记录了45+0 的写出
47513600字节(48 MB)已复制,0.381467 秒,125 MB/秒
切换quota2用户
[root@localhost test]# su quota2
[quota2@localhost test]$ ls
aquota.group aquota.user bigfile1 bigfile2 lost+found
[quota2@localhost test]$ dd if=/dev/zero of=bigfile3 bs=1M count 50
记录了50+0 的读入
记录了50+0 的写出
52428800字节(52 MB)已复制,0.410838 秒,128 MB/秒
修改警告/宽限期时间
[root@localhost test]$ edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem Block grace period Inode grace period
/dev/sdb1 7days 7days
查看quota1的quota信息
[quota1@localhost test]$ quota -u quota1
Disk quotas for user quota1 (uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 200000* 100000 200000 6days 2 0 0 -->已经进入警告的倒计时了
查询quota2的quota信息
[root@localhost test]# quota -u quota2
Disk quotas for user quota2 (uid 501):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 51200 100000 200000 1 0 0
查询myquota组的quota信息
[root@localhost test]# quota -g myquota
Disk quotas for group myquota (gid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdb1 251200* 100000 300000 6days 3 0 0
总结:
quotacheck [ -gubcfinvdMmR ] [ -F quota-format ] -a | filesystem
-a 检查所有/etc/mtab中挂在的文件系统
-u 只检查用户的quota
-g 只检查用户组的quota
quota
不使用任何参数,查询当前用户的quota信息
-u username 查询某用户的quota信息
-g groupname 查询某用户组的quota信息
edquota
-u username 编辑某用户的quota配置
-g groupname 编辑某用户组的quota配置
-t 编辑警告时间的配置
还有一个综合查询命令是
repquota
-a 报告所有支持quota的文件系统
-u 报告针对user的quota信息
-g 包裹针对group的quota信息
一般三个参数一起使用
[root@localhost test]# repquota -aug
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 2 0 0
quota1 +- 200000 100000 200000 6days 2 0 0
quota2 -- 51200 0 0 1 0 0
*** Report for group quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
Group used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 2 0 0
myquota +- 251200 100000 300000 7days 3 0 0
--------------------------------------------------------------------------------------------------------------
edquota -u [user]
配置文件的对应字段含义如下:
Filesystem 文件系统
blocks 已经使用的块数(块的单位为1K)
soft 块数软限制,0表示禁用 #单位为KB,填1024则为1M,该项为超过提示项
hard 块数硬限制,0表示禁用 #该项为最高限制数项
inodes 已经创建的文件个数,如果后面有*表示已经超出软限制
soft 创建的文件个数的软限制,0表示禁用
hard 创建的文件个数的硬限制,0表示禁用
linux之磁盘配额(quota)使用方法(转)的更多相关文章
- Linux学习-磁盘配额 (Quota) 的应用与实作
什么是 Quota 在 Linux 系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生, 如 果其中有少数几个使用者大量的占掉了硬盘空间的话,那势必压缩其他使用者的使用权力! ...
- linux之磁盘配额(quota)
1.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现. 2.quota的用途 ...
- 鸟哥的Linux私房菜——第十八章:磁盘配额quota
视频链接:http://www.bilibili.com/video/av10892470/ 磁盘配额quota的意思是给用户进行使用磁盘额度的空间的划分,举个例子,你的百度网盘的使用空间,其他云盘的 ...
- linux初学者-磁盘配额篇
linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...
- Linux的磁盘配额详解(Quota)
1. 检查内核情况 检查当前内核是否支持quota,当前内核配置文件在/boot下 如果当前内核不支持quota,需要重新编译内核将quota support编译进核心: File systems ...
- [转]linux之磁盘配额(quota)
转自:http://www.jb51.net/LINUXjishu/78446.html 磁盘配额(quota)比较常用的几个情况是: * 针对WWW server,例如:每个人的网页空间的容量限制 ...
- 磁盘配额-----quota
为什么要使用磁盘配额:为了限制普通用户使用普通磁盘的空间与创建文件的个数等. 不至于个别人的浪费影响所有人的使用. 需要安装quota的软件包. mount -o usrquota,grpquota ...
- Linux用户磁盘配额
一:内核中支持QUOTA: [root@localhost /]# grep CONFIG_QUOTA /boot/config-3.10.0-123.el7.x86_64 CONFIG_QUOTA ...
- 磁盘配额quota
磁盘配额 1 启用磁盘配额 首先创建新的分区 /dev/sd5,并创建文件系统. [root@local ~]# mkfs.ext4 /dev/sda5 由于xfs 不磁盘配额能成功,这里使用ext4 ...
随机推荐
- hdu4686 简单的矩阵快速幂求前n项和
HDU4686 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4686 题意:题目说的很清楚了,英语不好的猜也该猜懂了,就是求一个表达式的前n项和,矩阵 ...
- 解决64位debian下无法安装ia32库的问题
原文地址:http://crunchbang.org/forums/viewtopic.php?pid=277918 因为64位debian源中并没有包括32位的软件包,所提安装ia32会提示依赖无法 ...
- 用Nginx反向代理Node.js
安装pm2 npm install pm2 -g ln -s /home/download/node-v8.11.1-linux-x64/lib/node_modules/pm2/bin/pm2 /u ...
- Spring Data @Query查询注解的使用(六)
按照上一篇文章 我们知道 我们定义的方法 都要根据它的规范进行定义 不然就没法实用 这篇我们讲@Query 查询注解 我们就可以不需要遵循它的方法规则去编写 咱们讲@Query定义到方法上 ...
- 排序算法review<2>--Shell 排序
shell排序方法也是一种插入排序算法,于1959年由D.L.Shell提出,其基本方法是:首先将带排序文件分为d1(d1<n)组,将所有彼此之间间隔为d和d的倍数的记录放在一组中,然后在组内进 ...
- Using virtual lists
Download demo project - 15.7 Kb Contents Introduction Virtual list Creating a virtual list Add items ...
- 增强MyEclipse的代码自动提示功能
一般在Eclipse ,MyEclipse代码里面,打个foreach,switch等 这些,是无法得到代码提示的(不信自己试试),其他的就更不用说了,而在Microsoft Visual Stu ...
- js老生常谈之this,constructor ,prototype
前言 javascript中的this,constructor ,prototype,都是老生常谈的问题,深入理解他们的含义至关重要.在这里,我们再来复习一下吧,温故而知新! this this表示当 ...
- SIP UserAgent (B2BUA client)——linphonec
1.linphone编译 linphone一般用在android/ios/windows/mobile上,但是没有图形界面的linphonec命令行程序用在资源紧张的硬件平台上也跟pjsip命令行一样 ...
- python学习笔记(七)操作mysql
python操作mysql数据库需要先安装pymysql模块,在之前博客中可翻看如何安装,最简单的就是pip install pymysql 1.导入pymysql模块 import pymysq ...