当前位置:Linux教程 - Linux资讯 - RedHat Linux 9实现磁盘配额

RedHat Linux 9实现磁盘配额

除了监视系统上使用的磁盘空间,你还可以通过实现磁盘配额来限制磁盘空间,因此当用户使用了过多的磁盘空间或分区将要充满时,系统管理员就会接到警告。

磁盘配额可以为个体用户配置也可以为用户组配置。这种灵活性既能够给每个用户分配一个较小的配额来处理“个人”文件(如电子邮件和报告),又允许了他们正从事的项目能够拥有较大的配额(假定项目有自己的组群)。

除此以外,配额不仅能够被设置成对所用磁盘块数量的控制,还能够被设置成对内节点数量的控制。由于内节点包含文件相关的信息,对内节点的控制能够控制可被创建的文件数量。

要实现磁盘配额, quota RPM 必须在系统上被安装。 关于安装 RPM 软件包的详情,请参阅 第 V 部分 。

6.1. 配置磁盘配额

要实现磁盘配额,请使用以下步骤:

修改 /etc/fstab 来启用每个文件系统的配额

重新挂载文件系统

创建配额文件,重新生成磁盘用量表

分配配额

以上步骤在下面各节中被详细讨论。

6.1.1. 启用配额

以根用户身份使用你喜欢的编辑器来给需要配额的文件系统添加 usrquota 和(或) grpquota 选项:

LABEL=/ / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda2 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 00

在上面的例子中, /home 文件系统上启用了用户和组群配额。

6.1.2. 重新挂载文件系统

添加了 userquota 和 grpquota 选项后,重新挂载每个相应 fstab 条目被修改的文件系统。如果某文件系统没有被任何进程使用,使用 umount 命令后再紧跟着 mount 命令来重新挂载这个文件系统。如果某文件系统正在被使用,要重新挂载该文件系统的最简捷方法是重新引导系统。

6.1.3. 创建配额文件

重新挂载了每个启用了配额的文件系统后,系统现在就能够使用磁盘配额了。不过,文件系统本身尚且不能支持配额。下一步是运行 quotacheck 命令。

quotacheck 命令检查启用了配额的文件系统,并为每个文件系统建立一个当前磁盘用来的表。该表会被用来更新操作系统的磁盘用量文件。此外,文件系统的磁盘配额文件也被更新。

要在文件系统上创建配额文件( aquota.user 和 aquota.group ),使用 quotacheck 命令的 -c 选项。例如,如果用户和组群配额都为 /home 分区启用了,在 /home 目录下创建这些文件:

quotacheck -acug /home

-a 选项意味着在 /etc/mtab 中所有挂载了的非 NFS 文件系统都会被检查来决定是否启用了配额。 -c 选项指定每个启用了配额的文件系统都应该创建配额文件, -u 选项指定检查用户配额, -g 选项指定检查组群配额。

如果 -u 或 -g 选项被指定,只有用户配额文件被创建。如果只指定了 -g 选项,只有组群配额文件会被创建。

文件被创建后,运行以下命令来生成每个启用了配额的文件系统的当前磁盘用量表:

quotacheck -avug

所用选项如下:

a — 检查所有启用了配额的在本地挂载的文件系统

v — 在检查配额过程中显示详细的状态信息

u — 检查用户磁盘配额信息

g — 检查组群磁盘配额信息

quotacheck 运行完毕后,和启用配额(用户和/或组群)相应的配额文件中就会写入用于每个启用了配额的文件系统(如 /home )的数据。

6.1.4. 为每用户分配配额

最后一步是使用 edquota 命令分配磁盘配额。

要为用户配置配额,以根用户身份在 shell 提示下执行以下命令:

edquota username

为每个你想实现配额的用户执行该步骤。例如,如果在 /etc/fstab 中为 /home 分区( /dev/hda3 )启用了配额,执行了 edquota testuser 命令后,系统默认的编辑器中就会有如下显示:

Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/hda3 440436 0 0 37418 0 0

注记:edquota 使用 ED99vOR 环境变量所定义的文本编辑器。要改变这个编辑器,把 ED99vOR 环境变量设置为到你选中的编辑器的完整路径。


[1] [2] 下一页 

第一列是启用了配额的文件系统的名称。第二列显示了用户当前使用的块数。随后的两列用来设置用户在该文件系统上的软硬块限度。 inodes 列显示了用户当前使用的内节点数量。最后两列用来设置用户在该文件系统上的软硬内节点限度。

硬限是用户或组群可以使用的磁盘空间的绝对最大值。达到了该限度后,磁盘空间就不能再被用户或组群使用了。

软限定义可被使用的最大磁盘空间量。和硬限不同的是,软限可以在一段时期内被超过。这段时期被称为 过渡期(grace period) 。过渡期可以用秒钟、分钟、小时、天数、周数、或月数表示。

如果以上值中的任何一个被设置为 0,那个限度就不会被设置。在文本编辑器中,改变想要的限度。如:,

Disk quotas for user testuser (uid 501): Filesystem blocks soft hard inodes soft hard /dev/hda3 440436 500000 550000 37418 0 0

要校验用户的配额是否被设置,使用以下命令:

quota testuser 6.1.5. 为每组群分配配额

配额还可以根据组群来分配。例如,要为 devel 组群设置组群配额,使用以下命令(在设置组群配额前,该组群必须存在):

edquota -g devel

以上命令在文本编辑器中显示现存的组群配额:

Disk quotas for group devel (gid 505): Filesystem blocks soft hard inodes soft hard /dev/hda3 440400 0 0 37418 0 0

修改限度,保存文件,然后配置配额。

要校验组群配额是否被设置,使用以下命令:

quota -g devel 6.1.6. 为每文件系统分配配额

要根据每个启用了组群的文件系统来分配配额,使用以下命令:

edquota -t

和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额:

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/hda3 7days 7days

改变块过渡期或内节点过渡期,保存对文件的改变,然后退出文本编辑器。

6.2. 管理磁盘

(出处:http://www.sheup.com)


上一页 [1] [2] 

和另一个 edquota 命令相似,这个命令也会在文本编辑器中打开当前的文件系统配额:

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/hda3 7days 7days

改变块过渡期或内节点过渡期,保存对文件的改变,然后退出文本编辑器。

6.2. 管理磁盘

(出处:http://www.sheup.com)


上一页 [1] [2] [3] 

改变块过渡期或内节点过渡期,保存对文件的改变,然后退出文本编辑器。

6.2. 管理磁盘

(出处:http://www.sheup.com/)


上一页 [1] [2] [3] [4]