我遇到一个问题,我的 5TB 磁盘上有大量来自一组用户的内容,这没关系。我想将该组的总磁盘使用量限制为 ~4.5TB,但我无法做到,我收到以下错误:
setquota:无法从 /dev/md1 上的内核为组 100 设置配额:数值结果超出范围
到目前为止,Google 在尝试解决这个问题时并没有起到多大作用。有人能帮忙或给出指导吗?
答案1
好的,我已经弄明白了,所以我将尽我所知回答我自己的问题。
最初的错误是由于配额格式 vfsv0 无法支持 >= 4TiB 的配额而导致的。配额有一种(相对)较新的格式来支持 >4TiB 的配额,称为 vfsv1。您至少需要内核 2.6.33 才能支持 vfsv1。
您需要(?)使用日志配额,它将在 ext4 和 ext3 上运行(?)。
在/etc/fstab您需要添加以下内容来为您的挂载提供配额支持:
usrjquota=quota.user,grpjquota=quota.group,jqfmt=vfsv1
fstab 行的示例如下(此处,挂载点是 /):
/dev/md1 / ext4 grpjquota=quota.group,usrjquota=quota.user,jqfmt=vfsv1 0 2
不在您的挂载点创建文件quota.user或quota.group。然后执行以下操作:
安装-o重新安装/
然后做
配额检查-avugm
这将创建quota.user 和quota.group,然后:
配额
此时,你可能会收到类似这样的错误quoteon:内核不支持配额格式。
这是因为内核编译时不支持 vfsv1,不用担心,尝试一下
modprobe 配额_v1
modprobe 配额_v2
配额
如果有效,请确保将quota_v1和quota_v2添加到/etc/modules
如果一切顺利,那么您应该能够将配额更改为超过 4TiB 的值!
答案2
在 setquota 的 man 中,我看到:
-F, --format=quotaformat 执行指定格式的设置(即不执行格式自动检测)。可能的格式名称为: 已售出具有 16 位 UID/GID 的原始配额格式,虚拟文件系统 具有 32 位 UID/GID、64 位空间使用、32 位 inode 使用和限制的配额格式,版本 1具有 64 位配额限制和使用的配额格式, 远程过程调用(NFS 配额),軟體系(XFS 文件系统上的配额)
这也许就是你想要的...我没有尝试过。
答案3
所以感谢@JamesGuthrie和@Dom的回答,因为他们一开始就帮助了我。但是解决方案缺少一部分,对我来说无法工作。
我还尝试在ext4文件系统上设置>4Tb的配额。
你应该使用论点-F vfsv1
生成配额文件时和:
quotacheck -cugm -F vfsv1 /