Solaris UNIX为UFS文件系统配置磁盘配额

时间:2020-01-09 10:45:48  来源:igfitidea点击:

在Solaris UNIX操作系统下,如何配置文件系统配额以控制在给定的UFS文件系统(例如/export/home)上可以使用多少可用存储空间?
磁盘配额不过是系统管理员设置的限制,该限制限制了UNIX操作系统上文件系统使用的某些方面。

UFS和ZFS均支持用户的磁盘配额。
在UFS下,您可以设置文件系统(例如/export/home)上用户可以使用的块和索引节点的数量:

块配额,限制可以使用的磁盘空间量。

Inode配额限制了可以创建的文件和目录的数量。

配额限制

通常使用软值和硬值来指定块和索引节点的数量:

  • "软值"或者"软限制"可能会暂时超过该值,并会警告用户有关违规行为。另外,管理员通常定义警告级别或者软配额,在该级别上,用户将被告知他们已接近其极限,即小于有效极限或者硬配额。宽限间隔也可能很小,如果需要的话,允许用户暂时违反其配额。
  • "硬限制"是不能超过的限制,超过用户硬限制使用更多块或者索引节点的尝试将被拒绝。

ufs,zfs和vxfs文件系统上的配额系统,用于限制文件系统的资源。
本常见问题解答中列出的大多数操作是在假设它们将由运行ksh或者bash shell的root用户执行的情况下编写的。
另外,只有超级用户root才能设置磁盘配额。

步骤1:配置/export/home

编辑/etc/vfstab,执行:

# vi /etc/vfstab

更新/export/home,如下所示:

/dev/dsk/c0d0s7 /dev/rdsk/c0d0s7 /export/home ufs                  2          yes rq

rq挂载选项为/export/home启用磁盘配额。
这样可以确保每次重新启动后都启用磁盘配额。

步骤2:重新挂载文件系统

执行以下命令以使用配额挂载/export/home:

# mount -o remount,quota /export/home

步骤3:创建空配额文件

您需要在文件系统的根目录中创建空配额文件,即create/export/home/quotas

# touch /export/home/quotas
# chown root:root /export/home/quotas
# chmod 0600 /export/home/quotas

步骤4:设置用户配额

您可以使用edquota命令编辑和设置用户Hyman的用户配额。

# edquota username
# edquota Hyman

edquota是配额编辑器。
可以在命令行上指定一个或者多个用户。
对于每个用户,将为每个用户创建一个临时文件,该文件以该用户当前磁盘配额的ASCII表示形式针对每个已安装的具有配额文件的ufs文件系统,然后在该文件上调用编辑器。
然后可以修改配额,添加新配额等。
离开编辑器后,edquota会读取临时文件并修改二进制配额文件以反映所做的更改。
要对用户配额进行任何更改,请再次使用同一命令。

步骤5:打开用户配额

quotaon命令打开/export/home ufs文件系统的磁盘配额。
输入命令:

# quotaon -v /export/home

输出示例:

/export/home: quotas turned on

如何显示用户配额和使用情况?

quota命令显示用户ufs文件系统磁盘的配额和使用情况。
如下运行:

# quota -v username
# quota -v Hyman

repquota命令显示指定的ufs文件系统(例如/export/home)的磁盘使用情况和配额的摘要,执行:

# repquota /export/home

要显示所有用户的配额信息,请执行:

# repquota -va

测验

如果已超过配额,则用户Hyman将收到一条错误消息。
您可以使用以下简单命令进行测试(尝试在主目录中创建500M文件):

# su - Hyman
$ dd if=/dev/zero of=bigfile bs=1024 count=512000

或者,您可以使用mkfile创建一个名为bigfile的文件。

$ mkfile 500m bigfile