Простое квотирование директорий в Linux
| Elias137 2009-11-18 17:43:52 |
Необходимость квотирования отдельно взятых директорий в Linux, на мой взгляд, очевидна — зачастую бывает потребность в ограничении объёма пронстранства для хранения чего-либо, которая не основывается на методе определения порогов квоты для пользователей или групп, а на общем объёме самой директории. К счастью, у нас уже имеются под руками все необходимые средства для реализации этой нетривиальной, но подчас очень востребованной задачи предложенным ниже способом.
Предположим, имеется некая группа пользователей, которая использует ресурсы офисного сервера в том числе и для хранения общих файлов для совместной, коллективной работы. Проблема состоит в том, что зачастую, ресурсы общего доступа для хранения рабочих файлов могут использоваться не по назначению, например, для информации частного или даже развлекательного характера, например, видео или аудио файлы, которые как правило имеют большой объём. Если не предпринимать никаких мер, то в скором времени пространство диска на котором хранится информация самого общего ресурса будет исчерпано, что может вызвать ряд определённых неудобств или даже стать причиной отказа функционирования некоторых служб.
Одно из решений этой проблемы заключается в создании образа файловой системы для хранения нужной нам информации и последующего его подключения в точку монтирования. Преимущество данного метода в отличии от LVM или ряда других методов состоит в быстром решении и простоте использования. Давайте убедимся в этом сами:
Для начала, нам нужно создать каталог для точки монтирования нашего образа ФС.
mkdir -p /mnt/quotadir Далее, необходимо создать сам образ файловой системы и указать его объём (count)
dd if=/dev/zero of=/mnt/quota.img bs=1024 count=100000 Следующим щагом произвести «форматирование» файлового образа, создав на нём необходимую нам ФС.
mkfs.ext3 /mnt/quota.img И наконец, подключить созданный нами образ в нужную точку монтирования.
mount -o loop /mnt/quota.img /mnt/quotadir Всё! Более ничего не требуется! Мы осуществили всё, что требовалось.
И, наконец, если имеется необходимость в постоянном монтировании созданного нами образа, это необходимо сделать в файле /etc/fstab
/mnt/quota.img /mnt/quota ext3 loop 1 2 Не смотря на то, что файловая система на которой хранится нужная нам информация заключается а файле-образе, тем не менее, это всё-таки файловая система, над которой мы можем совершать вполне привычные действия, например, такие как:
Увеличение или уменьшение объёма ФС, тем самым изменяя объём самого хранилища
resize2fs -p quota.img 1000M Проверка целостности файловой системе привычным нам способом
e2fsck -f quota.img И многое другое!
|
|
Ключевые слова:квотирование, квота, quota
|
Версия для печати |
Комментарии:
MooSE 2009-11-18 19:30:26 (*)
Кстати удобная тема. всё настолько очевидно и просто. жалко я в своё время до этого не додумался...
[Ответить]
morbo 2009-11-19 08:25:22 (*)
А по-моему отдаёт душком. Ограничишь размер одного каталога, юзер в другом нагадит. Уж лучше ограничить общий объём данных юзера, чем извращаться костылями.
А ограничивать размер каталога можно задав принадлежность каталога группе и ограничив размер файлов для группы. В группу включить только необходимых пользователей.
[Ответить]
Elias137 2009-11-19 08:57:01 (*)
2morbo: Эта задача преимущественно была реализована для людей, использующих ресурсы Samba на сервере в организации для централизованного хранения и работы с файлами.
Кроме того, дефолтное квотирование, как мне думается, подразумевает наличие определенных средств и действий. Например, файловая система на которой производится квотирование должна иметь соответствующие опции.
В общем, не претендую на правильность - предлагаю лишь очередной вариант из десятков других возможных.
[Ответить]
Анонимный посетитель 2009-11-27 12:32:27 (*)
Самое то для фтп спасибо за вариант
[Ответить]
Анонимный посетитель 2009-11-30 13:58:16 (*)
Этот вариант существенно снизит быстродействие. Лучше использовать LVM и монтировать не loopbak-устройство, а логический том LVM.
Кроме большего быстродействия появится дополнительное удобство в добавление места. Для файловой системы XFS добавление места будет выглядеть примерно так:
#lvresive volume_group\logical_volume-home --size +10G #xfg_growfs /home
[Ответить]
Анонимный посетитель 2009-11-30 13:59:57 (*)
#lvresize volume_group\logical_volume-home --size +10G #xfs_growfs /home
[Ответить]
|