在 Ubuntu 上设置用户/组配额>4TiB

在 Ubuntu 上设置用户/组配额>4TiB

我遇到一个问题,我的 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 /

相关内容