Solaris UNIX为UFS文件系统配置磁盘配额
在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