系统管理指南:高级管理

设置 UFS 配额(任务图)

任务 

说明 

参考 

1. 为配额配置文件系统。 

编辑 /etc/vfstab 文件,以便在每次挂载文件系统时激活配额。此外,还应创建一个 quotas 文件。

如何为 UFS 配额配置文件系统

2. 设置一个用户的 UFS 配额。 

使用 edquota 命令为单个用户帐户创建磁盘配额和 inode 配额。

如何设置一个用户的 UFS 配额

3. (可选)设置多个用户的 UFS 配额。 

使用 edquota 命令将样例配额应用于其他用户帐户。

如何设置多个用户的 UFS 配额

4. 检查一致性。 

使用 quotacheck 命令将配额与当前磁盘使用量进行比较,以确保一个或多个文件系统中的一致性。

如何检查 UFS 配额一致性

5. 启用 UFS 配额。 

使用 quotaon 命令在一个或多个文件系统中启动 UFS 配额。

如何启用 UFS 配额

Procedure如何为 UFS 配额配置文件系统

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 对于要获取配额的每个 UFS 文件系统,编辑 /etc/vfstab 文件并向 mount options 字段中添加 rq

  3. 将目录转到将获取配额的文件系统的根目录。

  4. 创建一个名为 quotas 的文件。


    # touch quotas
    
  5. 更改读取/写入权限,以便仅供超级用户访问。


    # chmod 600 quotas
    

示例 7–1 为 UFS 配额配置文件系统

以下 /etc/vfstab 示例显示,系统 pluto 中的 /export/home 目录在本地系统中作为 NFS 文件系统挂载。通过 mount options 列下的 rq 项可以判断已启用了配额。


# device   device    mount     FS    fsck   mount   mount
# to mount       to fsck  point     type   pass  at boot options
# pluto:/export/home -   /export/home nfs    -     yes    rq

/etc/vfstab 文件中的以下示例行说明本地 /work 目录在挂载时已启用配额,mount options 列下的 rq 项指明了这一点。


#device     device        mount  FS   fsck  mount    mount
#to mount         to fsck      point  type  pass  at boot options
#/dev/dsk/c0t4d0s0 /dev/rdsk/c0t4d0s0 /work ufs  3    yes     rq

另请参见

Procedure如何设置一个用户的 UFS 配额

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 使用配额编辑器创建一个临时文件,对于在文件系统的根目录中包含 quotas 文件的每个已挂载的 UFS 文件系统,该临时文件都包含一行配额信息。


    # edquota username
    

    其中,username 是要为其设置配额的用户。

  3. 将 1 KB 磁盘块的数量(软限制和硬限制)更改为针对每个文件系统指定的配额。

  4. 将 inode 的数量(软限制和硬限制)从缺省值 0 更改为针对每个文件系统指定的配额。

  5. 验证用户的 UFS 配额。


    # quota -v username
    
    -v

    在存在配额的所有已挂载文件系统中显示用户的配额信息。

    username

    指定要查看配额限制的用户名。


示例 7–2 设置一个用户的 UFS 配额

以下示例显示了 edquota 在某个系统中打开的临时文件的内容,在该系统中,/files 是根目录中包含 quotas 文件的唯一已挂载文件系统。


fs /files blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)

以下示例显示了设置配额后临时文件中的同一行。


fs /files blocks (soft = 50, hard = 60) inodes (soft = 90, hard = 100)

Procedure如何设置多个用户的 UFS 配额

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 使用配额编辑器将已为样例用户建立的配额应用到您指定的其他用户。


    # edquota -p prototype-user username ...
    
    prototype-user

    已为其设置了配额的帐户的用户名。

    username ...

    指定其他帐户的一个或多个用户名。通过以空格分隔每个用户名来指定多个用户名。


示例 7–3 设置多个用户的样例 UFS 配额

以下示例说明如何将为用户 bob 建立的配额应用到用户 maryjohn


# edquota -p bob mary john

Procedure如何检查 UFS 配额一致性

重新引导系统时会自动运行 quotacheck 命令。通常不需要在具有配额的空文件系统中运行 quotacheck 命令。但是,如果要在包含现有文件的文件系统中设置配额,则需要运行 quotacheck 命令,以使配额数据库与文件系统中已存在的文件或 inode 同步。

此外应谨记,在大型文件系统中运行 quotacheck 命令会非常耗时。


注 –

为确保磁盘数据的准确性,在手动运行 quotacheck 命令时,检查的文件系统应处于停顿状态。


  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 对 UFS 文件系统运行一致性检查。


    # quotacheck [-va] filesystem 
    
    -v

    (可选)确定每个用户在特定文件系统中的磁盘配额。

    -a

    检查 /etc/vfstab 文件中包含 rq 项的所有文件系统。

    filesystem

    指定要检查的文件系统。

    有关更多信息,请参见 quotacheck(1M) 手册页。


示例 7–4 检查 UFS 配额一致性

以下示例说明如何检查 /dev/rdsk/c0t0d0s7 磁盘分片中 /export/home 文件系统的配额。/export/home 文件系统是 /etc/vfstab 文件中具有 rq 项的唯一文件系统。


# quotacheck -va
*** Checking quotas for /dev/rdsk/c0t0d0s7 (/export/home)

Procedure如何启用 UFS 配额

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 启用文件系统配额。


    # quotaon [-v] -a filesystem ...
    
    -v

    启用配额后为每个文件系统显示一条消息。

    -a

    为在 /etc/vfstab 文件中包含 rq 项的所有文件系统启用配额。

    filesystem ...

    为指定的一个或多个文件系统启用配额。指定多个文件系统时,需要用空格来分隔每个文件系统的名称。


示例 7–5 启用 UFS 配额

以下示例说明如何为 /dev/dsk/c0t4d0s7/dev/dsk/c0t3d0s7 磁盘分片上的文件系统启用配额。


# quotaon -v /dev/dsk/c0t4d0s7 /dev/dsk/c0t3d0s7
/dev/dsk/c0t4d0s7: quotas turned on
/dev/dsk/c0t3d0s7: quotas turned on