跳过导航链接 | |
退出打印视图 | |
![]() |
Sun QFS 文件系统 5.3 配置和管理指南 Sun QFS and Sun Storage Archive Manager 5.3 Information Library (简体中文) |
启用配额的过程包括编辑系统文件、创建配额文件并输入各种配额命令。
启用配额之前,应确定分配给每个用户的磁盘空间量和 inode 数。如果要确保占用的空间从不超出总文件系统空间,则可以用总文件系统大小除以用户数。例如,如果三个用户共享 100MB 分片并且具有同等的磁盘空间需求,则可以分配给每个用户 33MB 分片。在并非所有用户都有可能达到其限制的环境中,您可能希望分别设置各个配额,以便其总和大于文件系统总大小。例如,如果三个用户共享 100MB 分片,则可以分配给每个用户 40MB 分片。
要显示配额信息,可按以下所示的格式使用以下配额命令:
最终用户可以使用 squota 命令根据用户、组或管理集来检索自己的配额信息。
系统管理员可以使用 samquota 命令来检索配额信息或设置配额。
对用户使用 -U 选项。例如:
# samquota -U janet /mount-point
对组使用 -G 选项。例如:
# samquota -G pubs /mount-point
对管理员使用 -A 选项。例如:
# samquota -A 99 /mount-point
如果您正在创建新文件系统,并且该文件系统中当前没有任何文件,则可以执行此过程。要配置现有文件系统以使用配额,请参见如何配置现有文件系统以使用配额。
在开始此过程之前,请确保未在 samfs.cmd 或 /etc/vfstab 文件中指定 noquota 挂载选项。
按照《Sun QFS 和 Sun Storage Archive Manager 5.3 安装指南》中概述的步骤或使用第 3 章中的示例来创建 mcf 文件、创建挂载点、初始化文件系统等。
例如:
# mount /qfs1
根据要创建的配额类型,此命令的参数有所不同,如下所示:
创建管理集配额:
# dd if=/dev/zero of=/qfs1/.quota_a bs=4096 count=1
创建组配额:
# dd if=/dev/zero of=/qfs1/.quota_g bs=4096 count=1
创建用户配额:
# dd if=/dev/zero of=/qfs1/.quota_u bs=4096 count=1
有关更多信息,请参见 dd(1M) 手册页。
例如:
# umount /qfs1
必须卸载文件系统,以便重新挂载该文件系统并在挂载时读取配额文件。
在以下示例中,-F 选项将重置配额文件中已在使用的值。
# samfsck -F qfs1
当系统检测到 /root 目录中存在一个或多个配额文件时,将启用配额。
注 - 您无需将 quota 挂载选项包括在 /etc/vfstab 或 samfs.cmd 文件中。mount 命令默认启用 quota 挂载选项,并且当系统检测到存在配额文件时,将自动启用配额。
有关 mount 命令的更多信息,请参见 mount_samfs(1M) 手册页。
本章随后将陆续介绍这些过程并给出每个过程的示例。有关 samquota 命令的更多信息,请参见 samquota(1M) 手册页。
如果为已经具有文件的文件系统创建配额,请使用此过程。如果要配置新的文件系统以使用配额,请参见如何配置新文件系统以使用配额。
在开始此过程之前,请确保未在 samfs.cmd 或 /etc/vfstab 文件中指定 noquota 挂载选项。
# mount
请确保文件系统已经列入显示的挂载列表。
例如:
# cd /oldfs1
如果存在以下任何文件,则表明已经为该文件系统启用了配额:.quota_u, .quota_g 或 .quota_a
如果为文件系统创建了任何配额类型,则以后可以创建任何其他配额类型。添加新的配额文件时,请注意不要修改现有的配额文件。
确定要强制执行的配额类型的最高现有 ID 号。使初始零配额文件大小足以容纳这些 ID 的记录(每个配额文件记录需要 128 字节)。
例如,如果要启用管理集配额,而文件系统上使用的最高管理集 ID 是 1024,则计算方法如下:
(1024 + 1) x 128 = 131200
131200/4096 = 32.031...
您要使用以下命令:
# dd if=/dev/zero of=/oldfs1/.quota_a bs=4096 count=33
有关 dd 命令的更多信息,请参见 dd(1M) 手册页。
例如:
# umount /oldfs1
必须卸载文件系统,以便重新挂载该文件系统并在挂载时读取配额文件。有关卸载文件系统的更多信息,请参见《Sun QFS 和 Sun Storage Archive Manager 5.3 安装指南》中的"卸载文件系统"。
此命令以当前使用信息更新配额文件中分配的记录,例如:
# samfsck -F /oldfs1
当系统检测到 /root 目录中存在一个或多个配额文件时,将启用配额。
您无需将 quota 挂载选项包括在 /etc/vfstab 或 samfs.cmd 文件中。mount 命令默认启用 quota 挂载选项,并且当系统检测到存在配额文件时,将自动启用配额。
注 - 如果存在配额文件但挂载文件系统时禁用了配额,则分配或释放块或文件时配额记录将与实际使用情况不一致。如果具有配额的文件系统在挂载和运行时禁用了配额,请运行 samfsck -F 命令更新配额文件使用计数,然后重新挂载文件系统并在挂载时启用配额。
有关 mount 命令的更多信息,请参见 mount_samfs(1M) 手册页。
本章随后将陆续介绍这些过程并给出每个过程的示例。有关 samquota 命令的更多信息,请参见 samquota(1M) 手册页。
使用 samchaid 命令更改目录或文件的管理集 ID,如下所示:
要为文件或目录设置 ID,请指定目录名称或路径。例如:
# samchaid 100 admin.dir
要为目录树设置 ID,请使用 -R 和 -h 选项(如果需要)。-R 选项指定递归操作,-h 选项更改链接,而不是更改目标。例如:
# samchaid -R -h 22 /qfs1/joe /qfs1/nancee
有关更多信息,请参见 samchaid(1M) 手册页。
具有无穷配额的用户可自由访问所有可用的文件系统资源。您可以将无穷配额值设置到用户、组或管理集 ID 配额文件的记录零中。然后可以使用此记录作为新用户、组或管理集 ID 的默认值。
可以使用 samquota 命令将配额限制设置为零。
例如:
# samquota -U fred -b 0:h -f 0:h /qfs1
通过为所有硬限制和软限制设置零值,您可以为特定用户、组或管理集 ID 设置无穷配额。以下示例显示了如何设置无穷配额。
# samquota -G sam -b 0:s,h -f 0:s,h /sam6 # samquota -G sam /sam6 Online Limits Total Limits Type ID In Use Soft Hard In Use Soft Hard /sam6 Files group 101 339 0 0 339 0 0 Blocks group 101 248 0 0 2614 0 0 Grace period 0s 0s ---> Infinite quotas in effect.
您可以使用 samquota 命令通过用户、组或管理集零中的默认限制来启用用户、组或管理集的默认配额。例如,以下命令为所有管理集 ID 设置了默认配额:
# samquota -A 0 -b 12000:s -b 15000:h -b 12G:s:t -b 15G:h:t \ -f 1000:s -f 1200:h -t 1w /qfs1
此命令对任意用户的未初始化的管理集配额限制做如下设置:
将联机块的软限制 (-b limit:s) 设为 12,000 个块。
将联机块的硬限制 (-b limit:h) 设为 15,000 个块。
将总块的软限制 (-b limit:s:t) 设为 12 千兆块。
将总块的硬限制 (-b limit:h:t) 设为 15 千兆块。
将文件的软限制 (-f limit:s) 设为 1000 个文件。
将文件的硬限制 (-f limit:h) 设为 1200 个文件。
将宽限期 (-t _limit_) 设为一周。
注 - 如果配额记录已经存在,则现有的值仍然有效。例如,当管理组已经具有为其分配的块时,可能会出现这种情况。
通过分别指定 -U 0 或 -G 0 代替 -A 0,您可以为用户或组设置类似的默认配额。
您可以使用 samquota 命令对特定用户、组或管理集启用一组限制。例如,以下命令分别启用用户、组和管理集的限制。
# samquota -U joe -b 15000:s -b 20000:h -b 12G:s:t -b 15G:h:t \ -f 500:s -f 750:h -t 3d /qfs1 # samquota -G proj -b 15000:s -b 20000:h -b 12G:s:t -b 15G:h:t \ -f 500:s -f 750:h -t 3d /qfs1 # samquota -A 7 -b 15000:s -b 20000:h -b 12G:s:t -b 15G:h:t \ -f 500:s -f 750:h -t 3d /qfs1
有关更多信息,请参见 samquota(1M) 手册页。
创建配额后,为其他用户、组或管理集创建限制时,您可以将现有的配额文件用作模板。您也可以使用此过程更改任何配额设置。
使用带有 -e 选项以及一个或多个以下选项的 samquota 命令:-U user-ID、-G group-ID 或 -A adminset-ID。
以下示例显示了如何检索 quota.group 文件以用作模板。
注 - 您可以将组配额条目用作模板,以创建用户配额条目。
# samquota -G sam -e /sam6 > /tmp/quota.group # cat /tmp/quota.group # Type ID # Online Limits Total Limits # soft hard soft hard # Files # Blocks # Grace Periods # # samquota -G 102 \ -f 200:s:o -f 300:h:o -f 200:s:t -f 300:h:t \ -b 40000:s:o -b 60000:h:o -b 40000000:s:t -b 60000000:h:t \ -t 1d:o -t 1d:t /sam6
例如:
# sh -x /tmp/quota.group
-x 选项使得 shell 回响其执行的命令。如果需要,您可以省略 -x 选项。