Назад | Перейти на главную страницу

Настройка квот для пользователей / групп> 4 ТиБ в Ubuntu

Я столкнулся с проблемой, что мой диск емкостью 5 ТБ содержит большую часть контента от одной группы пользователей, и это нормально. Я хотел бы ограничить общее использование диска этой группой до ~ 4,5 ТБ, но я не могу этого сделать, я получаю следующую ошибку:

setquota: невозможно установить квоту для группы 100 из ядра на / dev / md1: числовой результат вне допустимого диапазона

Google пока не очень помог в попытках решить этот вопрос. Может ли кто-нибудь помочь или дать направление?

Хорошо, мне удалось разобраться в этом, поэтому я собираюсь ответить на свой вопрос, насколько мне известно.

Исходная ошибка была вызвана тем, что формат квот vfsv0 не может поддерживать квоты> = 4 ТиБ. Квота имеет (относительно) новый формат для поддержки квот> 4 ТиБ, который называется vfsv1. Для поддержки vfsv1 ядром необходимо ядро ​​не ниже 2.6.33.

Вам нужно (?) Использовать журналируемые квоты, которые будут работать на 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 remount /

тогда делай

quotacheck -avugm

который создаст quota.user и quota.group, а затем:

quotaon -avug

На этом этапе вы можете получить ошибку в строках quotaon: формат квот не поддерживается в ядре.

Это связано с тем, что ядро ​​не было скомпилировано с поддержкой vfsv1, но не беспокойтесь, попробуйте

modprobe quota_v1

modprobe quota_v2

quotaon -avug

если это сработало, обязательно добавьте quota_v1 и quota_v2 в / etc / modules

Если все работает, то вы сможете изменить квоту на значение более 4 ТиБ!

В человеке setquota я вижу:

-F, --format = quotaformat Выполнить настройку для указанного формата (т.е. не выполнять автоматическое определение формата). Возможные названия формата: vfsold Исходный формат квоты с 16-битными UID / GID, vfsv0 Формат квоты с 32-битными UID / GID, 64-битным использованием пространства, 32-битным использованием inode и ограничениями, vfsv1 Формат квоты с 64-битными ограничениями квот и использованием, rpc (квота по NFS), xfs (квота на файловую систему XFS)

Возможно, это то, что вы хотите ... Я не пробовал.

Так что спасибо за ответы @JamesGuthrie и @Dom, потому что они помогли мне в начале. Однако не хватало части, чтобы решение работало на меня.
Я также пытался установить квоты> 4 ТБ в файловой системе ext4.

Вы должны использовать аргумент -F vfsv1 при создании файлов квот тоже с участием:
quotacheck -cugm -F vfsv1 /