实现Linux的磁盘配额的详解_第1页
实现Linux的磁盘配额的详解_第2页
实现Linux的磁盘配额的详解_第3页
实现Linux的磁盘配额的详解_第4页
实现Linux的磁盘配额的详解_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网管实战 : Linux 服务器磁盘配额详解 【IT168专稿】如果任何人都可以随意占用服务器的硬盘空间,您的服务器 硬盘能支撑多久?所以,限制和管理用户使用的硬盘空间是非常重要的,无论 是文件服务、FTP服务还是E- mail服务,都要求对用户使用的磁盘容量进行有 限地控制,以避免对资源的滥用。Linux的磁盘配额(Disk Quotas)能够简单高 效地实现这个功能,相比其它配额软件它具有 “基于内核 ”的优势。 一、磁盘配额的功能 所谓磁盘配额就是管理员可以对本域中的每个用户所能使用的磁盘空间进 行配额限制,即每个用户只能使用最大配额范围内的磁盘空间。磁盘配额监视 个人用户卷的使用情况,

2、因此,每个用户对磁盘空间的利用都不会影响同一卷 上其它用户的磁盘配额。磁盘配额具有如下特性: 磁盘配额可以对每个用户的磁盘使用情况进行跟踪和控制。这种跟踪是利 用文件或文件夹的所有权来实现的。当一个用户在 Linux ext 分区上拷贝或存储 一个新的文件时,他就拥有对这个文件的所有权,这时磁盘配额程序就将此文 件的大小计入这个用户的磁盘配额空间。 当设置了磁盘配额后,分区的报告中所说的剩余空间,其实指的是当前这 个用户的磁盘配额范围内的剩余空间。磁盘配额程序对每个分区的磁盘使用情 况是独立跟踪和控制的,而不论它们是否位于同一个物理磁盘。 操作系统可以对磁盘配额进行监测,它可以扫描磁盘分区,监

3、测每个用户 对磁盘空间的使用情况,并用不同的颜色标识出磁盘使用空间超过报警值和配 额限制的用户,这样就方便了对于磁盘配额的管理。 登录到相同计算机的多个用户互不干涉其它用户的工作能力;一个或多个 用户不独占公用服务器上的磁盘空间;在个人计算机的共享文件夹中,用户不 使用过多的磁盘空间。 综上所述,可以看出磁盘配额提供了一种基于用户和分区的文件存储管 理,使得管理员可以方便的利用这个工具合理的分配存储资源,避免由于磁盘 空间使用的失控可能造成的系统崩溃,从而提高了系统的安全性。 实现磁盘配额的步骤图解 要实现磁盘配额,请使用以下步骤: 1.检查 Linux 内核是否打开磁盘配额支持。 2修改/

4、etc/ fstab,对所选文件系统激活配额选项。 3.更新装载文件系统,使改变生效。 4 .在该文件系统引导时建立 aquota.user 文件。 5. 扫描相应文件系统,用 quotacheck 命令生成基本配额文件。 6. 用 edquota 命令,对特定用户采用配额限制。 7. 最后,用命令激活配额。 操作步骤如图 1。 图 1 实现磁盘配额的步骤 实现 Linux 的磁盘配额的详解 1.检查内核情况 检查当前内核是否支持quota,当前内核配置文件在/boot下 # grep CONFIG_QUOTA /boot/config- 2.4.20 CONFIG_QUOTA=y CONFI

5、G_QUOTACTL=y 如果有上列输出,则表示当前内核已经支持quota。如果当前内核不支持 quota,需要重新编译内核将quota support编译进核心: File systems - * Quota support 如图 2。 图 2 配置当前内核支持 quota 2修改/ etc/ fstab,对所选文件系统激活配额选项 以根用户身份使用 vi 编辑器来给需要配额的文件系统添加 usrquota 和 (或) grpquota 选项: : LABEL=/ / ext3defaults1 1LABEL=/boot /boot ext3defaults1 2LABEL=/home /h

6、ome ext3defaults,usrquota 1 2none /dev/shm tmpfs defaults 0 0/dev/hda2swap swapdefaults 0 0 在上面的例子中, /home 文件系统上启用了用户配额。 3.重新挂载文件系统 添加了 userquota 和 grpquota 选项后,重新挂载每个相应 fstab 条目被 修改的文件系统。如果某文件系统没有被任何进程使用,使用 umount 命令后 再紧跟着 mount 命令来重新挂载这个文件系统。如果某文件系统正在被使用, 要重新挂载该文件系统的最简捷方法是重新引导系统或者使用命令: “ #moun-tor

7、emount /home 。” 4在该文件系统建立 aquota.user文件 # touch /home/aquota.user # chmod 600 /aquota.user 5. 扫描相应文件系统,用 quotacheck 命令生成基本配额文件 运行 quotacheck 命令, quotacheck 命令检查启用了配额的文件系统,并 为每个文件系统建立一个当前磁盘用来的表。该表会被用来更新操作系统的磁 盘用量文件。此外,文件系统的磁盘配额文件也被更新。要在文件系统上创建 配额文件( aquota.user 和 aquota.group ),使用 quotacheck 命令的 -c 选

8、 项。例如,如果用户和组群配额都为 /home 分区启用了,在 /home 目录下创建 这些文件: quotacheck -acug /home -a选项意味着在/etc/mtab中所有挂载了的非 NFS文件系统都会被检查来 决定是否启用了配额。-c选项指定每个启用了配额的文件系统都应该创建配额 文件,-u选项指定检查用户配额,-g选项指定检查组群配额。 如果-u或-g选项被指定,只有用户配额文件被创建。如果只指定了-g选 项,只有组群配额文件会被创建。 文件被创建后,运行以下命令来生成每个启用了配额的文件系统的当前磁 盘用量表: quotacheck -avug 所用选项如下: a 检查所有

9、启用了配额的在本地挂载的文件系统 v 在检查配额过程中显示详细的状态信息 u 检查用户磁盘配额信息 g 检查组群磁盘配额信息 quotacheck 运行完毕后,和启用配额(用户和 /或组群)相应的配额文 件中就会写入用于每个启用了配额的文件系统(如/home )的数据。 要定期运行它的最简单方法是使用cron。以根用户身份,你既可以使用 cron tab -e命令来调度定期的 quotacheck,也可以在以下目录之一内放置一个运 行 quotacheck 的脚本(使用最时候你需要的间隔期间): ?/etc/cron.hourly ?/etc/cron.daily ?/etc/cron.wee

10、kly ?/etc/cron.monthly 最精确的配额统计数据可以在所分析的文件系统没有被活跃使用时获得。 因此, cron 任务应该在文件系统被最少使用时调度。如果这一时间在使用配额 的文件系统中并不统一,则使用多个 cron 任务在不同的时间为每个文件系统 运行 quotacheck。 6. 使用 edquota 命令分配磁盘配额。 要为用户配置配额,以根用户身份在 shell 提示下执行以下命令: edquota u username 为每个你想实现配额的用户执行该步骤。例如,如果在 /etc/fstab 中为 /home 分区( /dev/hda3 )启用了配额,执行了 edquo

11、ta testuser 命令后,系统 默认的编辑器 中就会有如图 3 显示: 图3 文件内有七个栏目: Filesystem =进行配额管制的文件系统。 blocks =已经使用的区块数量(单位 1KB) soft = block 使用数量的 软性 限制 hard = block 使用数量的 硬性 限制 inode =已经使用的 inode 数量 soft = inode 使用数量的 软性 限制 hard = inode 使用数量的 硬性 限制 edquota - 和 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统 配额: Grace period before enf

12、orcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/hdb1 10days 10days 另外以上两个操作可以使用 以上设置也可以使用 setquota 命令设置 : setquota -u someone 0 0 3 5 /dev/loop0 setquota -t 864000 864000 /dev/loop0 ps. 864000为10天的秒数 .一小时=3600秒,一

13、天=86400秒 7. 磁盘配额完毕后,必须以 quotaon -av 的命令启用配额管理。 管理磁盘配额 如果配额被实现,它们就需要被维护 主要维护方式是观察。查看配额是 否被超出并确保配额的正确性。当然,如果用户屡次超出他们的配额或者持续 地达到他们的软限,系统管理员就可以根据用户类型和磁盘空间对他们工作的 影响来做出几种决策。管理员可以帮助用户来检索对磁盘空间的使用,也可以 按需要增加用户的配额。 1. 报告磁盘配额 创建磁盘用量报告需要运行 repquota 工具。例如, repquota /home 命令 会生成以下输出: * Report for user quotas on de

14、vice /dev/hda3 Block grace time: 7days; Inode grace time: 7days User File limits used soft hard grace Block limits used soft hard grace root - 36 0 540 0 0 4 0 0tfox 125 0 0testuser - 4400 5000 5500 37418 0 0 要查看所有启用了配额的文件系统的磁盘用量,使用以下命令: repquota -a 这份报告虽然看起来很简单,有几点仍需要做一下说明。显示在每个用户 后面的 -是一种判断用户是否超出其

15、块限度或内节点限度的快速方法。如果任何 一个软限被超出,相应的 -行就会被-代替;第一个 -代表块限度,第二个代表内 节点限度。 grace 列通常是空白。如果某个软限被超出,这一列就会包含过渡 期中的剩余时间。如果过渡期已超过了,其中就会显示 none。 2. 磁盘配额的启用和禁用 你可以不必把配额设置为 0 来禁用它们。要关闭用户和组群配额,使用以 下命令: quotaoff -vaug 如果-u或-g选项没有被指定,只有用户配额被禁用。如果只指定了-g选 项,只有组群配额会被禁用 要重新启用配额,使用带有同样选项的 quotaon 命令。例如,要为所有文 件系统启用用户和组群配额: qu

16、otaon -vaug 要为指定文件系统(如 /home )启用配额: quotaon -vug /home 如果-u或-g选项没有指定,那么仅用户配额会被启用。如果只指定了-g选 项,仅组群配额会被启用。 3. 为组群分配配额 配额还可以根据组群来分配。例如,要为 devel 组群设置组群配额,使用 以下命令(在设置组群配额前,该组群必须存在): edquota -g devel 以上命令在文本编辑器中显示现存的组群配额: Disk quotas for group devel (gid 505): Filesystem blocks soft hard inodes soft hard /

17、dev/hda3 4400 0 0 37418 0 0 修改限度,保存文件,然后配置配额。 要校验组群配额是否被设置,使用以下命令: quota -g devel 总结: 磁盘配额除了监视系统上使用的磁盘空间,你还可以通过实现磁盘配额来 限制磁盘空间,因此当用户使用了过多的磁盘空间或分区将要充满时,系统管 理员就会接到警告。磁盘配额可以为个体用户配置也可以为用户组配置。这种 灵活性既能够给每个用户分配一个较小的配额来处理 “个人 ”文件(如电子邮件 和报告),又允许了他们正从事的项目能够拥有较大的配额(假定项目有自己 的组群)。 除此以外,配额不仅能够被设置成对所用磁盘块数量的控制,还能够被设 置成对内节点数量的控制。由于内节点包含文件相关的信息,对内节点的控制 能够控制可被创建的文件数量。 另外我们还可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论