Вики / Хранилище и ФС
Дисковые квоты
Лимиты места и числа файлов на пользователя/группу — включение, настройка, отчёты.
Квоты ограничивают, сколько места (блоков) и файлов (inode) может занять пользователь или группа на ФС. Полезно на общих серверах, чтобы один юзер не забил диск (см. disk-usage).
Лимиты бывают soft (можно превысить на grace-период с предупреждением) и hard (жёсткий потолок, запись блокируется).
sudo apt install quota
# в /etc/fstab добавить опции к нужной ФС: usrquota,grpquota
# /dev/sdb1 /data ext4 defaults,usrquota,grpquota 0 2
sudo mount -o remount /data
sudo quotacheck -cugm /data # создать файлы учёта (aquota.user/group)
sudo quotaon -v /data # включить квоты
sudo quotaon -p /data # проверить, включены ли
# задать лимиты пользователю (блоки: soft hard, inode: soft hard):
sudo setquota -u alice 5G 6G 0 0 /data # soft=5G hard=6G по месту, inode без лимита
sudo setquota -u alice 0 0 10000 12000 /data # лимит по числу файлов
sudo edquota -u alice # интерактивно в редакторе
sudo edquota -t # настроить grace-период (для soft)
sudo edquota -p alice -u bob # скопировать квоты alice пользователю bob
# отчёты:
quota -u alice # квота и использование пользователя
sudo repquota -a # отчёт по всем ФС с квотами
sudo repquota -s /data # человекочитаемо (-s)
На xfs механизм иной — квоты включаются опцией монтирования, не quotacheck:
# /etc/fstab: /data xfs defaults,uquota,gquota 0 0 (или pquota для проектных)
sudo xfs_quota -x -c 'report -h' /data
sudo xfs_quota -x -c 'limit bsoft=5g bhard=6g alice' /data
setquota: не работает / «not found»
ФС смонтирована без usrquota/grpquota — проверь mount | grep -i quota. Либо не
сделан quotacheck/quotaon. На xfs это не сработает — там xfs_quota и опции
uquota/gquota/pquota.
Пользователь упёрся в лимит
quota -u user / repquota покажут текущее и потолок. Подними setquota/edquota
или попроси почистить. На soft-лимите есть grace-период (edquota -t).
Квоты «слетели» после ребута
quotaon не выполняется сам — убедись, что опции в /etc/fstab и юнит quotaon
включён (на ext). На xfs квоты активируются монтированием с нужными опциями.
quotacheck требует отмонтировать
Лучше считать на спокойной/ro ФС. На активной — quotacheck -m (force), но точность
ниже; идеально — в single-user или с remount ro.
# ext4: fstab ...,usrquota,grpquota ; remount ; quotacheck -cugm ; quotaon -v
sudo setquota -u user 5G 6G 0 0 /data # soft/hard по месту
sudo edquota -u user ; sudo edquota -t # интерактивно / grace
quota -u user ; sudo repquota -s /data # отчёты
# xfs: fstab uquota,gquota ; xfs_quota -x -c 'limit bsoft=.. bhard=.. user' /data
См. также
- Пользователи и группы — Пользователи и права
- Место на диске (df, du, inode) — Хранилище и ФС
- Файловые системы (ext4, xfs, fsck) — Хранилище и ФС