Linux磁盘配额

磁盘配额

什么是磁盘配额?

磁盘配额(Quota)是Linux系统中由于是多用户、多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中少数几个用户大量占掉了磁盘空间的话,那肯定影响其他用户的使用权限。因此我们就需要对每个用户限制硬盘使用空间,来避免此种情况的发生,这就是磁盘配额。

Quota的一般用途

*针对WWW server,例如:每个人的网页空间的容量限制!

针对mail server,例如:每个人邮件空间限制

针对file server,例如:每个人最大的网络硬盘空间

限制某一个用户组能使用的最大磁盘配额(使用用户组限制)

限制某一用户的最大磁盘配额(使用用户限制*)

以Link的方式来使邮可以作为限制的配额(更改/var/spool/mail这个路径)

Quota的使用限制:

1.仅能针对整个文件系统

2.内核必须支持quota

Quota的日志文件:

使用默认文件aquota.user针对用户做出配置

使用默认文件aquota.group针对组做出配置

只对一般身份用户有效:

root不能设置quota,整个文件系统的数据都是它的

Quota的规范设置选项:

容量限制或者文件数量限制:

限制indoe用量:管理用户创建的文件数量

限制block用量:管理用户磁盘容量的限制

soft/hard

hard:表示用户的用量绝对不会超过这个值,单位KB

soft:表示用户的用量在低于soft值限值,可以正常使用。但如果超过了这个值,每次用户登录系统时,系统会主动发出磁盘即将爆满的警告信息,而且会给予一个宽限时间(gracetime)。如果用户再次将容量调整到soft数值以下这个宽限时间会停止。单位KB

会倒计时的宽限时间(grace time)

一般默认的时间是7天,如果7天你都不进行任何磁盘管理,那么soft限制值会即刻替代hard限值来作为quota限制。

Quota是通过分析整个文件系统中每个用户(用户组)拥有的文件总数与总容量,再将这些数据记录在该文件系统的最顶层目录,然后在该配置文件中再使用每个账号(或用户组)的限制值去规定磁盘使用量的。

磁盘配额中常用的命令说明:

quotacheck [-avugfM] [/mount_point]:扫描文件系统并新建Quota的配置文件

-a:扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,/mount_point可不必写,因为扫描所有文件系统了

-u:针对用户扫描与文件的使用情况,会新建aquota.user

-g:针对用户组扫描文件与目录的使用情况,会新建aquota.group

-v:显示扫描过程信息

-f:强制扫描文件系统,写入新的quota配置文件

-M:强制以读写的方式扫描文件系统,只有在特殊情况下才会使用

 quotaon:启动quota的服务 quotaoff:关闭quota的服务

-u:针对用户启动quota

-g:针对组启动quota

-v:显示启动过程的相关信息

-a:扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,/mount_point可不必写,因为扫描所有文件系统了

equota:编辑账号/用户组的限值与宽限时间

-u:后面接账号名称。可进入quota的编辑界面去设置username的限制值

-g:后面接组名。可进入quota的编辑界面去设置groupname的限制值

-t:可以修改宽限时间

-p:复制范本。那个范本是已经存在并且已设置好的quota用户

quota:单一用户的quota报表

-u:接用户,显示该用户的quota限制值

-g:接组,显示该组的quota限制值

-v:显示每个用户在文件系统中的quota值

-s:使用1024为倍数来指定单位,会显示如M之类的单位

repquota:针对文件系统的限额做报表

-a:直接到/etc/mtab查询具有quota标志的文件系统,并报告quota的结果

-v:输出数据含有文件系统的相关信息

-u:显示该用户的quota限制值

-g:显示该组的quota限制值

warnquota:对超出限额者发出警告信,可以在/etc/warnquota.conf的设置,然后找出目前系统上面quota用量超过soft的账号,通过email的功能将警告新建发送到用户的电子邮件信箱。

quota实验:

[root@localhost bin]# df -h /home #查看home目录是否为独立分区,此处不是
Filesystem  Size  Used Avail Use% Mounted on
/dev/sda347G   11G   35G  24% /

建立新分区后并将/home挂在其上 此时为独立分区 [root@localhost home]# df -h /home Filesystem Size Used Avail Use% Mounted on /dev/sdg 20G 45M 19G 1% /home 将分区挂载信息添加到:/etc/fstab中:UUID="ea80140b-24ef-4a34-bf57-3f9187a014f2" /home ext4defaults,usrquota,grpquota 0 0

重新挂载并且重读fstab文件: [root@localhost /]# mount -o remount,rw /dev/sdg [root@localhost /]# mount -a

创建配置数据库:

[root@localhost /]# setenforce 0 #关闭SElinux

[root@localhost /]# quotacheck -cug /home #创建quota数据库

查看数据库是否开启:

[root@localhost /]# quotaon -p /home
group quota on /home (/dev/sdg) is off
user quota on /home (/dev/sdg) is off

开启数据库:

[root@localhost /]# quotaon /home
[root@localhost /]# quotaon -p /home
group quota on /home (/dev/sdg) is on
user quota on /home (/dev/sdg) is on

配置配置额选项:

[root@localhost /]# edquota quota1
  1 Disk quotas for user quota1 (uid 522):
  2   Filesystem   blocks   soft   hard inodes soft hard
  3   /dev/sdg 32  1000 1500  800

复制quota1用户配置到quota2配置中:

[root@localhost /]# edquota -p quota1 quota2

非交互式配置配额选项:

[root@localhost /]# setquota quota3 10000 150000 0 0 /home

测试是否生效:

[root@localhost /]# quota quota1
Disk quotas for user quota1 (uid 522): 
 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
   /dev/sdg  32      1000        1500   8   0   0
[root@localhost /]# quota quota2
Disk quotas for user quota2 (uid 523): 
 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
   /dev/sdg  32       1000      1500   8   0   0
[root@localhost /]# quota quota3
Disk quotas for user quota3 (uid 524): 
 Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
   /dev/sdg  32   10000  150000   8   0   0
[root@localhost /]# repquota /home
*** Report for user quotas on device /dev/sdg
Block grace time: 7days; Inode grace time: 7days
Block limitsFile limits
Userusedsofthard  graceused  soft  hard  grace
----------------------------------------------------------------------
root  --  20   0   0  2 0 0   
quota1--  3210001500  8 0 0   
quota2--  3210001500  8 0 0   
quota3--  32   10000  150000  8 0 0   
quota4--  32   0   0  8 0 0   
quota5--  32   0   0  8 0 0

写入文件测试:

[quota1@localhost ~]$ dd if=/dev/zero of=./test bs=2M count=1
sdg: warning, user block quota exceeded.
sdg: write failed, user block limit reached.
dd: writing `./test': Disk quota exceeded
1+0 records in
0+0 records out
1503232 bytes (1.5 MB) copied, 0.00541416 s, 278 MB/s
[quota1@localhost ~]$ ll test 
-rw-r--r--. 1 quota1 quotagrp 1503232 Aug 30 22:15 test

原创文章,作者:YOUNG,如若转载,请注明出处:http://www.178linux.com/42232

(0)
YOUNGYOUNG
上一篇 2016-09-01
下一篇 2016-09-01

相关推荐

  • N23_第1周博客作业

    1、描述计算机的组成及其功能。     根据冯·诺依曼体系计算机有中央处理器、主存储器、输入/输出三个子系统组成。 1.中央处理器 CPU(Central Processing Unit)用于数据运算。CPU有控制单元、算数逻辑单元、寄存器组组成。 (1)控制单元:控制各个子系统操作 (2)算数逻辑单元:对数据进行逻辑、移位和算数运算 逻…

    Linux干货 2016-09-19
  • 文件系统的创建和管理

    作业:文件系统的创建和管理 思路:管理通常就是增删改查[*代表某一数值,测试机centos6使用的就是ext4,不要问我为什么了,马哥告诉我的,你问他吧!];   事情准备检查系统支持和使用的文件系统格式:         #lsmod  &nbsp…

    Linux干货 2016-01-19
  • Linux中的分区管理

    1. 磁盘分区类型 磁盘分区主要分为两种类型: MBR  MBR是一个比较古老的分区类型了,不支持2TB的大硬盘。在磁盘的0磁道0扇区的512字节存放的就是MBR的信息。前446字节为bootloader,后面64字节存放的是分区表,后面2字节存放的是55aa的分区标识符。MBR分区类型最多只能支持4个主分区和扩展分区,其余的分区只能是逻辑分区。 …

    2017-04-22
  • 管道及重定向

    管道及重定向 1、重定向 在Linux中有时我们在命令的执行过程中,不想将执行结果显示到屏幕上,或者将其结果输出到其他位置 这时就需要重定向来解决这个问题了 首先了解一下Linux中的3种I/O设备: 0:标准输入 1:标准输出 2:标准错误输出 输出重定向:> >> 输入重定向: < << >:将标准输出重定向到文…

    Linux干货 2017-07-28
  • nginx负载均衡搭建

    组 网络拓扑图 nginx负载均衡服务器搭建 首先准备三台机器 主机A(nginx负载均衡器) 主机B 主机C 主机A需两块网卡(一块外网,一块内网) 主机B和主机C各一块 (各一块内网的IP,如果主机B C和主机A内网网卡在一个网段就不需要配置网关地址了。 规划好网络后,nginx负载主机分别ping下各rs主机是否可通 主机A打开核心转发功能 #echo…

    Linux干货 2017-05-17
  • 文件、目录练习

    将/etc/issue文件的内容转换为大写保存到/tmp/issue.out文件中: 将当前系统登录用户信息转换为大写后保存至/tmp/who.out文件中: 将/root/下文件列表,显示成一行,文件名之间用空格隔开: file1文件的内容为“1 2 3 4 5 6 7 8 9 10”计算出所有数字的总和: 处理字符串“xt.,| 1 jr#!$mn 2 …

    Linux干货 2016-08-05

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-01 13:17

    总结的有点有面,看起来也美观大气,不错