Квотирование дискового пространства

Если в системе работает множество пользователей, то даже при большом объеме накопителей может обнаружиться недостаток дискового пространст- ва, вызванный деятельностью пользователей. Возможный подход к решению данной проблемы заключается в создании специального раздела для катало- гов пользователей. В таком случае, естественно, файлы пользователей не смогут превзойти размер раздела. Однако такое решение создаст иную про- блему — одни пользователи будут фактически лишать других пользователей дискового пространства.

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

Для установки системы квотирования, прежде всего, необходимо проверить, установлен ли пакет quota. В системах, использующих в качестве менеджера пакетов RPM, это можно сделать с помощью команды rpm -q quota. Эта ко- манда должна вывести полное имя пакета с его версией (пример 17.19).

 

Пример 17.19. Проверка наличия пакета quota

 

$ rpm -q quota quota-3.17-3.1


 

Помимо наличия пакета quota, который позволяет проверять объем дисковых ресурсов, занимаемых пользователем, в системе должно быть установлено ядро с поддержкой квоты. Поддержка квоты включается в разделе конфигу- рирования файловых систем при настройке ядра перед его сборкой.

Процесс создания квот состоит из трех шагов:

1. Определение файловых систем, ресурсы которых будут квотированы.

2. Создание базы данных квот для каждой квотируемой файловой системы.

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

Фактически определение квотируемых файловых систем заключается в их монтировании с опциями:

r usrquota — для установки индивидуальных пользовательских квот;

r grpquota — для установки квот для групп пользователей.

Эти опции могут быть установлены вместе или по отдельности в зависимости от требований, предъявляемых к системе. Команда монтирования допускает эти опции, но игнорирует их, т. к. они предназначены для программного обеспечения квотирования. Поддержка квот включается при монтировании файловых систем, поэтому опции usrquota и grpquota указывают в файле

/etc/fstab.

 

Пример 17.20. Установка опции монтирования usrquota

 

/dev/sda6 /home ext3 defaults,noatime,usrquota 1 2

 

В примере 17.20 каталог /home является точкой монтирования для файловой системы /dev/sda6, для которой будут установлены пользовательские квоты.

После внесения изменений в файл /etc/fstab квотируемая файловая система должна быть перемонтирована для того, чтобы опции квотирования вступили в силу. Для проверки правильности монтирования следует выполнить коман- ду mount без каких-либо аргументов. В списке смонтированных файловых систем эта команда должна отобразить опции квотирования для файловых систем.

 

Пример 17.21. Проверка опций монтирования для поддержки квоты

 

$ mount

...

/dev/hda6 on /home type ext3 (rw,noatime,usrquota)


 

В примере 17.21 приведен фрагмент вывода команды mount, который подтвер- ждает, что файловая система, смонтированная в каталоге /home, подлежит кво- тированию, т. к. при ее монтировании была использована опция usrquota.

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

r aquota.user — для пользовательских квот;

r aquota.group — для квот групп пользователей.

Файлы базы данных квот должны располагаться в каталогах — точках мон- тирования квотируемых файловых систем. Если квотируется файловая сис- тема, смонтированная в каталоге /home, то файлы базы данных квотирования должны находиться в нем.

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

r -c — создать новую базу данных квот. При использовании этой опции пре- дыдущие настройки квот для пользователей и групп будут уничтожены;

r -m — не перемонтировать файловую систему в режиме только для чтения при создании или проверке квот;

r -a — проверить квоты на всех смонтированных с опциями квотирования файловых системах. Если эта опция не используется, то для команды дол- жен быть аргумент, указывающий проверяемую файловую систему;

r -u — проверить только пользовательские квоты;

r -g — проверить только квоты для групп;

r -v — выдавать дополнительную информацию в процессе работы.

Показанная в примере 17.22 команда создает новую базу данных пользова- тельских квот во всех квотируемых файловых системах.

 

Пример 17.22. Создание базы данных квот

 

# quotacheck -caumv

 

После работы этой команды в нашем примере будет создан файл базы дан- ных пользовательских квот для файловой системы /home. В данном случае он называется /home/aquota.user.


 

Далее следует приступить к определению квот для пользователей и/или групп. Квотированию могут подлежать:

r суммарный объем файлов данного пользователя или группы пользова- телей;

r количество inode, т. е. количество файлов, пользователя или группы.

В пакете квотирования используется модель ограничений, в которой указы- вают ограничение, которое не может быть превзойдено (hard quota). Также указывают ограничение, при котором пользователь получает сообщение о превышении квоты, но блокирование записи еще не производится (soft quota). Время, на которое разрешается превышать soft quota, называется grace period. По умолчанию он установлен равным 7 суткам. По истечении этого срока операции записи блокируются. Этот период времени не может быть установлен индивидуально для каждого пользователя — он распространяется на всех.

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

1. Определяется grace period для всех пользователей и групп. Если эта опе- рация не производится, то используется значение по умолчанию.

2. Устанавливаются настройки soft- и hard-квот на объем файлов и их коли- чество (inode) для одного или нескольких пользователей индивидуально. Любой из них может быть использован в качестве образца для установки квот для других пользователей.

3. Используя настройки квот для одного из пользователей как шаблон, про- изводится определение квот для других пользователей.

Продолжительность grace period может быть установлена с помощью команды edquota -t. При вызове этой команды будет запущен текстовый редактор по умолчанию (например, vi), в окне редактирования которого можно будет из- менить текущее значение grace period для количества и объема файлов. Редак- тирование производится во временном файле, причем если работа редактора будет завершена с записью в этот временный файл, то команда edquota считает содержимое временного файла и установит новое значение grace period.

Период времени grace period может быть задан в таких единицах времени:

r seconds — секунды;

r minutes — минуты;

r hours — часы;

r days — дни;


 

r weeks — недели;

r months — месяцы.

После установки grace period можно перейти к установке пользовательских и групповых квот. Пользовательская квота настраивается командой edquota –u.

 

Пример 17.23. Определение квоты для пользователя

 

# edquota -u asimonov

 

В данном случае файловая квота будет установлена для пользователя

asimonov.

Как и при установке grace period, будет вызван редактор по умолчанию, в ок- не редактирования которого можно будет увидеть уже занятый файлами пользователя объем дискового пространства и количество использованных inode. Также будут отображены столбцы для установки новых значений soft- и hard-квот для суммарного объема файлов и количества inode. Именно эти столбцы должны быть отредактированы для установки новых значений. По- сле выхода из редактора с сохранением временного файла он будет считан командой edquota, и будут установлены новые значения квот.

Как только квота установлена для одного из пользователей системы, настройки для него могут быть использованы в качестве шаблона для других пользовате- лей. Для этого предназначена команда edquota -p <шаблон>. Преимуществом этой команды является неинтерактивный режим работы. То есть при вызове этой команды редактор текста не запускается, а настройки для пользователя, используемые как шаблон, будут просто скопированы в базе данных квот для других пользователей, указанных после опции –u (пример 17.24).

 

Пример 17.24. Определение квоты по шаблону

 

# edquota -p asimonov -u bsmirnov akozlov rrumin zkravchenko

 

В этом случае настройки пользовательской квоты для asmirnov будут ис- пользованы как шаблон квот пользователей: bsmirnov, akozlov, rrumin и zkravchenko.

Если требуется установить квоты для групп пользователей, то вместо опции -u команды edquota надо использовать опцию -g, после которой должна быть указана группа пользователей для квотирования.

После определения пользовательских и/или групповых квот необходимо включить программное обеспечение квотирования в ядре. Это достигается


 

с помощью вызова команды quotaon. Если в командной строке не будет за- дана опция -a, включающая квотирование для всех смонтированных с оп- циями квотирования файловых систем, то в качестве аргумента указывают квотируемую файловую систему (пример 17.25).

 

Пример 17.25. Включение квотирования

 

# quotaon -vu /dev/sda6

 

Квотирование файловой системы /dev/sda6. Опция -u включает пользова- тельские квоты, а опция -v выдает сообщение о включении квоты.

Вызов команды quotaon обычно осуществляется автоматически при загрузке операционной системы. Выключить квотирование можно с помощью коман- ды quotaoff. Для нее также необходимо либо указать опцию -a для отклю- чения квотирования всех файловых систем, либо указать квотируемую фай- ловую систему.

Пользователь может получить информацию об ограничениях, установленных квотой для него, с помощью команды quota. Она сообщает об объеме и ко- личестве файлов пользователя. Если пользователь превысит значение soft quota, то ему выдается соответствующее сообщение. С этого момента нач- нется обратный отсчет времени grace period. Как только этот период времени будет исчерпан, или же при попытке превысить hard quota, операции записи будут блокироваться.

Администратор может получать информацию о состоянии пользовательских квот с помощью команды repquota.








Дата добавления: 2015-06-12; просмотров: 1319;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.022 сек.