👋🏻 Привет! С вами снова Merion Academy - платформа доступного IT образования. Сегодня мы поговорим про управление квотами дисков в Linux. Гоу.
Тема статьи небольшая, но информация данная необходима для понимания ограничений на дисках в операционной системе Linux. В данной статье рассмотрим:
- Установка квоты
- Редактирование квоты
- Просмотр отчетов по квотам
Квоты – это ограничения, налагаемые системным администратором на использование дискового пространства в операционных системах. Они позволяют гибко управлять ограниченным ресурсом для сервера свободным местом на жестком диске. Квоты можно устанавливать, как на отдельных пользователей, так и на группы пользователей. Для конфигурации и управления квотами используются следующие команды:
- quotaon – включение квоты
- quotaoff – выключение квоты
- edquota – редактирование квоты
- repquota - отчет по квотам
У Windows Server, конечно намного богаче инструментарий по работе с квотами. Для этого выделена целый File Server Resource Manager, но в данной статье мы посмотрим, как это работает в Linux системах на примере Ubuntu Server.
У меня есть смонтированый раздел /dev/sdc1 в папку /mnt/hard .
Для того, чтобы работать с квотами, необходимо поставить пакет apt-get install quota .
Для того, чтобы использовать квоты, нам необходимо добавить монтирование данного раздела в файл /etc/fstab . Добавляем следующую строчку:
/ dev / sdc1 / mnt / hard auto rw , user , auto , usrquota , grpquota 0 0
Где, раздел, куда монтируем, автоопределение файловой системы, раздел для записи, разрешаем монтирование пользователям, раздел будет монтироваться автоматически при старте системы и включаем пользовательскую квоту и групповую.
Строка будет выглядеть как на картинке. Сохраняем и перезагружаем.
Для начала выключаем все квоты, если они когда-нибудь ставились, для чистоты настройки quotaoff /mnt/hard . Следующая команда quotacheck – которая создаст квоту для пользователей и групп, у нее большой функционал, но мы ее используем именно в таком ключе. Квоту мы можем создать только полностью на примонтированный раздел – это связанно с файловой системой ext4 . Существуют и другие файловые системы, в которых мы можем ставить квоты на папки и работать более гибко, например xfs . quotacheck –cug /mnt/hard . В данном случае мы квоту ставим полностью на раздел, который смонтирован в /mnt/hard .
И как видим команда создала 2 файла aquota.group и aquota.user . Это файлы с настройками квот.
Это двоичные файлы и при попытке их посмотреть, например, cat aquota.user мы увидим, нечто не читаемое. Для редактирования данных фалов настройки текстовый редактор не подойдет, и мы будем использовать отдельную команду edquota – u siadmin . Т.е команда -u указывает, что мы редактируем для пользователя и далее указывается непосредственно пользователь.
Вот так выглядит редактирование.
Мы видим, что здесь есть blocks – число 1К блоки, soft – мягкая квота, это квота, которую пользователь может превысить, но не более чем на неделю, hard – жесткая квота, это квота которую пользователь не сможет превысить вообще. Получается так, если пользователь siadmin поставит soft 10 и hard 30 , и запишу файлик в 15КБ, то неделю моя квота терпит, а через неделю система скажет, что квота превышена и будет требовать очистки. Если создать сразу файл 40 КБ, то квота скажет, что нету места на жестком диске. Так же можно поставить квоту на inodes , т.е на уникальные идентификаторы файлов, каждому файлу присваивается уникальный идентификатор, следовательно, пользователь не может превысить их количество по квоте. Когда мы выполняем команду edquota, то для открытия открывается редактор, установленный по умолчанию. В данном случае редактор nano . Как было уже написано мягкая квота устанавливается на неделю и после чего начинает блокировать, если мы не уменьшили размер файлов или не уменьшили их количество, смотря какая квота была выставлена. Мы можем данный параметр изменить, выполнив sudo edquota –t .
Думаю, открытый файл на редактирование, тут все интуитивно понятно. Меняем и сохраняем.
Мы в файле /etc/fstab указали, что файловая система монтируется с применением квот, потом командой quotacheck создали квоты, а затем указали ограничения edquota . Но до сих пор квоты не включены, квоты не работают! Для того, чтобы квоты заработали используется команда sudo quotaon /mnt/hard . И как только мы эту команду дали, файлы созданные aquota.group и aquota.user будут отредактированы и квоты заработают.
Чтобы посмотреть, как работают квоты, создадим файл текстовый. Но т.к монтировался раздел из под root, то необходимо сменить владельца папки /mnt/hard/ . Это можно сделать командой chown siadmin:root /mnt/hard . И теперь спокойно можно создать файл touch test.txt . Теперь добавим в файл информацию несколько слов. edquota – u siadmin выполняем и видим, что число блоков изменилось. Добавим еще информации, еще раз поменяется количество блоков. Создадим еще один файл – изменится число inodes . Далее простым копирование увеличиваем количество файлов, пока не сработает квота.
Соответственно мы одновременно можем использовать квоты и по размеру, и по inodes . Очень важный момент. Поднимаемся в корневую папку / . Команда sudo repqouta /mnt/hard покажет отчет по квотам.
Есть еще интересная команда - man warnquota .
Команда отправляет e-mail при превышении квоты. Но для этого необходимо настроить почтовый smtp сервер, который будет отправлять почту.
--
До встречи на нашей образовательной платформе.
Merion Academy - платформа доступного IT образования.