Linux常用命令(九)磁盘配额管理

一、磁盘配额概述

1、磁盘配额的作用范围

quota软件设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其它未设置配额的文件系统时,将不会受到限制。

2、磁盘配额的限制对象

quota主要针对系统中的指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。

3、磁盘配额的限制类型

■磁盘容量:限制用户能够使用的磁盘数据块(Block)大小,也就是限制磁盘空间大小,默认单位                            为KB。

■文件数量:限制用户能够拥有的文件个数。在Linux系统中,每一个文件都有一个对应的数字标记,称                      为i节点(Inode)编号,这个编号在同一个文件系统内是唯一的,因此quota通过限制i节                        点的数量来实现对文件数量的限制。

4、磁盘配额的限制方法

■软限制:指定一个软性的配额数值,在固定的宽限期(默认为七天)内允许暂时超过这个限制,但系                    统会给出警告信息。

■硬限制:指定一个硬性的配额数值,是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出                  警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效。

二、磁盘配额

1、以支持配额功能的方式挂载文件系统

除了内核和quota软件的支持以外,实施磁盘配额功能还有一个前提条件,即指定的分区必须已经挂载且支持磁盘配额功能。

在配置调试过程中,可是使用带“-o userquota,grpquota”选项的mount命令重新挂载指定的分区,以便增加对用户、组配额功能的支持。对于支持配额功能的文件系统,将在mount信息中显示“userquota,grpquota”。

例如,执行以下操作可以对/dev/sdb1分区重新进行挂载(remount:重新挂载。省去卸载再挂载的步骤,如果是之前没有挂载过的分区,则不用使用此参数),并添加配额支持。(/abc目录是随便创建的目录。)

[root@twgdh ~]# mount -o remount,usrquota,grpquota/dev/sdb1 /abc

为了后续测试方便可以执行命令对/abc设置可以写入的权限。

[root@twgdh ~]# chmod 777 /abc

若需要在每次开机后自动以支持配额功能的方式挂载该分区,可以将“usrquota,grpquota”挂载参数写入到“/etc/fstab”文件中。

2、检测磁盘配额并生成配额文件

使用quotacheck命令可以对指定文件系统进行磁盘配额检测,也可以用来建立配额文件,以便保存用户、组在该分区中的配额设置。这里需要注意的是,如果Linux系统中的Selinux打开的话会提示权限不够。所以需要暂时关闭Selinux。临时关闭Selinux的命令为:

[root@twgdh ~]# setenforce 0

若要自动扫描可用的文件系统,可以不指定检测对象。例如,执行以下操作将会扫描系统中的所有文件系统,并在支持配额的文件系统中建立配额文件。这里需要给文件夹写入的权限才能写出配额文件。看到如下提示信息表示成功。

在上例中各选项的意思如下:

■�Ca:扫描所有分区。(不使用-a选项时必须指定一个分区(设备文件或挂载点目录)作为命令参数)

■�Cu:检测用户配额信息。

■�Cg:检测组配额信息。

■�Cc:创建新的配额文件。

■�Cv:显示命令执行过程中的细节信息。

由于/mailbox文件系统中并未使用较早版本的配额文件,因此出现“Oldfile not found”之类的提示信息是正常的。新建的配额文件包括“aquota.user”、“aquota.group”,分别用于保存用户、组的配额设置。配额文件保存在该文件系统的根目录下,默认权限为600。

3、编辑用户和组账号的配额设置

这里新建一个测试用户,咋们的老朋友“zhangsan”,并设置密码,用来对用户设置磁盘配额。

配额设置是实现磁盘配额功能中最重要的环节,使用edquota命令结合“-u”、“-g”选项可用于编辑用户或组的配额设置。正确执行edquota命令后,将进入到文本编辑界面(默认调用vi作为编辑程序),可以设置磁盘容量,以及文件大小的软、硬限制数值。

例如,执行以下操作可以对用户zhangsan的配额进行编辑。

[root@twgdh ~]# edquota -u zhangsan

在edquota的编辑界面中,第1行提示了当前配额文件所对应的用户或组账号,第二行是配置标题栏,分别对应以下每行配置记录。配置记录中从左到右分为七个字段,各字段含义如下所述。

1 Filesystem:表示本行配置记录对应的文件系统(分区),即配额的作用范围。

2 blocks:表示用户当前已经使用的磁盘容量,默认单位为KB,该数值由edquota程序自动计算,无需                     修改。

3soft:磁盘容量的软限制数值,默认单位为KB。

4hard:磁盘容量的硬限制数值,默认单位为KB。

5inodes:表示用户当前已经拥有的文件数量(即占用i节点的个数),该数值也是由edquota程序自动                    计算的。

6soft:文件数量的软限制数值,默认单位为“个”。

7hard:文件数量的硬限制数值,默认单位为“个”。

进行配额限制时,只需要修改相应的soft、hard列下的数值,其他的数值或文字不要修改(也无需修改)。例如,若要为用户zhangsan设置配额:磁盘容量软限制为80MB、硬限制100MB,文件数量软限制为5个,硬限制为8个,可以执行以下操作。

[root@twgdh ~]# edquota -u zhangsan

一般来说,对磁盘容量进行限额的情况比较常见,而限制文件数量的情况较少。所设置的限额数值不应该小于该用户已经使用的数量,否则可能导致该用户无法正常登录系统。另外,建议不要对root用户设置磁盘配额,以免对程序及系统的运行和稳定性带来不可预知的风险。

以上对用户账户设置磁盘配额的方法同样适用于对组账号设置配额,只不过在进入编辑环境时要使用“-g”选项指定组账号对象。例如,执行“edquota�Cg users”命令可以编辑users组的配额设置。

[root@twgdh ~]# edquota -g users

组配额为组内所有人共同享用。如果zhangsan和lisi两个用户都在users中,为users一共设置了80MB的空间,zhangsan占了50MB那么lisi只能使用剩下的30MB的空间。

用户在使用文件系统的过程中,超过软限制后默认宽限期为七天,在宽限期内仍然允许用户继续使用(只要不超过硬限制)。若需要修改款限期,可以执行“edquota -t”命令进行调整。宽限期的时间单位可以是天、小时、分或秒。例如,可以将限额的宽限期改为三天。

[root@twgdh ~]# edquota -t

4、启动文件系统的磁盘配额功能

启动和关闭文件系统的磁盘配额功能分别使用“quotaon”、“quotaoff”命令进行,需要指定设备文件名或文件系统的挂载点目录作为命令参数。例如,执行以下操作可以启用“/abc”文件系统的用户、组磁盘配额功能,并显示命令执行的过程信息。

实际上,RHEL6系统每次开机后会自动检查是否有支持磁盘配额的文件系统,如果找到,则启用该文件系统的磁盘配额功能。因此,下次开机后无需再手动执行quotaon命令。

5、验证磁盘配额功能

对张三设置了磁盘配额就使用张三登录系统进行验证。

[root@twgdh ~]# su zhangsan

[zhangsan@twgdh root]$

使用dd转换工具。dd命令是一个设备转换和复制命令,分别使用“if=”选项指定输入设备(或文件)、“of=”选项指定输出设备(或文件)、“bs=”选项指定读取数据块的大小、“count=”指定读取数据块的数量。例如,一下操作可以向/abc目录下写入一个名为666的测试文件,大小为90MB(分9次读取,每次读取10MB),复制来源为设备文件“/dev/zero”。

[zhangsan@twgdh root]$ dd if=/abc/666 of=/dev/zerobs=10M count=9

这时可以看到第二行,提示“sdb1:warning,user block quota exceeded”其含义为“sdb1:警告,用户块配额超过”这里是提示磁盘容量已经超过软配额的限制。

使用ls �Clh查看/abc目录,发现虽然超过软配额的限制,但是存储任然成功了,文件大小为90MB

重新执行dd命令,修改一下参数,把count=9改为count=11再执行一下。

再使用ls �Clh命令查看一下/abc目录。

这里发现,虽然命令成功了,但是只创建了一个98MB的文件。这是由于硬限制给zhangsan为100MB的磁盘容量,所以只能创建98MB的文件。这里由于计算方法的不同,实际使用的空间会略小一点,这里的偏差大概少2MB的空间。

接下来测试文件数量的限额,向abc中创建新的空文件。

这里执行了touch向/abc/下分别创建了五个空文件,带原来的666一共是六个文件,超过了5个文件的软限额,出现了警告消息,但还是创建成功了。接下来继续创建空文件,使其超过硬限额8个,查看会怎么样。

这里看到文件8没有创建成功,超过8个之后的文件将无法创建成功。

验证完毕。

Linux使用命令启用配额管理,Linux常用命令(九)磁盘配额管理相关推荐

  1. Linux磁盘管理之常用命令

    Linux磁盘分区工具 硬盘可以分成若干个分区,每个分区可视为独立的磁盘来使用.硬盘的分区方案被记录到"磁盘分区表"中,通常该表由4个部分组成,每个部分定义一个分区的信 息,因此原 ...

  2. linux查看nbu数据库命令,NBU基本常用命令

    Veritas常用命令: 1. 查看当有运行的任务 bpdbjobs –report | grep Active 2. 停止任务 bpdbjobs –cancel PID (包括主任务和子任务) 3. ...

  3. (六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 常用命令总结

    因为在网上发现系统性.严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Ng ...

  4. centos查看盘符_Centos下磁盘管理的常用命令记录(如查找大文件)

    Centos下磁盘管理的常用命令记录 查看系统磁盘空间占用,使用命令: df -h 结果: 查看磁盘inode使用情况,如果inode用完了,磁盘就没法写入新的内容了: df -i 结果: 如何查找磁 ...

  5. Linux下:文件与路径、用户管理、常用命令、vim

    文章目录 第一章: Linux文件与路径 1.1 文件结构 1.2 基本概念 1.3 基本命令信息 1.3.1 查看linux 系统信息(修改主机名) 1.3.2 ls 1.3.3 cd/pwd 1. ...

  6. Linux下KVM虚拟机基本管理及常用命令(转)

    说明:可能有重复 一.KVM的基本管理 1.查看KVM虚拟机配置文件 #Kvm虚拟机默认配置文件位置 [root@kvm qemu]# pwd /etc/libvirt/qemu [root@kvm ...

  7. Linux系统(简介、文件管理、常用命令、账号管理、c开发工具)

    文章目录 1. Linux系统 2.文件管理与常用命令 2.1 文件和目录的层次结构 2.2 文件和目录命名 2.3 shell文件名通配符 2.4 文件管理 2.4.1 Linux常用文件类型 2. ...

  8. linux 管理部门打印,Linux打印机相关的命令-打印管理_Linux常用命令大全

    reject命令_Linux reject命令使用详解:指示打印系统拒绝发往指定目标打印机的打印任务 reject命令属于CUPS套件,用于指示打印系统拒绝发往指定目标打印机的打印任务.语法:reje ...

  9. Linux平台下UNIX SHELL运行任务常用命令

    Linux平台运行常用命令 1. 平台账户操作命令 修改用户密码 语法:passwd Old password: <输入旧密码> .... 联机帮助 语法:man 远程登录 语法:rlog ...

  10. linux下mkdir头文件_Linux部分常用命令学习记录

    Linux部分常用命令 ls 显示目标列表 ls -a 显示所有档案及目录(ls内定将档案名或目录名称为"."的视为影藏,不会列出): ls -l 以长格式显示目录下的内容列表.输 ...

最新文章

  1. Express 搭建web服务器
  2. 开发日记-20190517 关键词 函数式编程(一)
  3. 什么时候需要好教材和好教材是怎样的
  4. Python语法入门
  5. 使用git时提示Could not create directory #39;%USERPROFILE%/.ssh#39;.percent_expand:unkown key %U...
  6. 【图像算法】七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)...
  7. 解读Depth Map Prediction from a Single Image using a Multi-Scale Deep Network (2)
  8. 入门必学 | R语言常见的报错指南
  9. 机器学习的入门“秘籍”
  10. UVALive3713 Astronauts
  11. 计算机无法为u盘保存所有数据,U盘不能写入数据怎么办
  12. CSS命名规范 BEM 颜色 【全局】
  13. 2023年3月份隐私计算市场洞察
  14. Android知识架构 · Java的编程思想
  15. Illustrator国画效果
  16. Imatest图像处理软件 Imatest Master
  17. 非常精美的唐诗,无与伦比哦遥知兄弟登高处,遍插茱萸少一人。秦时明月汉时关,万里长征人未还。但使龙城飞将在,不教胡马度阴山。春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。君自故乡来,应知故乡事。来日绮
  18. GPS导航电文文件和观测值文件解读
  19. ERROR: cannot launch node of type [map_server/map_server]: map_server等
  20. 计算机与现代化在线投稿,计算机与现代化投稿要求

热门文章

  1. IT | Bootmgr is missing 解决方法
  2. matlab 去除协变量,什么是协变量?
  3. 【C#】 Convert.ToInt16 、Convert.ToInt32、Convert.ToInt64 区别
  4. MATLAB绘制ROC曲线并计算AUC值
  5. OpenGL特点 翻译自openGL.org 的文档
  6. [linux] sed /d删除匹配行
  7. Android xUtils3
  8. Xmanager、xstart链接linux服务器按键输入两次问题
  9. 从雨水切换到家辉,我的昵称切换
  10. Java在歌唱比赛中,共有10位评委进行打分,在计算歌手得分时,去掉一个最高分,去掉一个最低分, 然后剩余的8位评委的分数进行平均,就是该选手的最终得分.输入每个评委的评分,求某选手的得分