The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Перевод на русский Quota mini-HOWTO (linux quota fs limit)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: linux, quota, fs, limit,  (найти похожие документы)
From: Иван Песин <ipesin at post.Lviv.UA> Newsgroups: Russian Linux Gazette Date: Mon, 14 Jan 2004 14:31:37 +0000 (UTC) Subject: Перевод на русский Quota mini-HOWTO Оригинал: http://gazette.linux.ru.net/rus/articles/quota_mini-howto.html Quota mini-HOWTO Ralf van Dooren r.vdooren@snow.nl v0.5, 2003-08-09 Перевод на русский: (c) Иван Песин <ipesin at post.Lviv.UA> Этот документ описывает работу с квотами в системе Linux, установку квот для пользователей и групп и использование дополнительных команд управления квотами. Документ предназначен для пользователей, работающих с ядрами 2.x (последняя версия ядра, на котором проверялась работа с квотами -- 2.4.21). Присылайте коментарии и замечания мне, на адрес r.vdooren at snow.nl. Я буду признателен. 1. Что такое квота? * 1.1 Для чего нужны квоты? * 1.2 Текущее состояние системы квотирования на Linux 2. Требования для квот * 2.1 Ядро * 2.2 Программное обеспечение квот 3. Настройка квот: установка и конфигурация * 3.1 Патч ядра * 3.2 Переконфигурируйте ваше ядро * 3.3 Скомпилируйте и установите программное обеспечение квот * 3.4 Измените ваши системные скрипты для проверки и активации квот при загрузке * 3.5 Изменение /etc/fstab * 3.6 Активация системы квотирования * 3.7 Добавление quotacheck в crontab 4. Настройка квотирования: утилиты * 4.1 Назначение квоты отдельному пользователю * 4.2 Назначение квоты отельной группе * 4.3 Назначение одинаковых квот большому количеству пользователей * 4.4 Мягкий лимит * 4.5 Жесткий лимит * 4.6 Период отсрочки 5. Дополнительные команды квотирования * 5.1 Quotacheck * 5.2 Repquota * 5.3 Quotaon and Quotaoff _________________________________________________________________ 1. Что такое квота? 1.1 Для чего нужны квоты? Квотирование позволяет задавать ограничения по двум параметрам дисковых хранилищ: число индексных дескрипторов, которыми может владеть пользователь или группа, и число блоков диска, доступных пользователю или группе. Идея квотирования заключается в ограничении дискового пространства, доступного пользователю. Тем самым пресекается его возможность занять все дисковое пространство системы. Квоты назначаются на основе пользователя и файловой системы. Если имеется более одной файловой системы, доступной пользователю, квотирование должно быть настроено на каждой из них. Для управления и автоматизации работы с квотами существует хороший набор утилит. 1.2 Текущее состояние системы квотирования на Linux В последнее время в реализацию механизма квотирования были внесены значительные изменения. Теперь существуют два разных варианта настройки. Утилиты работают как и раньше, но есть разница в используемых файлах. Данный документ описывает настройку и работу с новым вариантом квотирования. Поскольку этот новый механизм еще не включен в ядро, нам придется его пропатчить. Мы опишем процесс установки патча и пакета linuxquota. Если у вас уже установлено ПО для квотирования, то, быть может, все равно нужно будет установить ПО, а возможно и нет. Можете написать мне, если у вас возникли вопросы. Я постараюсь позже включить в этот документ обзор дистрибутивов Linux с их реализациями квотирования. 2. Требования для квот 2.1 Ядро Исходный код ядер 2.x доступен на сайте http://www.kernel.org. Пожалуйста, для уменьшения трафика пользуйтесь ближайшим к вам зеркалом. Если у вас свежая версия утилиты tar, вы можете загрузить сжатый файл .bz2. Разархивируйте ядро: cd /usr/src tar jxvf /path/to/linux-2.4.21-tar.bz2 - для ядра, сжатого bzip2 - tar zxvf /path/to/linux-2.4.21-tar.gz - для ядра, сжатого gzip - ln -s /usr/src/linux-2.4.21 /usr/src/linux 2.2 Программное обеспечение квот В зависимости от используемого дистрибутива Linux у вас может быть уже установлено ПО квотирования. Программное обеспечение квотирования активно разрабатывается, а свежая версия ПО доступна на SourceForge. Домашняя страница проекта находится по адресу http://www.sourceforge.net/projects/linuxquota 3. Настройка квот: установка и конфигурация 3.1 Патч ядра Загрузите патч ядра : ftp://atrey.karlin.mff.cuni.cz/pub/local/jack/quota/ Выберите версию вашего ядра и загрузите патч. Пропатчте ваше ядро командой 'patch'. Если для вашего ядра есть несколько патчей, обязательно накладывайте их в нужном порядке. Вы можете использовать этот скрипт ( Я полагаю, что загруженные патчи находятся в /tmp/quota/, а ядро разархивировано в каталог /usr/src/linux) : #!/bin/sh gunzip /tmp/quota/*.gz cd /usr/src/linux COUNT=`ls -1 /tmp/quota/*.diff | wc -l` for I in `seq 1 $COUNT` do patch -p1 < /tmp/quota/quota-2.4.21-$I-*.diff done 3.2 Переконфигурируйте ваше ядро Переконфигурируйте ваше ядро и добавьте поддержку квот. С помощью `make menuconfig` или `make xconfig` найдите параметр поддержки квот в меню Filesystems. Можно, при необходимости, указать дополнительные параметры, например поддержку 32-битных UID. Сохраните конфигурацию и скомпилируйте ядро. Убедитесь, что при загрузке будет выбрано новое ядро, поддерживающее квоты. 3.3 Скомпилируйте и установите программное обеспечение квот Для того, чтобы использовать все возможности новой системы квот, вам, вероятно, будет нужно загрузить новый пакет утилит работы с квотами. Его можно загрузить по приведенному выше адресу. После загрузки выполните: $ gzip -dc <downloaded file> | tar xvf $ cd quota-tools (укажите каталог, в котором находятся утилиты) $ ./configure $ make $ su # make install 3.4 Измените ваши системные стартовые скрипты для проверки и активации квот при загрузке Вот пример: # Проверить и активировать квоты. if [ -x /usr/sbin/quotacheck ] then echo "Checking quotas. This may take some time." /usr/sbin/quotacheck -avug echo " Done." fi if [ -x /usr/sbin/quotaon ] then echo "Turning on quota." /usr/sbin/quotaon -avug fi Золотое правило гласит: активируйте квоты после того, как смонтируются все файловые системы из файла /etc/fstab, иначе квоты работать не будут. Я рекомендую включать квоты сразу после монтирования файловых систем в инициализационном скрипте. 3.5 Изменение /etc/fstab Разделы, на которых еще не разрешено квотирование, выглядят примерно так: /dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults 1 1 Для того, чтобы включить поддержку квотирования на файловой системе, добавьте ключ "usrquota" в четвертое поле, содержащее слово"defaults" (за подробностями обращайтесь к man fstab). /dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,usrquota 1 1 Замените ключ "usrquota" на "grpquota", если вам нужна поддержка квот для групп. /dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,grpquota 1 1 Нужна поддержка квотирования пользователей и групп на одной файловой системе? Пожалуйста. /dev/hda1 / ext2 defaults 1 1 /dev/hda2 /usr ext2 defaults,usrquota,grpquota 1 1 3.6 Активация системы квотирования Для активации системы квотирования нужно перезагрузить систему, тогда внесенные изменения вступят в силу. Загрузится ядро с поддержкой квот и выполнятся измененные инициализационные скрипты. При первом запуске quotacheck сгенерирует необходимые файлы для поддержания баз данных квотирования. 3.7 Добавление quotacheck в crontab Полезно регулярно выполнять quotacheck. Например, раз в неделю. Для этого добавьте следующую строку в файл crontab: 0 3 * * 0 /sbin/quotacheck -avug 4. Настройка квотирования: утилиты Эта операция выполняется с помощью команды edquota (за подробной информацией обращайтесь к команде `man edquota`). 4.1 Назначение квоты отдельному пользователю Рассмотрим пример. В моей системе есть пользователь с именем bob. Команда "edquota -u bob" запустит редактор vi (или любой другой, указанный в переменной окружения $EDITOR) для редактирования квот пользователя bob на каждом разделе, для которого разрешено квотирование: Quotas for user bob: /dev/hda3: blocks in use: 2594, limits (soft = 5000, hard = 6500) inodes in use: 356, limits (soft = 1000, hard = 1500) "blocks in use" -- это общее количество блоков (в килобайтах) использованных пользователем на разделе. "inodes in use" -- общее число использованных пользователем на разделе и-нод. 4.2 Назначение квоты отдельной группе Теперь допустим у нас имеется группа games. Команда "edquota -g games" снова откроет нам редактор vi для редактирования квоты для группы games: Quotas for group games: /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000) inodes in use: 1454, limits (soft = 3000, hard = 4000) 4.3 Назначение одинаковых квот большому количеству пользователей Чтобы быстро установить квоты, скажем, для ста пользователей, равные установленной квоте для пользователя bob, я отредактирую вручную информацию bob'а, после чего выполню: edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd` здесь я полагаю, что вы пользуетесь командным интерпретатором csh, а пользовательские UID начинаются со значения 500. В дополнение к edquota существуют три термина, с которыми вам нужно познакомиться: "мягкий лимит", "жесткий лимит" и "период отсрочки" (Soft Limit, Hard Limit, Grace Period). 4.4 Мягкий лимит Мягкий лимит задает максимальное значение использования пространства файловой системы для пользователя. В комбинации с периодом отсрочки работает как граничная черта, за которой пользователь получает предупреждение о превышении своей квоты. 4.5 Жесткий лимит Жесткий лимит работает только при заданном периоде отсрочки. Он задает абсолютный максимум использования пространства файловой системы пользователем. 4.6 Период отсрочки Редактируемый с помощью команды "edquota -t", период отсрочки -- это период времени, после которого мягкий лимит принудительно ограничивает доступное пространство файловой системы для пользователя. Интервал времени можно указывает в секундах, минутах, часах, днях, неделях и месяцах [ sec(onds), min(utes), hour(s), day(s), week(s), month(s) ]. Вот, что вы увидите в результате выполнения команды "edquota -t": Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda2: block grace period: 0 days, file grace period: 0 days Измените часть строки, содержащую "0 days" на любой подходящий вам промежуток времени. Лично я предпочитаю 7 дней (или 1 неделю). 5. Дополнительные команды квотирования 5.1 Quotacheck Quotacheck используется для сканирования файловой системы на предмет ее использования и обновления файла "aquota.user", содержащего данные об использованном пользователями пространстве. Я рекомендую выполнять quotacheck при загрузке и периодически как задание для cron (скажем, каждую неделю?). 5.2 Repquota Repquota генерирует суммарный отчет по квотам на файловой системе. Ниже приведен пример отчета repquota: # repquota -a Block limits File limits User used soft hard grace used soft hard grace root -- 175419 0 0 14679 0 0 bin -- 18000 0 0 735 0 0 uucp -- 729 0 0 23 0 0 man -- 57 0 0 10 0 0 user1 -- 13046 15360 19200 806 1500 2250 user2 -- 2838 5120 6400 377 1000 1500 5.3 Quotaon and Quotaoff Утилита quotaon используется для включения системы квот, тогда как quotaoff для ее отключения. Фактически оба файла подобны. Они выполняются при старте и завершении работы системы. Copyright (c) 2003, Ralf van Dooren

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1.1, fuzk (?), 16:32, 20/01/2004 [ответить]  
  • +/
    написано, как будто именно 'для чайников' - много воды
     
     
  • 2.2, Vasja (??), 20:40, 24/01/2006 [^] [^^] [^^^] [ответить]  
  • +/
    А тебе ни когда не приходило в голову для кого пишут how-to?
    Если в лом морочиться с манами и нада по быстрому понять принцип, вполне достаточно...
     

  • 1.3, anonymous (??), 23:07, 07/03/2007 [ответить]  
  • +/
    >>Для активации системы квотирования нужно перезагрузить систему, тогда
    внесенные изменения вступят в силу

    жесть. Перемонтировать файловую систему.

     
  • 1.4, Аноним (-), 02:45, 12/03/2007 [ответить]  
  • +/
    >жесть. Перемонтировать файловую систему.
    Да, надо сделать вот так:
    mount -o remount,usrquota,grpquota и т.д.
     
     
  • 2.5, Jurgen (??), 22:25, 07/10/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >жесть. Перемонтировать файловую систему.

    автор правильно написал:
    перезагрузиться надо, чтобы загрузилось пропатченное ядро.
    Иначе болт.

     
     
  • 3.6, anonymous (??), 15:48, 10/01/2008 [^] [^^] [^^^] [ответить]  
  • +/
    народ, Вы вообще на дату сообщения смотрели?
    не знаю как там сейчас в 2.4, а в 2.6 квотирование давно присутствует, да и помнится мне в 2.4 с какой-то версии тоже.
     

  • 1.7, PetrischevMV (?), 07:02, 09/07/2010 [ответить]  
  • +/
    Подскажите как призвести квотированеи на разные каталоги в одном разделе??
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру