磁盘配额
出自 维基百科
- "磁盘配额是系统管理员设置的限制,用于限制现代操作系统上文件系统使用的某些方面。 设置磁盘配额的功能是以合理的方式分配有限的磁盘空间。"
本文介绍磁盘配额的安装和设置。
安装
安装 quota-tools 软件包。
配置
设置文件系统
编辑 fstab 以在选定的文件系统上启用配额挂载选项,例如
/etc/fstab
/dev/sda3 /home ext4 defaults,usrquota 0 2
要额外启用组配额挂载选项
/etc/fstab
/dev/sda3 /home ext4 defaults,usrquota,grpquota 0 2
/etc/fstab
/dev/sda3 /home ext4 defaults,usrjquota=aquota.user,jqfmt=vfsv1 0 2
追加 grpjquota=aquota.group
以启用组配额。
重新挂载分区以应用更改
# mount -vo remount /home
创建配额索引
要为 /home
创建配额索引
# quotacheck -cum /home
追加 -g
参数以同时创建组索引。
要为所需的文件系统启用磁盘配额
# quotaon -v /home
要为文件系统禁用磁盘配额
# quotaoff -v /home
用法
为用户/组启用配额
注意: 块大小静态设置为 1k,与文件系统块大小无关 [3]。
配额使用 edquota
(以 root 用户身份)进行配置,该命令将在默认配置的文本编辑器中打开
# edquota user
Disk quotas for user user (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sda3 24 0 0 6 0 0
- blocks
- 指示用户/组当前使用的 1k 块的数量。
- soft
- 指示在发出警告并开始宽限期倒计时之前,用户/组的最大块数。 如果设置为“0”(零),则不强制执行限制。
- hard
- 指示用户/组可以使用的最大块数。 如果已达到最大数量,则无法使用更多磁盘空间。 如果设置为“0”(零),则不强制执行限制。
- inodes
- 指示用户/组当前使用的 inodes 数量。
- soft
- 指示用户/组的软 inode 限制。
- hard
- 指示用户/组的硬 inode 限制。
考虑以下 ftpuser1 的配置
# edquota ftpuser1
Disk quotas for user ftpuser1 (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sda3 24 1000000 1048576 6 0 0
在这种情况下,如果 ftpuser1 使用超过 976MB 的空间,将发出警告。 如果已达到 1GB 的硬限制,则用户将无法写入更多数据。
请参阅 #指定宽限期,以便在用户达到其软限制时,给予他们特定的时间来减少存储使用量。
警告:
hard
限制适用于各自用户/组写入和使用的所有文件,包括启动应用程序的临时文件,这些文件可能在此点崩溃。指定宽限期
为了给当前用户一些时间来减少其文件使用量,可以配置宽限期。 这指定了用户/组可以超过其软限制并在其硬限制之下的允许时间
# edquota -t
Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/sda3 7days 7days
宽限期可以设置为秒、分钟、小时、天、周或月。
报告
显示所有已配置的配额
# repquota -a
显示特定分区上的配额
# repquota /home
# quota -u user
# quota -g group
复制配额设置
复制到一个或多个用户
要将配额设置从 user1
复制到 user2
# edquota -p user1 user2
要将配额设置复制到其他几个用户,请追加 user3
user4
...
复制到组
要将配额设置从 group1
复制到 group2
# edquota -g -p group1 group2
复制到所有用户
想法是修改一个用户的配额设置,并将该设置复制到所有其他用户。 为 user1
设置配额,并将配额应用于 UID 大于 999 的用户
# edquota -p user1 $(awk -F: '$3 > 999 {print $1}' /etc/passwd)
技巧与诀窍
配额警告
命令 warnquota
可用于警告用户关于他们的配额。 配置可在 /etc/warnquota.conf
中找到。
统计信息
命令 quotastats
可用于提供有关当前配额使用情况的更多信息
$ quotastats
Number of dquot lookups: 101289 Number of dquot drops: 101271 Number of still active inodes with quota : 18 Number of dquot reads: 93 Number of dquot writes: 2077 Number of quotafile syncs: 134518740 Number of dquot cache hits: 7391 Number of allocated dquots: 90 Number of free dquots: 2036 Number of in use dquot entries (user/group): -1946