Ispmanager 6 lite, pro, host

Подключение дисковых квот

Подключение дисковых квот из ispmanager

  1. Авторизуйтесь в ispmanager под учетной записью с правами суперпользователя.
  2. Перейдите в раздел Конфигурация ПО.
  3. Установите галочку Дисковые квоты.

При подключении дисковых квот устанавливается пакет quota.

Ispmanager при этом:

  • подключает в /etc/fstab нужные опции
  • перемонтирует /
  • запускает quotacheck на /
  • включает quotaon на /

После этого в интерфейсе управления пользователями появится колонка Диск и для каждого пользователя можно будет создать ограничение по диску. Ispmanager пересчитывает квоту примерно раз в 2 минуты.

Просмотр квот через терминал

repquota -g / - для файловой системы EXT4
xfs_quota -x -c 'report -g' - для файловой системы XFS

Ручное подключение дисковых квот

Если ispmanager по какой-то причине не смог подключить квоты, необходимо:

Проверить опции монтирования

Выясните, какая директория выбрана для файлов пользователей:

/usr/local/mgr5/sbin/mgrctl -m ispmgr pathlist |grep DefaultHomeDir ||  /usr/local/mgr5/sbin/mgrctl -m ispmgrnode pathlist |grep DefaultHomeDir

Проверьте, на каком разделе она находится:

df  <найденная_директория> |tail -1 | awk '{print $6}'

Выполните команду:

mount | grep 'on <найденный_раздел> '

Она покажет опции монтирования для найденного раздела. В них должно быть:

grpquota,usrquota

Если квоты не подключены, то нужно добавить опции в /etc/fstab, например:

UUID=<тут UUID> <найденный_раздел>   ext4    defaults,grpquota,usrquota   1 1

Затем перемонтировать найденный раздел командой:

mount -o remount <найденный_раздел>

Создание файлов для работы quota

Выполните команду:

quotacheck -gum <найденный_раздел>

Включение квот

Выполните команду:

quotaon -guv <найденный_раздел>

Дисковые квоты для xfs в CentOS

В CentOS по умолчанию используется файловая система xfs. Поддержка квот для неё включается в момент загрузки. После установки пакета дисковых квот в панели ispmanager необходимо перезагрузить сервер.

Ручная настройка дисковых квот для xfs в CentOS

При необходимости дисковые квоты можно настроить вручную. Для этого до установки пакета квот нужно отредактировать конфигурационный файл загрузчика. Пример для Grub 2:

1. В файле /etc/default/grub в конец строки GRUB_CMDLINE_LINUX добавьте опции квоты:

rootflags=usrquota,grpquota

2. Создайте копию конфигурационного файла:

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.back 

3. Сгенерируйте новый конфиг:

grub2-mkconfig -o /boot/grub2/grub.cfg 

После этого перезагрузите сервер.

После перезагрузки корневой раздел монтируется с нужными опциями:

mount | grep ' / '
/dev/vda3 on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)

Теперь можно перейти к установке пакета дисковых квот в ispmanager.

FAQ

В панели управления не отображается занятое дисковое пространство.

Ситуация 1. В логе панели ошибка:

Dec  5 16:09:02 [3228:38] proc EXTINFO Run '/bin/sh -c quotasync\ -g\ /' pid 3658
Dec  5 16:09:02 [3228:38] proc EXTINFO Process 3658 finished with status 1

Такое поведение характерно для файловой системы reiserfs (виртуализация OpenVZ).

Для решения проблемы достаточно добавить в файл конфигурации ispmgr.conf опцию DisableQuotasync.

Option DisableQuotasync — если указана данная опция, панель не будет вызывать команду quotasync перед получением информации о системных квотах.

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

killall core

Ситуация 2: Корневой раздел и раздел с пользовательскими данными имеют разные файловые системы.

Если корневой раздел в формате XFS, а пользовательский в EXT4, то необходимо убрать опцию Option XfsQuota из файла конфигурации ispmgr.conf.

Значение занятого дискового пространства в ispmanager отличается от того, что показывает команда du

Например, в панели управления в разделе Пользователи отображается информация по занятому дисковому пространству: 880/1000 MB.

Но du -sh на директорию пользователя показывает 1,6 GB.

Это означает, что в директории пользователя есть файлы, группа которых не соответствует группе пользователя.

Найти такие файлы поможет команда:

find /var/www/user -not -group user

Если же команда du наоборот показывает меньшее значение, чем в панели, то значит за пределами домашней директории есть файлы, принадлежащие группе пользователя.

Найти такие файлы можно с помощью команды:

find / -path /var/www/user  -group user

Диаграмма «Использование диска»

На диаграмме Использование диска отображается отношение размеров директорий tmp, email, logs, www, размеров баз данных и свободного пространства (свободное пространство = лимит по квоте — занятое). Другие директории пользователя на ней не будут учитываться. Размер будет считаться, но диаграмма останется незаполненной.