The OpenNET Project / Index page

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

Ограничение дискового пространства в Linux (linux quota limit)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: linux, quota, limit,  (найти похожие документы)
From: Соколов Роман <romanso@rt.mipt.ru.> Date: Mon, 20 Sep 2004 18:21:07 +0000 (UTC) Subject: Ограничение дискового пространства в Linux Оригинал: http://www.rt.mipt.ru/~romanso/diskquota.html Disk Quota - ограничение дискового пространства пользователям Введение. В большинстве компьютерных систем, дисковое пространство не бесконечно. Система квотирования - diskquota обеспечивает механизм для управления используемым дисковым пространством. Ограничения могут быть установлены для каждого пользователя в отдельности, для любой или для всех файловых систем. Система ограничений (quota) будет предупреждать пользователей когда они превысят свой дозволенный лимит, но будет позволять использовать некоторое дополнительное пространство для текущей работы. Система ограничений (quota system) является частью ядра Linux , и для использования должна быть включена в ядре при конфигурировании ядра. Этот документ будет описывать как пользователи могут использовать систему ограничений и как система ограничений (quota system) может быть настроена системным администратором. * Доступны два типа ограничений, которые могут быть наложены на пользователя, обычно если используется одно из ограничений то и второе тоже будет использоваться. Ограничение может быть установлено как на все дисковое пространство пользователя, которое используется этим пользователем так и на число inodes, которыми он может владеть, и которое определяет максимальное количество файлов, которое пользователь может создать. Quota обеспечивает информацию на ограничения , которые были установлены системным администратором, на каждую из областей, которые используются в данный момент. Ограничения по inodes и block накладываются как на uid (идентификатор пользователя) так и на gid (идентификатор группы) - userquota & grpquota. Так если вы входите в группу пользователей, которая превысила , наложенное на нее ограничение ,то вы не сможете использовать дисковое пространство даже если вы все еще не превысили личную квоту. Существуют четыре числа для каждого ограничения: 1. Используемое в данное время ограничение; 2. "мягкое" ограничение (softlimit); 3. "жесткое" ограничение (hardlimit); 4. промежуток времени , после истечения которого"мягкое" ограничение интерпретируется как "жесткое"; "Мягкое" ограничение определяет число блоков размером 1Кбайт, после которого пользователь будет предупреждаться о превышении квоты. "Жесткое" ограничение не может быть превышено ни каким образом. Если пользователь пытается превысить данное число , то он получает сообщение о невозможности сделать это. Этапы настройки disk quota: 1. Все операции настройки системы квотирования проводятся администратором (суперпользователем) root. В ядро (kernel) должна быть включена поддержка quota. Войдите как администратор root и проверьте это: root:~% cd /usr/src/linux root:/usr/src/linux% make menuconfig далее, проверяем в пункте меню "File systems" 2. Необходимо решить для каких файловых систем будет применена квота - для этого надо некоторые внести изменения в файл /etc/fstab - добавить usrquota в опции монтирования выбранной файловой системы (ВАЖНО: на момент датирования документа квотирование работает для файловых систем: ext2, ext3, xfs - для ядер версий 2.4, 2.5) root:~% cat /etc/fstab /dev/hda1 swap swap defaults 0 0 /dev/hda2 / ext2 defaults 0 1 /dev/hda3 /home ext2 defaults,usrquota 0 1 /dev/fd0 /floppy ext2 noauto 0 0 /dev/fd0 /a vfat noauto 0 0 /dev/hdd /cdrom iso9660 ro,noauto 0 0 none /proc proc defaults 0 0 root:~% _ командой: root:/home% mcedit /etc/fstab 3. Затем необходимо суперпользователем выполнить: root:/home% touch quota.user Эта команда создаст новый (пустой) файл в директории /home куда и будут сохраняться устанавливаемые ограничения для пользователей (users). Имя файла базы данных квот - quota.user - уникально - менять нельзя! Местоположение - в "корне" квотируемой файловой системы. 4. Пустой файл базы данных квотирования - quota.user необходимо заполнить - для этого просто выполним программу проверки базы данных квотирования: root:/home% repquota -avug [-m] 5. Ядро должно перечитать измененный файл /etc/fstab и изменить форму монтирования квотируемой файловой системы, для этого не нужно делать перезагрузку компьютера, а нужно перемонтировать квотируемую файловую систему root:~% umount /dev/hda1 (или, то же самое - umount /home) root:~% mount -a или root:~% mount /dev/hda1 /home -o remount Если этого не происходит - необходимо остановить пользовательские процессы, занимающие файловую систему. Можно увидеть их имена с помощью команды: root:/home% lsof | grep /home А останавливать можно с помощью команд: root:/home% killall -9 [PROCESS NAME] 6. Далее необходимо отредактировать пользовательские квоты - ввести сами ограничения. Редактор по умолчанию vi - многим он не нравится, поэтому можно изменить переменную среды командного процессора EDITOR под более удобный редактор - например, mcedit: root:~% EDITOR=mcedit root:~% export EDITOR или root:~% export EDITOR=mcedit После этого следующей командой откроется файл записей квоты (база данных квот) для редактирования ограничений для пользователя test: root:~%edquota -u test Появится запись в редакторе похожего типа: Quotas for user test: /dev/hda6: blocks in use: 419, limits (soft = 0, hard = 0) inodes in use: 58, limits (soft = 0, hard = 0) Редактировать необходимо только значения после слов soft и hard. Параметр Soft - это мягкое ограничение, а hard - жесткое. Они измеряются в блоках, то есть сколько блоков может использовать пользователь. Строка "blocks in use:" определяет сколько мегабайт УЖЕ использовал пользователь на диске, а строка "inodes in use:" сколько дескрипторов файлов (не самих файлов!) сейчас занимает пользователь. Quotas for user test: /dev/hda6: blocks in use: 419, limits (soft = 50000, hard = 10000) inodes in use: 58, limits (soft = 20000, hard = 40000) 50000 блоков - это примерно 5Мб (5120000 байт) 7. Следующим шагом включается использование квоты root:~% quotaon -va 8. Затем необходимо запустить программу проверки квоты: root:~% quotacheck -va [-m] 9. Теперь посмотрим что получилось командой распечатки всех квот: root:~% repquota -va 10. Входим контрольным пользователем test и пробуем копировать каталог общей документации (большой) /usr/doc в домашнюю директорию пользователя test. test:~% cp -r /usr/doc .

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

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

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




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

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