Квота папки на linux

Disk quota

«A disk quota is a limit set by a system administrator that restricts certain aspects of file system usage on modern operating systems. The function of setting quotas to disks is to allocate limited disk-space in a reasonable way.«

This article covers the installation and setup of disk quota.

Installation

Configuration

Set up the filesystem

Edit fstab to enable the quota mount option(s) on selected file systems, e.g.:

/dev/sda3 /home ext4 defaults,usrquota 0 2

To additionally enable the group quota mount option:

/dev/sda3 /home ext4 defaults,usrquota,grpquota 0 2

If supported by the kernel and file system it is recommended to use journaled quota instead:

/dev/sda3 /home ext4 defaults,usrjquota=aquota.user,jqfmt=vfsv1 0 2

Append grpjquota=aquota.group to enable group quota.

Remount the partition to apply the change:

Create quota index

To create the quota index for /home :

Append the -g parameter to also create a group index.

To enable disk quotas for the desired file system:

To disable disk quotas for the file system:

Usage

Enable quota for user/group

  • To find out how many 1 kilobyte blocks are there for a partition use $ df .
  • You may use a online bytes converter to calculate the correct amount of blocks [1].
  • The command # setquota may be used as an alternative of # edquota [2].

Quotas are configured using edquota (as the root user) that will be opened in the default configured text editor:

Disk quotas for user user (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sda3 24 0 0 6 0 0

blocks Indicates number of 1k blocks currently used by the user/group. soft Indicates max number of blocks for the user/group before a warning is issued and grace period countdown begins. If set to «0» (zero) then no limit is enforced. hard Indicates max number of blocks for the user/group can use. If maximum amount has been reached, no further disk space can be used. If set to «0» (zero) then no limit is enforced. inodes Indicates the current inodes amount used by the user/group. soft Indicates the soft inode limit for the user/group. hard Indicates the hard inode limit for the user/group.

Читайте также:  Linux com порт сниффер

Consider the following configuration for ftpuser1:

Disk quotas for user ftpuser1 (uid 1000): Filesystem blocks soft hard inodes soft hard /dev/sda3 24 1000000 1048576 6 0 0

In this case if ftpuser1 uses over 976MB of space a warning will be issued. If the hard limit of 1GB has been reached the user will be unable to write any more data.

See #Specify a grace period to give users a specific amount of time to reduce storage usage when they hit their soft limit.

Warning: The hard limit applies to all files written by and for the respective user/group, including temporary files by started applications, which may crash at this point.

Specify a grace period

To give current users some time to reduce their file usage, a grace period can be configured. This specifies the allowed time a user/group can exceed their soft limit and while under their hard limit:

Grace period before enforcing soft limits for users: Time units may be: days, hours, minutes, or seconds Filesystem Block grace period Inode grace period /dev/sda3 7days 7days

The grace period can be set in seconds, minutes, hours, days, weeks or months.

Reports

Shows all configured quotas:

Shows quotas on a specific partition:

Show quotas that apply to a user/user group:

Copy quota settings

To one or several users

To copy quota settings from user1 to user2 :

# edquota -p user1 user2 

To copy quota settings to several other users, append user3 user4 .

To groups

To copy quota settings from group1 to group2 :

# edquota -g -p group1 group2 

To all users

The idea is to modify the quota settings for one user and copy the setting to all other users. Set the quota for user1 and apply the quota to users with a UID greater than 999:

# edquota -p user1 $(awk -F: '$3 > 999 ' /etc/passwd)

Tips and tricks

Quota warnings

The command warnquota can be used to warn the users about their quota. Configuration is available in /etc/warnquota.conf .

Stats

The command quotastats can be used to give more information about the current quota usage:

Number of dquot lookups: 101289 Number of dquot drops: 101271 Number of still active inodes with quota : 18 Number of dquot reads: 93 Number of dquot writes: 2077 Number of quotafile syncs: 134518740 Number of dquot cache hits: 7391 Number of allocated dquots: 90 Number of free dquots: 2036 Number of in use dquot entries (user/group): -1946

See also

Источник

Читайте также:  Oracle linux установка virtualization manager

Управление квотами дисков в Linux

img

Тема статьи небольшая, но информация данная необходима для понимания ограничений на дисках в операционной системе Linux. В данной статье рассмотрим:

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

  • quotaon – включение квоты
  • quotaoff – выключение квоты
  • edquota – редактирование квоты
  • repquota — отчет по квотам

У Windows Server, конечно намного богаче инструментарий по работе с квотами. Для этого выделена целый File Server Resource Manager, но в данной статье мы посмотрим, как это работает в Linux системах на примере Ubuntu Server.

У меня есть смонтированый раздел /dev/sdc1 в папку /mnt/hard .

Для того, чтобы работать с квотами, необходимо поставить пакет apt-get install quota .

apt-get install quota

Для того, чтобы использовать квоты, нам необходимо добавить монтирование данного раздела в файл /etc/fstab . Добавляем следующую строчку:

/dev/sdc1 /mnt/hard auto rw,user,auto,usrquota,grpquota 0 0

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

/etc/fstab

Строка будет выглядеть как на картинке. Сохраняем и перезагружаем.

Для начала выключаем все квоты, если они когда-нибудь ставились, для чистоты настройки quotaoff /mnt/hard . Следующая команда quotacheck – которая создаст квоту для пользователей и групп, у нее большой функционал, но мы ее используем именно в таком ключе. Квоту мы можем создать только полностью на примонтированный раздел – это связанно с файловой системой ext4 . Существуют и другие файловые системы, в которых мы можем ставить квоты на папки и работать более гибко, например xfs . quotacheck –cug /mnt/hard . В данном случае мы квоту ставим полностью на раздел, который смонтирован в /mnt/hard .

DevOquotacheck –cug /mnt/hardps

И как видим команда создала 2 файла aquota.group и aquota.user . Это файлы с настройками квот.

Это двоичные файлы и при попытке их посмотреть, например, cat aquota.user мы увидим, нечто не читаемое. Для редактирования данных фалов настройки текстовый редактор не подойдет, и мы будем использовать отдельную команду edquota – u siadmin . Т.е команда -u указывает , что мы редактируем для пользователя и далее указывается непосредственно пользователь.

Читайте также:  Узнать версию mysql linux

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

Вот так выглядит редактирование.

Мы видим, что здесь есть blocks – число 1К блоки, soft – мягкая квота, это квота, которую пользователь может превысить, но не более чем на неделю, hard – жесткая квота, это квота которую пользователь не сможет превысить вообще. Получается так, если пользователь siadmin поставит soft 10 и hard 30 , и запишу файлик в 15КБ, то неделю моя квота терпит, а через неделю система скажет, что квота превышена и будет требовать очистки. Если создать сразу файл 40 КБ, то квота скажет, что нету места на жестком диске. Так же можно поставить квоту на inodes , т.е на уникальные идентификаторы файлов, каждому файлу присваивается уникальный идентификатор, следовательно, пользователь не может превысить их количество по квоте. Когда мы выполняем команду edquota , то для открытия открывается редактор, установленный по умолчанию. В данном случае редактор nano . Как было уже написано мягкая квота устанавливается на неделю и после чего начинает блокировать, если мы не уменьшили размер файлов или не уменьшили их количество, смотря какая квота была выставлена. Мы можем данный параметр изменить, выполнив sudo edquota –t .

sudo edquota –t

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

Мы в файле /etc/fstab указали, что файловая система монтируется с применением квот, потом командой quotacheck создали квоты, а затем указали ограничения edquota . Но до сих пор квоты не включены, квоты не работают! Для того, чтобы квоты заработали используется команда sudo quotaon /mnt/hard . И как только мы эту команду дали, файлы созданные aquota.group и aquota.user будут отредактированы и квоты заработают.

Чтобы посмотреть, как работают квоты, создадим файл текстовый. Но т.к монтировался раздел из под root, то необходимо сменить владельца папки /mnt/hard/ . Это можно сделать командой chown siadmin:root /mnt/hard . И теперь спокойно можно создать файл touch test.txt . Теперь добавим в файл информацию несколько слов. edquota – u siadmin выполняем и видим, что число блоков изменилось. Добавим еще информации, еще раз поменяется количество блоков. Создадим еще один файл – изменится число inodes . Далее простым копирование увеличиваем количество файлов, пока не сработает квота.

Сработала квота

Соответственно мы одновременно можем использовать квоты и по размеру, и по inodes . Очень важный момент. Поднимаемся в корневую папку / . Команда sudo repqouta /mnt/hard покажет отчет по квотам.

sudo repqouta /mnt/hard

Есть еще интересная команда — man warnquota .

man warnquota

Команда отправляет e-mail при превышении квоты. Но для этого необходимо настроить почтовый smtp сервер, который будет отправлять почту.

Источник

Оцените статью
Adblock
detector