跳过导航链接 | |
退出打印视图 | |
![]() |
Sun QFS 文件系统 5.3 配置和管理指南 Sun QFS and Sun Storage Archive Manager 5.3 Information Library (简体中文) |
文件系统配额控制特定用户、用户组或管理集(即站点决定的用户组)所能使用的联机磁盘空间量和总磁盘空间量。
配额通过限定每个用户可以使用的磁盘空间量和 inode 数量,来帮助控制文件系统的大小。在包含用户主目录的文件系统上,配额尤其有用。启用配额后,您可以监视其使用情况,并根据需要调整配额。
文件系统为用户提供数据块和文件的 inode。每个文件使用一个 inode,并且文件数据存储在磁盘分配单元 (disk allocation unit, DAU) 中。DAU 大小是在创建文件系统时确定的。磁盘使用配额按 512 字节的倍数计算。
您可以根据用户 ID、组 ID 或管理员的特定于站点的分组来设置配额。此特定于站点的分组称为管理集 ID。例如,您可以使用管理集 ID 识别正在从事某一项目的一组用户,该项目启用了文件系统配额。
当 quota 挂载选项有效,并且系统检测到文件系统的根目录中存在一个或多个配额文件时,将启用配额。默认启用 quota 挂载选项。如果挂载文件系统时使用 noquota,则禁用配额。有关挂载选项的更多信息,请参见 mount_samfs(1M) 手册页。
每个配额文件都包含一系列的记录。记录零是系统管理员的配额和资源使用记录。系统管理员配额从不强制执行,但是您可以使用任何记录(包括系统管理员记录)作为配额文件中后续记录的模板。有关此做法的更多信息,请参见如何使用现有配额文件启用或更改对用户、组或管理集的限制。
记录一是配额文件中用户一、组一或管理集 ID 一的记录,具体视配额文件类型而定。您可以按顺序编辑记录一和所有后续记录,从而为不同的用户设置不同的配额。下表列出了 /root 中的配额文件名及其启用的配额。
表 6-1 配额文件名
|
通过编辑配额文件中的记录零,并将它们用作所有其他用户的初始配额设置,您可以设置用户的默认配额限制。默认情况下,如果未特别设置用户配额,则系统使用记录零中的值。
每个配额文件需要 128 字节的空间。要计算初始零配额文件的必需大小,请使用以下公式:
(*最高 ID* + 1) x 128 = xx/4096 = 零配额文件大小
您可以设置软限制和硬限制。硬限制指定固定的可供使用的系统资源量,系统决不允许用户超出此限制。软限制指定可以临时超出(最多达到硬限制)的系统资源使用级别。软限制决不能大于硬限制。
如果用户尝试分配的资源超出硬限制,则操作将失败,并生成 EDQUOT 错误。
用户超出软限制后,系统会启动一个计时器,随后用户进入宽限期。在计时器计时期间,用户操作使用的资源可以超出软限制。用户操作使用的资源低于软限制后,计时器将复位。如果宽限期结束,而计时器停止时用户操作使用的资源仍然高于软限制,则系统将软限制作为硬限制强制执行。
例如,假设用户的软限制为 10,000 个块,硬限制为 12,000 个块。如果用户使用的块数超过 10,000 个,并且计时器超过宽限期,则在用户使用的块数低于软限制 10,000 个块以前,此用户无法再分配该文件系统上的其他磁盘块。
作为管理员,您可以使用 samquota 命令设置计时器值。squota 命令是 samquota 命令的用户版。用户可以使用 squota 命令的选项获取与其相关的配额信息。
用户在未使用任何块的情况下,也可能因创建了大量空文件而超出其 inode 配额。另外,用户在只使用一个 inode 的情况下,仍然有可能因创建了一个足以占用其配额中所有数据块的大文件而超出块配额。
文件系统配额以用户可以分配的 512 字节块数量表示。但是,磁盘空间按照 DAU 分配到用户文件。DAU 的设置由 sammkfs 命令的 -a allocation-unit 选项指定。最好将块配额设置为文件系统 DAU 的倍数。否则,用户最多只能按块计数分配,舍入到最接近的 DAU。有关设置块配额的说明,请参见启用默认配额值。