Инструменты пользователя

Инструменты сайта


дисковое_квоты

Управление квотами файловых систем

Установка квоты

Квота файловой системы — это стандартная встроенная функция ядра Linux. Квоты определяют объем пространства, которое может занять пользователь. Дисковые квоты также ограничивают количество файлов, которые пользователь может создать в системе.

Чтобы появилась возможность использовать квоты, нужно установить инструмент командной строки quota

apt-get install quota -y

В /etc/fstab добавим запись о файловой системе которую будем квотировать. В опциях монтирования добавим два параметра usrquota и grpquota

/dev/sdb2       /mnt/quota      auto    rw,user,auto,usrquota,grpquota  0       0

Далее, для начало проверим, были ли установлены квоты на файловой системе и отключим их

quotaoff /mnt/quota/

Теперь используем утилиту quotacheck с ключами -cug, эти ключи создадут квоты для пользователей и групп.

quotacheck -cug /mnt/quota/

Файловая система ext4 поддерживает квотирование только целых разделов жестких дисков, квотировать директории она не умеет. Для квотирования директорий, нужно использовать другие файловые системы, такие как: xfs, reiserfs

После того как были установлены квоты на раздел, в корне файловой системы появились два файла

ls /mnt/quota/
aquota.group  aquota.user  lost+found

Редактирование квоты

aquota.group и aquota.user – бинарные файлы, для их редактирования используется утилита edquota. Установим квоту для пользователя johndoe

edquota -u johndoe

Откроется редактор, в котором представлены следующие поля:

 Filesystem         blocks       soft       hard     inodes     soft     hard

Где:

  • Filesystem – собственно раздел, на котором установлена квота
  • blocks – сколько занимает пользователь в одно килобайтных блоках
  • soft – мягкая квота – это квота которую пользователь может превысить не больше чем на неделю
  • hard – жесткая квота – квота которую пользователь превысить не сможет
  • inodes – файловые дескрипторы по которым тоже есть soft и hard квоты

Чтобы изменить время ожидания soft квоты выполним команду

edquota -t

Откроется редактор, в котором можно изменить продолжительность ожидания в днях

Внесем изменения, укажем квоту на размер: soft - 10 килобайт, hard - 30.

Остался последний шажок, включение квот:

quotaon /mnt/quota/

Теперь, если пользователь johndoe создаст текстовый файл в директории </html>/mnt/quota</html> с содержимым – Helo word!, это будет сразу учено дисковым квотированием

edquota -u johndoe

Disk quotas for user johndoe (uid 1000):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb2                         8         10         30          2        0        0

Теперь попробуем создать файл размером 100KB

dd if=/dev/zero of=/mnt/quota/try/very_big_file bs=1KB count=100
dd: error writing '/mnt/quota/try/very_big_file': Disk quota exceeded

Хрясь! Дисковая квота, однако!

Отчеты по квотам

Отчет по квоте, в файловой системе можно создать такой командой

repquota /mnt/quota/

*** Report for user quotas on device /dev/sdb2
Block grace time: 7days; Inode grace time: 7days
                        Block limits                  File limits
User                  used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------------
root           --      20       0       0              2     0     0
johndoe        +-      28      10      30  6days       4     0     0

Для отправки извещений об использование квот пользователями используется утилита warnquota

дисковое_квоты.txt · Последнее изменение: 2020/08/07 14:15 — admin