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

Jam*_*rie 5 ubuntu quota

我遇到了一个问题,我的 5TB 磁盘有来自一组用户的大部分内容,这没关系。我想将该组的总磁盘使用量限制为 ~4.5TB,但我无法做到,出现以下错误:

setquota:无法从 /dev/md1 上的内核设置组 100 的配额:数值结果超出范围

到目前为止,谷歌在试图解决这个问题方面并不是很有用。任何人都可以提供帮助或指导吗?

Jam*_*rie 7

好的,我已经设法弄清楚了,所以我将尽我所知回答我自己的问题。

最初的错误是由于配额格式 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。之后做:

mount -o 重新挂载 /

然后做

配额检查 -avugm

这将创建 quota.user 和 quota.group,然后是:

配额 -avug

此时,您可能会收到类似 quotaon: 内核中不支持配额格式的错误

这是因为内核没有编译支持 vfsv1,不过不用担心,试试

modprobe quota_v1

modprobe quota_v2

配额 -avug

如果有效,那么一定要将 quota_v1 和 quota_v2 添加到 /etc/modules

如果一切正常,那么您应该能够将配额更改为超过 4TiB!