Установка
Прежде, чем вы сможете управлять дисковыми квотами, необходимо установить соответствующее ПО. Пакет со всем необходимым называется quota. Установить его легко и просто:
- откройте терминал;
- войдите в систему от имени root при помощи команды su;
- выполните команду: yum install quota;
- согласитесь со всеми зависимостями;
- завершите установку.
Теперь вы готовы приступить к процессу настройки дисковых квот. Команды, описываемые ниже, требуют привилегий суперпользователя, так что не забудьте войти в систему от его имени при помощи команды su.
Настройка
Первым делом необходимо отредактировать файл /etc/fstab, чтобы система знала, к каким разделам применять квоты. Далее в примерах предположим, что каталог /home в вашей системе смонтирован из отдельного раздела. Допустим, изначально фрагмент нашего /etc/fstab, в котором монтируется /home выглядел так:
/dev/VolGroup00/LogVol02 /home ext3 defaults 1 2
Поскольку мы собираемся управлять квотами для пользователей, то как раз эту строку и будем модифицировать, добавив опцию монтирования usrquota. Примерно так должна выглядеть строка после модификации:
/dev/VolGroup00/LogVol02 /home ext3 defaults,usrquota 1 2
После того, как /etc/fstab будет отредактирован и сохранён, соответствующая файловая система должна быть смонтирована заново, чтобы изменения вступили в силу. Прежде, чем вы перемонтируете файловую систему, убедитесь в том, что она никем не используется. Заставьте всех пользователей покинуть систему или принудительно завершите их работу, после чего перемонтируйте файловую систему:
mount -o remount /home
Создание базы данных
Несмотря на то, что теперь ваша система знает о том, что для файловой системы включены дисковые квоты, она пока ещё понятия не имеет, как с этим работать. Прежде, чем квоты начнут приносить нам пользу, необходимо сперва определить текущее положение дел, то есть, кто и сколько занимает дискового пространства в данный момент. Для этого существует утилита quotacheck. Для того, чтобы построить таблицы использования дискового пространства пользовательскими файлами, необходимо запустить quotacheck с опцией -c, а также опцией, определяющей, хотим ли мы использовать квоты только для пользователей, или только для групп или же для тех и других одновременно. В нашей статье мы задались целью управлять квотами для пользователей, так что команда будет выглядеть так:
quotacheck -cu /home
После того, как программа закончит свою работу, необходимо запустить её заново, только в этот раз уже с другими опциями:
quotacheck -avu
Опция -a заставляет утилиту проверить все смонтированные разделы с включёнными квотами, а опция -v активирует подробный вывод сообщений о ходе работы программы.
После того, как quotacheck завершит свою работу, мы будем иметь в своём распоряжении инициализированную базу данных, содержащую всю необходимую информацию об использовании пользователями диска. Однако это ещё не всё. Теперь необходимо настроить квоты для пользователей.
Настройка квот для пользователей
Как вы и ожидали, у вас имеется возможность определять дисковую квоту для каждого пользователя. Такая возможность очень удобна, поскольку разные пользователи могут нуждаться в различном объёме пространства для выполнения своей работы. Например, графические дизайнеры могут потребовать больше места на диске, поскольку работают с довольно немаленькими файлами. Основной командной, используемой для управления дисковыми квотами является edquota. Пользоваться этой утилитой очень просто. Просто введите имя команды, а затем имя пользователя, для которого вам необходимо определить квоту. Допустим, логин нашего пользователя — stephanie. Команда будет такой:
edquota stephanie
После того, как вы запустите эту команду, запустится текстовый редактор по умолчанию и вы увидите примерно следующее:
Disk quotas for user stephanie (uid 507): Filesystem blocks soft hard inodes soft hard /dev/VolGroup00/LogVol02 440436 0 0 41 0 0
Всё, что вам нужно — это отредактировать hard и soft-лимит. Что это такое?
Hard-лимит (жёсткий лимит) определяет объём дискового пространства, больше которого пользователь не сможет занять никогда. Soft-лимит (мягкий лимит) определяет объём дискового пространства, больше которого пользователь сможет занять своими файлами в течение определённого т. н. grace-периода.
Давайте определим для пользователя stephanie жёсткий лимит размером в 5 GB. Для этого необходимо заменить 0 в колонке hard на 10485760 (5 GB в блоках). Сохраните файл и дайте команду:
quota stephanie
чтобы убедиться в том, что квота была установлена успешно.
Если вы хотите установить мягкий лимит, вам необходимо установить его таким, чтобы он был меньше, чем жёсткий лимит. Допустим, вам необходимо установить мягкий лимит для нашего пользователя размеров в 4 GB. Замените 0, стоящий в колонке soft на 8388608. После того, как вы сохраните сделанные изменения, необходимо установить размер grace-периода. Для этого выполните команду:
edquota -t
После запуска команды вы увидите примерно следующее:
Filesystem Block grace period Inode grace period /dev/VolGroup00/LogVol02 7days 7days
Измените значения в колонках Block и Inode grace period. Убедитесь, что вы не влепили пробел между числом и словом days. Кстати, вместо days вы можете использовать hours, minutes или seconds.
Отчёты
Периодически вам может понадобиться просматривать статистику по использованию дисковых квот в системе. Для получения отчёта пользуйтесь командой:
repquota -a
Эта команда предоставит вам всю необходимую информацию.