磁盘配额(quota)比较常用的几个情况是:
* 针对WWW server,例如:每个人的网页空间的容量限制
* 针对mail server,例如:每个人的邮件空间限制
* 针对file server:每个人最大的可用网络硬盘空间(教学环境中比较常见)
上面的是针对网络服务的设计,如果是针对linux系统主机上面的设置,用途有下面这些:
* 限制某一用户组最大磁盘配额,可用设置普通用户组和VIP用户组,有点类似会员制,VIP用户相应的磁盘空间大小比较大些,普通用户想成为VIP,嘿嘿,交会费就行。
* 限制某一用户磁盘配额,在对用户组进行限制后,继续对该用户组的每个用户进行设置,可以使用户组下有更公平的分配。
* 以Link方式使邮件可以作为限制的配额(更改/var/spool/mail这个路径)
====Quota的规范设置选项====
* 限制文件数量或者容量(inode或者block),以block设置为常见
* soft/hard,hard > soft,超过soft后,在grace time(宽限时间)内登陆系统后会给出磁盘爆满的警告
* 会倒计时的宽限时间 grace time,如果过了这个时间还没降到比soft低,直接锁定磁盘使用,并且hard减少为soft值。
坐而言不如起而行,先来设计一个实际的quota例子:
* 五个人的账号分别为user1,user2,user3,user4,user5,密码都是123456,初始用户组都为quotagroup,其他账号属性为默认。
* 账号的磁盘容量限制:五个用户都能够取得300MB的磁盘使用量(hard),文件数量不予限制。此外,只要容量超过250MB时候给予警告(soft)
* 用户组的限额:由于我的系统里面可能还有其他用户存在,我仅承认quotagroup这个组最多使用1GB的容量。也就是说,如果user1,user2,user3都用了280MB的空间,那么user4,user5就只能使用1000MB – 280MB*3 = 160MB的空间了。
* 宽限日期:14天,达到250MB的soft值后,14天内给予警告,如果14天内磁盘容量还没降到比250MB低,直接锁定用户。丫的叫你放电影到硬盘上又不删。
建立5个账号的shell脚本:
#!/bin/bash
# 使用script新建实验quota所需的环境
groupadd quotagroup
for username in user1 user2 user3 user4 user5
do
useradd -g quotagroup $username
echo "123456" | passwd --stdin $username
done
接下来实践下quota流程:
# df -h /home
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda3 69G 4.4G 62G 7% /
因为我用的虚拟机,自动被分区,只有一个根分区/挂载sda3文件系统,所以我会针对/来进行,不过一般来讲不建议直接在/下面设置quota。
# mount | grep ‘\s/\s’
/dev/sda3 on / type ext4 (rw,relatime,seclabel,user_xattr,barrier=1,data=ordered)
通过查看/dev/sda3的数据知道是哦那个ext4文件系统,那么肯定支持quota
修改配置文件/etc/fstab,让/支持quota:
UUID=2f08675e-289a-404a-a13e-4802dec910e9 / ext4 defaults,usrquota,grpquota 1 1
重点在上面粗体显示的usrquota,grpquota
# umount / (我勒个擦,根目录你怎么umount,还是重启吧)
# mount -a
# mount | grep “\s/\s”
/dev/sda3 on / type ext4 (rw,relatime,seclabel,user_xattr,barrier=1,data=ordered,usrquota,grpquota)
看到了吧,可以针对用户组和用户进行磁盘配额了。
====新建quota配置文件====
# quotacheck [-avugfM] [/mount_point]
-a:扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,后面的/mount_point就不用写了
-u:针对用户扫描文件与目录使用情况,会新建aquota.user
-g:针对用户组扫描文件与目录使用情况,会新建aquota.group
-v:显示扫描过程信息
-f:强制扫描文件系统,并写入quota配置文件(危险,慎用)
-M:强制以读写方式扫描文件系统,只有在特殊情况下才会使用。
实际上只需要记住前面四个参数 -augv即可。
# ll -d /a*
-rw——-. 1 root root 8192 10月 27 02:06 /aquota.group
-rw——-. 1 root root 7168 10月 27 02:06 /aquota.user
不要手动去修改这两个quota配置文件啊,这个是quota自己去更新的。
====quota启动、关闭与限制值的设置====
# quotaon [-avug] <===启动quota服务
# quotaon [-vug] /mount_point
上面的参数跟之前的一模一样,这个命令只需要执行一次,下次系统启动后会自动再执行的
# quotaoff [-a] <===关闭quota服务
# quotaoff [-ug] /mount_point
# edquota [-u username] [-g groupname] <===编辑quota的宽限值
# edquota -t <===修改宽限时间
# edquota -p 范本账号 -u 新账号
这些都很简单,不解释
# edquota -u user1
Disk quotas for user user1 (uid 1002):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 28 0 0 8 0 0
解释下这七个字段:
1,文件系统,或者是partition
2,磁盘容量(blocks):这个是quota自己自动算出来的,单位为KB,不要改动它
3,soft:磁盘容量(block)的soft限制值,单位为KB
4,hard:block的hard限制值,单位为KB
5,文件数量(inodes):这个也是quota自己自动算出来的,单位为个,不要改动它
6,soft:inode的soft值
7,hard:inode的hard值
我把它修改成如下的:
Disk quotas for user user1 (uid 1002):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 28 250000 300000 8 0 0
注意:我用的1000去近似1024,方便点,其实真正的250MB = 250 * 1024KB,这么说你了解麽 o(╯□╰)o
还有其他四个用户,直接参考copy user1的设置就可以了。
# edquota -p user1 -u user2
# edquota -p user1 -u user3
# edquota -p user1 -u user4
# edquota -p user1 -u user5
更改用户组的quota限额:
# edquota -g quotagroup
Disk quotas for group quotagroup (gid 1002):
Filesystem blocks soft hard inodes soft hard
/dev/sda3 140 900000 1000000 35 0 0
最后,将宽限时间改成14天吧:
# 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/sda3 14days 7days
到这步,所有的设置都已经完成,接下来验收成果:
====quota限制值的报表====
单一用户/用户组的quota报表:
# quota [-uvs] username列表
# quota [-gvs] groupname列表
-u:后接用户名,不填表示当前用户
-g:后接用户组
-v:显示每个用户或者用户组在文件系统中的quota值
-s:使用好看的单位,比如M之类的
# quota -uvs user1 user2
Disk quotas for user user1 (uid 1002):
Filesystem space quota limit grace files quota limit grace
/dev/sda3 28K 245M 293M 8 0 0
Disk quotas for user user2 (uid 1003):
Filesystem space quota limit grace files quota limit grace
/dev/sda3 28K 245M 293M 8 0 0
针对整个文件系统的报表:
# repquota -a [-vugs]
-a:直接到/etc/mtab查询具有quota标志的文件系统,并报告quota结果
-v:输出的数据将含有文件系统相关的详细信息
-u:显示出用户的quota限制(这个是默认值)
-g:显示个别用户组的quota限制值
-s:使用K,M,G的单位显示
测试下实际效果:
# su – user1
# dd if=/dev/zero of=bigfile bs=1M count=270
# repquota -auv
dd if=/dev/zero of=bigfile2 bs=1M count=300
dd: 正在写入”bigfile2″: 超出磁盘限额
记录了23+0 的读入
记录了22+0 的写出
24047616字节(24 MB)已复制,0.648835 秒,37.1 MB/秒
# du -sk
300000 . <===果然到了极限
[user1@(none) ~]$ ll
总用量 299968
-rw-r–r–. 1 user1 quotagroup 283115520 10月 27 02:42 bigfile
-rw-r–r–. 1 user1 quotagroup 24047616 10月 27 02:44 bigfile2
当用户超过了soft,然后再宽限日期又没有删除空间,导致用户的hard变成了原来的soft,用户再也使用不了磁盘,那么怎么办呢。当然是进去删除文件就行了啊。不过很多用户不知道怎么回事,最好在用户超过限额(soft)后给用户发警告信:
# warnquota (fedora上面没有这个命令,囧!)
==== 不改动既有系统的quota实例(link方式)====
如果/var/spool/mail不是一个独立分区,你想让用户邮件信箱与主文件夹的总体 磁盘使用量固定,但/home是单独的文件系统,跟/var/spool/mail不一样。
可以这样解决:
1,将/var/spool/mail这个目录整个完整的移动到/home下面
2,建立连接 # ln -s /home/mail /var/spool/mail,那么现在所有往/var/spool/mail里面放的数据全部放到/home/mail里面去了。
3,将/home/进行quota限额设置
注意,进行以上设置的时候,可能需要关闭SELinux
====软件磁盘阵列(Software RAID)====
请参考下一篇文章。哈哈 ……+……
===================================END========================
本人博客已搬家,新地址为:http://yidao620c.github.io/
相关推荐
1.什么是磁盘配额? 由于linux是多人多任务的空间,那么肯定会有多个人同时使用同一块磁盘空间的情况发生。如果其中有几个用户使用磁盘空间占比较大的化,势必会压缩其他用户的使用权力,因为管理员应该分配用户以...
"Linux磁盘配额Quota配置详解" Linux磁盘配额Quota配置详解是Linux系统中的一项重要功能,目的是为了限制用户对硬盘空间的使用,以避免少数用户占用大量硬盘空间,影响其他用户的使用权力。 什么是Quota? Quota是...
在Linux系统中,磁盘配额(Quota)是一种用于管理磁盘空间使用的重要工具,它允许管理员控制用户对磁盘空间的使用以及文件数量的限制。通过设置磁盘配额,可以避免单个用户过度消耗系统资源,保护服务器稳定运行。本...
- 如果输出结果中包含`CONFIG_QUOTA=y`和`CONFIG_QUOTACTL=y`,则说明当前内核支持磁盘配额功能。 - 若不支持,需要重新编译内核,并在配置时选择支持磁盘配额功能。 2. **修改`/etc/fstab`文件以激活配额选项:*...
### quota磁盘配额操作手册 #### 1. 背景与概念 ##### 1.1 背景介绍 在Linux系统中,尤其是在多用户共享环境里,多个用户可能会共享同一个硬盘空间。这样的环境下,如果部分用户过度占用硬盘空间,将会严重压缩...
在配置磁盘配额时,需要检查当前内核是否支持 quota。如果当前内核不支持 quota,需要重新编译内核将 quota support 编译进核心。然后,需要修改 /etc/fstab 文件,对所选文件系统激活配额选项。最后,需要重新挂载...
手把手部署 Linux 下磁盘配额(quota)应用与实战 本文档主要讲解了 Linux 系统中磁盘配额(quota)的概念、作用、用途、缺点和实战部署。磁盘配额可以简单地理解为对硬盘的使用权限的设置,以避免多人使用同一个...
### Linux下磁盘配额(quota)应用与实战详解 #### 一、磁盘配额概念及作用 磁盘配额是一种重要的资源管理工具,它主要用于控制用户或用户组在文件系统上的磁盘使用量。在多人共享同一系统的情况下,比如在Linux...
手把手部署 Linux 下磁盘配额(quota)应用与实战 磁盘配额(quota)是 Linux 系统中的一种重要功能,它可以对用户和组的磁盘使用进行限制和管理,从而防止某个用户或组占用过多的磁盘空间,影响其他用户或组的使用...
十二、磁盘配额管理的优点 磁盘配额管理可以帮助系统管理员控制用户和组群对文件系统的访问和使用,避免了磁盘空间的滥用和浪费。 十三、磁盘配额管理的缺点 磁盘配额管理可能会增加系统的复杂性,并需要系统管理...
quota 磁盘配额管理 1、磁盘配额的概念: quota磁盘配额功能只能在指定文件系统(分区)内有效,未设置配额的文件不收限制。 quota针对指定的用户账号、组账号进行限制,其他用户或组不收影响 磁盘配额可以进行两...
磁盘配额的一个发明专利,这里提供资源下载,主要利用到了LINUX 的quota 命令
- **修改磁盘配额**:使用`Fsutil quota modify J: [字节数] [警告等级] 用户名`命令来调整磁盘配额,其中字节数可通过计算器计算得出。 ### 三、在多个分区上指定相同的磁盘配额设置 为了方便在不同的分区上应用...
在Linux系统中,磁盘配额是指对用户或用户组在特定文件系统上所能占用磁盘空间进行限制的一种管理方法。本文主要探讨了在Red Hat Enterprise Linux 7(RHEL 7)中实施磁盘配额的技巧,以帮助系统管理员更有效地管理...
配置步骤包括挂载时添加选项、检查磁盘配额限制、创建磁盘配额数据库、重启系统或激活磁盘配额、编辑磁盘配额限制、查看磁盘配额所有限制、关闭磁盘配额等。 在配置磁盘配额时,需要挂载时添加选项usrquota和...
在Redhat Linux系统中,磁盘配额是一种有效的管理工具,它允许管理员限制单个用户或用户组在特定分区上可以使用的磁盘空间和文件数量。这样,可以防止个别用户过度消耗系统资源,确保系统的稳定性和其他用户的公平...
- `quota`:显示用户或组的磁盘配额信息。 - `du`:显示目录或文件占用的空间大小,常用参数有`-b`(以字节为单位)和`-k`(以千字节为单位)。 - `df`:统计分区的使用情况,例如`df -m`以兆字节为单位显示所有分区...
在Linux操作系统中,磁盘配额是一项至关重要的管理工具,它允许系统...`quota.exe`可能是Windows上的一个程序,而`squid.exe`是Linux上的一个代理服务器软件,通常用于缓存和网络流量控制,与磁盘配额直接关联性不大。