Linux Fundamentals, Part 4 / Основы Linux от основателя Gentoo. Часть 4: Filesystem quotas
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Квоты файловой системы Bomber 04.12.11 в 08:46 |
|
|
Квоты - это такая фича Linux, которая позволяет вам следить за использованием диска пользователем или группой. Квоты полезны для предотвращения захвата большей части фаловой системы каким либо одим пользователем или руппой или вобщем от переполнения файловой системы. Квоты могут быть активированны и управляться только пользователем root. В этой части я расскажу как настроить квоты в вашем Linux и управлять ими эффективно. Bomber 04.12.11 в 08:56 |
||
|
Квоты являютсяя функцией файловой системы, по-этому они требуют поддержку со стороны ядра. Первая вещь, которую вам нужно сделать - это проверить, если ли поддержка квот в вашем ядре. Вы можете сделать это используя grep: Bomber 04.12.11 в 08:58 |
||
|
# cd /usr/src/linux Bomber 04.12.11 в 08:58 |
||
|
Ели эта комманда возвращает что-то отличное (такое как CONFIG_QUOTA is not set), тогда вы должны пересобрать ваше ядро с включенной поддержкой квот. Это не сложный процесс, но это выходит за рамки этого раздела руководства. Bomber 04.12.11 в 09:00 |
||
|
До погружения в администрирование квот, пожайлуста учтите, что квоты поддерживаются в Linux с версей ядра 2.4.х не полностью. В этой версии существуют проблемы с квотами на файловых системах ext2 и ext3, а ReiserFS вообще не поддерживает квоты. Это руководство основано на примере XFS, котоая, кажется, должным образом поддерживает квоты. Bomber 04.12.11 в 09:05 |
||
|
Для начала настройки квот в вашей системе, вы должны отредактировать /etc/fstab для монтирования целевой файловой системы с включенными квотами. Например, мы монтируем XFS с квотами для пользователей и групп: Bomber 04.12.11 в 09:07 |
||
|
# grep quota /etc/fstab Bomber 04.12.11 в 09:07 |
||
|
Учтите, что опции usrquota и grpquota не обязательно включать поддержку квот в файловой системе. Вы можете быть увереннымы, что квоты включены, если используете комманду quotaon: Bomber 04.12.11 в 09:09 |
||
|
# quotaon /usr/users Bomber 04.12.11 в 09:10 |
||
|
Соответственно отключить квоты можно командой quotaoff: Bomber 04.12.11 в 09:11 |
||
|
# quotaoff /usr/users Bomber 04.12.11 в 09:11 |
||
|
Но на данный момент, если вы попробуете ввести эти комманды, будьте уверены, что квоты включаться. Bomber 04.12.11 в 09:14 |
||
|
Команда quota отображает использование диска пользователем и лимиты для всех примонтированных файловых систем. Опция -v включит в вывод файловые системы, для которых квоты включены, но не включит в вывод данные квот выделенных для текущего пользователя. Bomber 04.12.11 в 09:18 |
||
|
# quota -v Bomber 04.12.11 в 09:18 |
||
|
Disk quotas for user root (uid 0): Bomber 04.12.11 в 09:18 |
||
|
В колонке blocks показано как много дискового пространство использует root на каждой из перечисленных файловых систем. Следующие колонки quota и limit относятся к ограничению текущего места на диске. Мы объясним разницу между квотами и лимитами и осмыслим значение колонки grace позже. Колонка files показывает каким количеством файлов пользователь root владеет на указанной файловой системе. Следующие колонки quota и limits относятся к ограничению файлов. Bomber 04.12.11 в 09:26 |
||
|
Любой пользователь может использовать команду quota для просмотра его квот, так же как показано в предыдущем примере. Однако только root может видеть квоты остальных пользователей и групп. Например скажем у нас есть файловая система /dev/hdc1 примонтированная в /usr/users с двумя пользователями: jane и john. Сначала посмотрим использование диска и ограничения jane: Bomber 04.12.11 в 09:29 |
||
|
# quota -v jane Bomber 04.12.11 в 09:29 |
||
|
Disk quotas for user jane (uid 1003): Bomber 04.12.11 в 09:29 |
||
|
В этом примере мы видим, что квоты jane раны нулю, что значит для нее нет ограничений. Bomber 04.12.11 в 09:31 |
||
|
Теперь, скажем, мы хотим пользователю jane задать квоту. Мы сделаем это с помощью команды edquota. До начала редактирования квот, давайте посмотри как много места у нас доступно в /usr/users: Bomber 04.12.11 в 09:32 |
||
|
# df /usr/users Bomber 04.12.11 в 09:32 |
||
|
Filesystem 1k-blocks Used Available Use% Mounted on Bomber 04.12.11 в 09:33 |
||
|
Это не очень большая фаловая система, доступно только около 600Мб. Кажется разумным определить квоты для jane, чтобы она не смогла превысить разумные пределы. Когда мы запустим edquota временный файл создастся для каждого пользователя или группы, указанной в качестве аргумента. Bomber 04.12.11 в 09:37 |
||
|
Команда edquota откроет редактор, в котором вы сможете включить и/или изменить квоты в этом временном файле. Bomber 04.12.11 в 09:38 |
||
|
# edquota jane Bomber 04.12.11 в 09:38 |
||
|
Disk quotas for user jane (uid 1003): Bomber 04.12.11 в 09:38 |
||
|
Данный вывод похож на вывод команды quota данный выше, столбцы blocks и inodes во временном файле относятся к дисковому пространству и числу файлов, исользуемых jane. Вы не можете изменить число блоков или инодов, любые попытки сделать это будут просто отклонены системой. Колонки soft и hard показывают квоты jane, который, как мы видим, на данный момент неограничены (напомню: 0 обозначает, что квот нету). Bomber 04.12.11 в 09:45 |
||
|
Мягкое (soft) ограничение - это максимальное количество используемого дикового пространства, которое jane выделено в ее файловой системе (другими словами - ее квота). Если jane использует больше дискового пространства, чем ей выделено в "soft limit", она будет предупреждена о превышении квоты по e-mail. Жесткое (hard) ограничение показывает аблосютное ограничение на использование дискового пространства, которое пользователь не сможет превысить. Если jane попытается использовать большее дискового пространства, чем указано в "hard limits", то она получит ошибку"Disk quota exceeded" ("Дисковая квота превышена") и не сможет авершить действие. Bomber 04.12.11 в 09:52 |
||
|
Так, мы изменили мягкое и жесткое ограничения jane и сохранили файл: Bomber 04.12.11 в 09:53 |
||
|
Disk quotas for user jane (uid 1003): Bomber 04.12.11 в 09:53 |
||
|
Запустив команду quota, мы сможет проверить наши изменения: Bomber 04.12.11 в 09:54 |
||
|
# quota jane Bomber 04.12.11 в 09:54 |
||
|
Disk quotas for user jane (uid 1003): Bomber 04.12.11 в 09:54 |
||
|
Копирование квот Bomber 04.12.11 в 09:54 |
||
|
Как мы помним, у нас есть другой пользователь в системе - john. Если мы хотим применить к нему те же квоты, чтои к jane, то мы можем использовать опцию -p команды edquota, используя квоты jane как прототип для следующих пользователей. Это простой путь для настройки квот для групп и пользователей. Bomber 04.12.11 в 09:57 |
||
|
# edquota -p jane john Bomber 04.12.11 в 09:57 |
||
|
Disk quotas for user john (uid 1003): Filesystem blocks quota limit grace files quota limit grace Bomber 04.12.11 в 09:57 |
||
|
/dev/hdc1 0 10000 11500 1 2000 2500 Bomber 04.12.11 в 09:57 |
||
|
Групповые ограничения Bomber 04.12.11 в 09:59 |
||
|
# edquota -g users Bomber 04.12.11 в 09:59 |
||
|
И посмотрим на изменения квот для группы users: Bomber 04.12.11 в 10:00 |
||
|
# quota -g users Bomber 04.12.11 в 10:01 |
||
|
Команда repquota Bomber 04.12.11 в 10:01 |
||
|
Осмотр квоты всех польователей используя команду quota может быть весьма утомительным, если у вас много польователей в файловой системе. Команда repquota представляет суммарную информацию по квотам файловой системы в понятном виде. Например посмотрим квоты всех пользователей и групп в /usr/users: Bomber 04.12.11 в 10:05 |
||
|
# repquota -ug /usr/users Bomber 04.12.11 в 10:05 |
||
|
*** Report for group quotas on device /dev/hdc1 Bomber 04.12.11 в 10:05 |
||
|
Аргументы команды repquota Bomber 04.12.11 в 10:05 |
||
|
Для repquota есть пара опций, которые следует отметить. repquota -a выведет все текущие примонтирование на чтение и запись файловые систем, для которых активны квоты. repquota -n не будет преобразовывать uids и gids в имена. Это может ускорить вывод большого списка. Bomber 04.12.11 в 10:10 Для repquota есть пара опций, которые следует отметить. repquota -a выведет все текущие примонтирование на чтение и запись файловые систем, для которых активны квоты. repquota -n не будет преобразовывать uids и gids в имена. Это может ускорить вывод большого списка. Bomber 04.12.11 в 10:10 |
