Ошибка "Numerical result out of range" при создании большой квоты
Симптомы
Отсутствует возможность установить пользователю квоту размером более 4Тбайт.
В журнале панели /usr/local/mgr5/var/ispmgr.log
появляются следующие ошибки:
Error (type: 'sysquota'; object: 'set_size'; value: ''; msg: 'Error using disk quotas. Failed to set the specified disk quota value. The value is too large or not supported by the system' (object: 'set_size')
setquota: Cannot set quota for group 1012 from kernel on /dev/vda2: Numerical result out of range
setquota: Cannot write quota for 1012 on /dev/vda2: Numerical result out of range
ОБРАТИТЕ ВНИМАНИЕ!
Данная проблема характерная для устаревших ОС и файловых систем.
Причины
Для квоты используется формат отличный от 64-битного формат vfsv1.
Решение
Чтобы включить 64-битный формат квот vfsv1, откройте для редактирования файл /etc/fstab
и после слова "defaults" и любых других опций, которые вы уже установили, добавьте следующие дополнительные опции монтирования:
grpjquota=quota.group,usrjquota=quota.user,jqfmt=vfsv1
Пример результата:
/dev/vda1 / ext4 defaults grpjquota=quota.group,usrjquota=quota.user,jqfmt=vfsv1 0 2
Далее необходимо включить дисковые квоты. Например, выполните следующие команды на Debian или Ubuntu:
mount -o remount /
- для повторного монитрования раздела;quotacheck -gum /
- для создания рабочих файлов утилиты "quota";quotaon -guv /
- для включения дисковых квот.
Если при включении квот наблюдается ошибка "Quota format not supported in kernel", выполните команду по включению модуля ядра для старого формата квот:
modprobe quota_v1
После этого повторите команды для включения дисковых квот.
Подробнее о включении дисковых квот в официальной документации!