1、Quota的概念:磁盘配额,目的是限定用户在磁盘分区上所能使用的空间大小。

2、Quota的一般用途:针对WWW Server,限制没人的网页空间容量

针对Mail Server,每个人的邮件空间限制

针对file Server,限制每个人可用的网络硬盘空间

除了以上网络服务器限制的情况,还可以针对以下情况进行限制:

限制某一群组所能使用的最大磁盘配额

针对群组内的用户进行再次限制

以link的方式进行磁盘配额限制,针对某些无法做Quota的目录,可以link到其他目录

3、Quota的使用限制仅能针对整个filesystem,即只能对整个分区做限制,如果一个分区配置了Quota,则整个分区下的目录都会有影响

Linux内核必须支持Quota,Centos 5.X的版本预设支持Quota,如果自行编译内核,注意要把Quota功能编译进去

Quota的记录文件:Kernel 2.6.XX 的核心版本使用的默认档案是aquota.user和aquota.group

只对一般使用者有效,对root用户无法配置Quota

4、Quota的规范设定项目:容量限制或者档案数量限制(block或inode):

限制inode用量:可以管理使用者可以建立的“档案数量”

限制block用量:管理用户磁盘容量的限制(较常使用方式)

5、柔性劝导和硬性规定(soft/hard):

一般soft值要比hard设定值小,soft相当于警告阈值,比如:某用户soft设定值为400M,而hard设定值则为500MHard:表示使用者的用量绝对不会超过此值,超过则锁定该用户的磁盘使用权;

Soft:表示用户使用量低于此值时,可以正常使用磁盘,若高于此值并低于hard值时,系统会发磁盘将满的警告信息,且给予一个宽限时间(grace time)。如果用户在宽限期倒数期间,将磁盘占用量降低到soft值之下,则宽限期停止计时,恢复正常使用。

宽限时间(Gracetime):

如果用户的磁盘使用量在soft值和hard值之间,则系统会自动启动宽限时间倒计时,宽限时间一般设定为七天,如果用户七天之内没用把磁盘使用量降低到soft之下,则soft值会取代hard值来作为磁盘的Quota限制。

6、Quota配置范例:目的与账号:五个账号为一组,分别为:myquota1、myquota2、myquota3、myquota4和myquota5,密码均为password,这五个账号所属的初始群组为myquotagrp,账号其他属性默认。

账号的磁盘容量限制:五个用户的磁盘使用量hard值设定为150MB,soft值设定为100MB。

群组的限额:设定myquotagrp群组所能使用的磁盘容量为500MB,所以,如果前面四个用户每个占用120MB磁盘容量,最后一个用户只能使用20MB磁盘容量了。

宽限时间的限制:宽限时间默认为7天,这里可以修改为14天宽限期。

在做Quota配置之前先使用简单的shell脚本添加用户和群组,如下:

#!/bin/bash

#使用脚本创建quota实验的用户和群组

groupadd myquotagrp

for username in myquota1 myquota2 myquota3 myquota4 myquota5

do

useradd –g myquotagrp$username

echo “password” | passwd--stdin $usernamedone

以下是Quota配置流程:配置文件系统支持Quota

Quota需要在整个文件系统上配置,所以要先确定配置的目录是否是以整个文件系统挂载的,比如/home目录,使用df –h /home可以检查是否是独立的文件系统

[root@localhost /]# df -h home

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda6             3.9G  313M  3.4G   9% /home

[root@localhost /]#

确定支持Quota之后,可以使用两种方式配置文件系统的Quota功能:临时支持Quota,重新挂载文件系统或重启后Quota功能消失:

执行命令:mount –o remount,usrquota,grpquota /home

命令中usrquota表示支持用户quota,grpquota表示支持群组quota

使用如下命令可以显示结果:[root@localhost /]# mount | grep home

/dev/sda6 on /home type ext3 (rw,usrquota,grpquota)

[root@localhost /]#

文件系统永久支持Quota,需要把quota功能写入到fstab配置文件中:

在fstab文件中/home行,defaults后面添加usrquota和grpquota,中间使用逗号隔开[root@localhost /]# cat /etc/fstab

LABEL=/        /          ext3    defaults        1 1

LABEL=/tmp      /tmp        ext3    defaults        1 2

LABEL=/opt     /opt         ext3    defaults        1 2

LABEL=/home     /home         ext3    defaults,usrquota,grpquota       1 2

LABEL=/usr     /usr                    ext3    defaults        1 2

建立Quota记录文件

Quota会分析整个文件系统,将每个用户(群组)所拥有的档案总数与总容量写入文件系统顶层目录(本例/home目录)下的记录文件中(aquota.user和aquota.group),然后再比较记录文件中的限制值来规范用户或群组的磁盘用量。可以使用quotacheck命令扫描文件系统并建立Quota的记录文件,命令用法如下:

quotacheck[-avugfM] [/mount_point]

选项与参数:

-a:扫描/etc/mtab内,所有支持quota的分区,加此参数后,/mount_point可不写

-u:针对用户扫描档案与目录的使用情况,会建立aquota.user记录文件

-g:针对群组扫描,会建立aquota.group

-v:显示扫描过程的信息

-f:强制扫描文件系统,并写入新的quota配置文件(危险)-M:强制以读写的方式扫描文件系统,只有特殊情况下使用

本例中,使用命令:quotacheck –avug 命令即可。执行命令后,会在/home目录下产生aquota.user和aquota.group文件,这两个文件不是普通的文本文件,不可以手动添加或者修改。

Quota启动、关闭和限制值设定

配置文件生成后,就可以启动quota了。启动quota的命令:quotaon

关闭quota的命令:quotaoffquotaon [-avug] [/mount_point]

选项与参数:

-u:针对使用者启动quota(aquota.user)

-g:针对群组启动quota(aquota.group)

-v:显示启动过程的相关信息-a:根据/etc/mtab内的设定启动quota,加上-a不需要mount_point

本例中使用quotaon –augv命令即可启动用户和群组的quota功能。第一次启动quota时需要使用此命令,以后/etc/rc.d/rc.sysinit脚本会自动执行此命令。edquota:编辑账号/群组的限值与宽限时间

edquota的语法如下:edquota [-u username] [-g groupname]

edquota –t    ##修改宽限时间

edquota –p 范本账号–u 新账号

选项与参数:

-u:后面跟账号,进入quota编辑界面(vi)设定用户的限制值;

-g:后面跟组名,设定组的限制值

-t:修改宽限时间-p:复制范本。范本账号设定值会复制给新账号;

比如,设置用户myquota1的限定值如下:[root@localhost /]# edquota -u myquota1

Disk quotas for user myquota1 (uid 503):

Filesystem                   blocks       soft       hard     inodes     soft     hard

/dev/sda6                    123072     100000     150000          9        0        0

~

如上图,修改用户myquota1的限定值,只需要修改blocks后面的soft和hard值即可。数值单位为KB,默认数值为0,表示没有限制的意思。

如果其他几个用户限定值一样,可以通过复制范本(myquota1范本)的方式设置:edquota –p myquota1 –u myquota2

edquota –p myquota1 –u myquota3

edquota –p myquota1 –u myquota4

更改群组的限定值和宽限时间:edquota –g myquotagrp

edquota -tQuota限制值的报表

Quota的报表主要有两种模式,一是针对每个用户或群组的quota命令,另外一个是针对整个文件系统的repquota命令。quota:单一用户或群组的quota报表#quota [-uvs] [username]

#quota [-gvs] [groupname]

选项与参数:

-u:加username表示该用户的限制值,不加username表示当前用户限制值

-g:加groupname表示该群组的限制值

-v:显示每个用户在filesystem的限制值-s:使用1024为倍数指定单位,显示M的单位

本例中,用户的限制值显示命令如下:[root@localhost /]# quota -uvs myquota1 myquota2

Disk quotas for user myquota1 (uid 503):

Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

/dev/sda6    121M* 100000    147M  13days       9       0       0

Disk quotas for user myquota2 (uid 504):

Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

/dev/sda6    121M* 100000    147M  13days       9       0       0

[root@localhost /]#repquota:针对文件系统的限额做报表#repquota –a [-vugs]

选项与参数:

-a:直接查找/etc/mtab文件中有quota配置的文件系统,并报告结果;

-v:输出更详细的filesystem的相关信息;

-u:显示用户的quota限值(这是默认值);

-g:显示出个别群组的quota限值;-s:以M,G为单位显示结果;测试与管理:测试myquota1用户的限制值设定效果

在myquota1用户下,使用dd命令创建大文件,测试quota配置效果。warnquota:对超过限额者发出警告信

warnquota通过/etc/warnquota.conf配置文件,找出磁盘用量超出soft值的用户,通过emai发送警告信息到用户的邮箱。warnquota默认需要手动执行。如果需要自动执行,可以在/etc/cron.daily目录下创建warnquota文件,添加内容:/usr/sbin/warnquota,并且修改权限:chmod 755 /etc/cron.daily/warnquotasetquota:直接通过命令修改限额(不用vi模式),适用于写入脚本中

用法:setquota [-u|-g] 名称block(soft) block(hard) inode(soft) inode(hard) 文件系统

比如:要设置myquota5用户的限额,命令:setquota -u myquota5 100000 150000 0 0 /home

linux内核 quota,Linux磁盘配额(Quota)--鸟哥私房菜笔记相关推荐

  1. 鸟哥私房菜与linux就该怎么学这两本书的区别

    尾部介绍二者区别 centos7切换桌面或命令行模式 安装gnome后自动进入桌面模式 如果需要打开命令行,可以直接打开终端或者直接按 ctrl+alt+F1切换至命令行,然后按ctrl+alt+F2 ...

  2. 鸟哥私房菜 第二部分学安文件目录与磁盘格式笔记

    鸟哥私房菜 第二部分学安文件目录与磁盘格式笔记 文章目录 鸟哥私房菜 第二部分学安文件目录与磁盘格式笔记 linux的文件权限与目录配置 用户与用户组 linux文件权限概念 linux目录配置 li ...

  3. 鸟哥私房菜(基础篇第三版)笔记

    鸟哥私房菜(基础篇第三版)笔记 Linux最传统的磁盘文件系统(filesystem)使用的是EXT2,centos5支持EXT3,6已经支持EXT4了. 文件系统包括以下三部分: 1:superbl ...

  4. 鸟哥私房菜-基础篇小笔记

    最近看了一下鸟哥私房菜基础篇第四版,收获多多,下边是自己的一些简单笔记,方便后期使用时快速回忆,其中图片大多来自鸟哥私房菜文档截图,如有权限版权问题,立马删除! cat 查看文件 tac 倒序查看文件 ...

  5. 鸟哥私房菜 (基础篇)---重点回顾---汇总

    鸟哥私房菜 (基础篇)-重点回顾-汇总 链接: https://pan.baidu.com/s/1LRGvYqUc5Z1tPjdzGUo_bg 提取码: rxkp 祝大家学的越来越好,加油!

  6. 鸟哥私房菜*基础篇(1)

    linux的内核版本 主.次版本为奇数:开发中版本(如2.5.xx) 主.次版本为偶数:稳定的版本(如2.6.xx) 什么是linux Linux kernel(内核) Linux distribut ...

  7. Linux 磁盘与文件系统管理(鸟哥私房菜)

    本文来自:http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem.php   第八章.Linux 磁盘与文件系统管理 系统管理员很重要的任务之一就 ...

  8. Linux教程系列 pdf下载(鸟哥私房菜等)

    鸟哥的Linux私房菜-基础篇.第四版.pdf 下载 LINUX内核设计与实现.pdf 下载 Linux_操作系统-基础操作-教学.doc 下载 linux内核深入剖析基于0.11.pdf 下载 Li ...

  9. 鸟哥私房菜学习(二)Linux是什么与如何学习

    Linux是什么与如何学习 一.Linux是什么 二.Linux的背景和历史 三.托瓦兹与LInux的发展 Linux虚拟团队的产生和发展 Linux的内核版本 Linux发行版本 四.Linux当前 ...

最新文章

  1. golang 判断 数组 切片 是否为空
  2. 微信小程序报Cannot read property 'setData' of undefined的错误
  3. OpenCV: OpenCV人脸检测框可信度排序
  4. CSS3景深-perspective
  5. 大数据统计学直观图表(二)
  6. 光线求交加速算法:边界体积层次结构(Bounding Volume Hierarchies)2-表面积启发式法(The Surface Area Heuristic)
  7. 计算机设备管理程序在哪,怎么打开设备管理器
  8. 【转】python 批量修改密码(paramiko)
  9. 最小生成树详细讲解(Prime算法+Kruskalsuanfa)
  10. 电脑的声卡驱动无法识别,扬声器麦克风无法使用
  11. paypal如何支付欧元_Paypal怎么付欧元
  12. 小和尚打水问题_操作系统进程同步问题解析(哲学家问题、生产消费问题、小和尚打水问题等大量例子)...
  13. 荐书 | 心理学如何编程,看看这9本书
  14. 用c语言输入年份 月份 显示天数,java输入月份,年份,显示对应月份的天数,...
  15. 几何公差基础知识之圆柱度
  16. vue使用provide / inject 组合刷新页面+单独组件刷新
  17. 为什么很多公司都在招测试开发?
  18. js html页面原生js横向打印
  19. Python GPU加速
  20. IC设计中时钟偏斜对延时的影响

热门文章

  1. 现我们数据库中已有的一张新闻表news,结构如下:根据表结构我们创建一个News对象:将下面代码补充完整,完成数据库连接、删除、更新以及查找方法。其中删除方法是通过用户传入新闻id来进行删除。
  2. 计算机组成原理(第五章CPU+流水线)
  3. 我国计算机科学的发展源头要追溯到几年前,科学网—计算机新技术革命要求必须从源头做起 - 姜咏江的博文...
  4. 正点原子阿尔法imx6ull的wm8960声卡驱动表层简析
  5. Linux ftp账号设置
  6. 自然语言处理(四): Part of Speech Tagging
  7. /目录 、/home目录 、~目录的区别
  8. python流程图的基本元素有哪些_数据流程图的四种基本元素是什么?
  9. [CQOI2009]跳舞
  10. 如何用PS把夏天变成冬天