- Linux ограничение количество файлов папке
- Настройка дисковых квот в Linux
- Установка пакета quota
- Настройка раздела
- Корневая директория (/) + XFS
- Включение квот
- Ext и другие
- Установка квот
- Квоты пользователей
- Квоты для групп
- Копирование квот
- Настройка периода отсрочки
- Просмотр и проверка квот
- Отчет по квотам
- Проверка
- Другие квоты
- Квота на директорию
- Квоты в samba
- Квоты в vsftpd
Linux ограничение количество файлов папке
Hi all.
Попытался найти через Google, но безуспешно.
Вопрос простой:
Какое максимальное количество файлов может быть в одной директории на ext3 для ядер
2.4.32 и 2.6.19 соответственно? Если есть лимит – можно ли его как-то менять, где и как ?
Google говорит что есть ограничение на количество директорий внутри одной директории — 32768. Про ограничение на количество файлов внутри одной директории ничего не нашёл (в одном месте как-то путано было описано, что вроде unlimited, но есть ограничение файлов на партицию).
Есть задача хранить 200 – 300 тысяч файлов, и всем было бы удобнее, если бы файлы были внутри одной директории.
Оглавление |
|
Сообщения по теме | [Сортировка по времени, UBB] |
1. «Ограничение файлов в директории Linux.» | |
Сообщение от Nimdar | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
2. «Ограничение файлов в директории Linux.» | |
Сообщение от Messing | |
ну если человек говорит что так было бы удобней значит он знает что говорит. | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
3. «Ограничение файлов в директории Linux.» | |
Сообщение от GByte | |
Читал и на себе попробовал — вещи разные. вообще с ФС не экспериментировал, но точно можно менять кол-во и-нодов при форматировании. — читайте маны. | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
4. «Ограничение файлов в директории Linux.» | |
Сообщение от GloryS | |
Как правильно сказали читайте маны. )) | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
5. «Ограничение файлов в директории Linux.» | |
Сообщение от simple_rulez | |
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору |
6 . «Ограничение файлов в директории Linux.» | |
Сообщение от demien | |
Только, что столкнулся с аналогичной задачей. Под ext3 решения так и не нашел. Взял винт, создал файловую систему reiserfs, подмонтировал в каталог. Скриптом создал 200 тысяч папок — создались. Создал 200 тысяч файлов — создались. Так, что как вариант попробуй подключить винт, создай файловую систему reiserfs, подмонтируй. И все работает. Источник Настройка дисковых квот в LinuxПошагово разберем процесс установки ограничений на использование дискового пространства в системах Linux. Какой дистрибутив — не важно. Процесс немного различается для файловых систем XFS и EXT4/остальных — мы разберем оба варианта. Установка пакета quotaУстановка пакета для управления квотами выполняется из репозитория. а) для систем на базе RPM (Red Hat, CentOS): yum install quota б) для систем на базе deb (Debian, Ubuntu): apt-get install quota Настройка разделаДля возможности управлять квотами для определенного раздела необходимо его смонтировать с соответствующими опциями. Для файловых систем XFS и не XFS (например, ext) эти опции различаются:
И так, чтобы добавить нужные опции для включения квотирования, откроем файл fstab: Находим настройку для монтирования раздела, на который необходимо установить квоту и добавим нужные опции: /dev/sda / ext4 defaults ,usrquota,grpquota 0 0 * в данном примере мы добавили опции usrquota и grpquota для устройства /dev/sda, примонтированного в качестве корневого раздела / с файловой системой ext. А также опции uquota и gquota для устройства /dev/sdb (монтируется в /var с файловой системой xfs). Если необходимо включить квоту только для пользователей или групп, оставляем соответствующие опции. Перемонтируем наши разделы: mount -o remount / mount -o remount /var Проверим, что нужные нам разделы теперь смонтированы с опциями квотирования: mount | grep quota Мы увидим, примерно, следующее: /dev/sda on / type ext4 (rw,relatime, quota,usrquota,grpquota ,data=ordered) Квоты включены для разделов. Корневая директория (/) + XFSПри попытке включить квоту для корневой директории XFS с помощью файла fstab, результат будет нулевым — в опциях монтирования мы будем наблюдать noquota, например: /dev/sda on / type xfs (rw,relatime,attr2,inode64, noquota ) Для включения опции квотирования необходимо отредактировать загрузчик. Для этого открываем файл: Находим строку GRUB_CMDLINE_LINUX и дописываем в нее rootflags=uquota,gquota — в моем случае получилось так: . На всякий случай, сохраним конфигурационный файл загрузчика: cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup . и применим настройки grub: grub2-mkconfig -o /boot/grub2/grub.cfg После перезагрузки мы должны наблюдать такую картину: mount | grep quota /dev/mapper/vg-root on / type xfs (rw,relatime,attr2,inode64, usrquota,grpquota ) Квоты включены для корневого раздела с файловой системой XFS. Включение квотИ так, мы разрешили квоты для разделов. Теперь включаем квоты. Процессы для XFS и остальных файловых систем немного различаются. Мы рассмотрим оба варианта. Так как в нашем примере есть разделы для XFS и Ext, то мы выполним все варианты настроек. После монтирования раздела с файловой системой XFS автоматически включается квотирование (если была задана соответствующая опция). Проверить состояние можно, войдя в режим экспертного управления квотами: . и выполнив команду для получения статуса: Ext и другиеВыполним проверку наличия служебных файлов aquota.user и aquota.group — если их нет, команда их создаст автоматически: . при наличии разделов с включенной квотой на XFS мы можем увидеть: quotacheck: Skipping /dev/sdb [/var] * это нам говорит о том, что команда quotacheck пропускаем раздел с xfs. Включаем квоту для разделов: Установка квотПришло время задать квоты. Они устанавливаются с помощью команды edquota. Квоты пользователейДля пользователя, вводим команду: edquota -u dmosk * где dmosk — имя пользователя, для которого будет задана квота. В открывшемся редакторе можно задать ограничение на использование разделов, для которых включена квота: Disk quotas for user dmosk (uid 1001):
* в данном примере мы задали жесткую квоту для пользователя dmosk в 10 Мб на /dev/sda (корневой раздел) и 20 Мб на /dev/sdb (/var). Квоты для группДля группы, задаем квоту так: Как и в случае с пользователем, откроется редактор, с помощью которого можно задать квоту: Disk quotas for group mail (gid 12): * в данном примере мы зададим квоту для группы в 30 Мб на /dev/sda (корневой раздел) и 40 Мб на /dev/sdb (/var). Копирование квотМы также можем копировать квоты для пользователей. Для этого используется та же команда edquota с ключом -p: edquota -p dmosk ivanov * в данном примере мы скопируем настройку квотирования, которая применяется к dmosk на другого пользователя ivanov. Настройка периода отсрочкиКак было упомянуто выше, мягкие ссылки являются мягкими только в течение периода отсрочки. Данный период по умолчанию равен 7 дням. Его можно задать командой edquota с ключом -t: В открывшемся окне задаем новые значения: Grace period before enforcing soft limits for users: * в данном примере мы задали 8 дней для квот на дисковое пространство и 9 дней — на количество файлов. Просмотр и проверка квотОграничения настроены. Проверим. Отчет по квотамЧтобы посмотреть отчет об используемом пространстве и установленных квотах, вводим команду: * для отчета корневого раздела только по пользовательским (u) квотам в режиме удобного чтения (s). * для отчета по разделу /var для групп. Мы увидим что-то на подобие: *** Report for user quotas on device /dev/sda * как видим, это отчет по использованию раздела /. Мы видим, каким пользователем сколько занято дискового пространства и видим, что для нашего пользователя dmosk установлена квота в 10 Мб (10240 Кб). ПроверкаИ так, мы настроили для пользователя dmosk ограничение на использование дискового пространства. Попробуем превысить данный лимит. Заходим в консоль под нужным пользователем: dd if=/dev/zero of=/tmp/tmp_dmosk_file bs=1024000 count=100 * команда должна создать файл на 100 Мб в каталоге tmp. Однако, система вернет сообщение: dd: ошибка записи «/tmp/tmp_dmosk_file»: Превышена дисковая квота Другие квотыИногда, необходимо установить квоту в рамках определенной программы или каталога. Однако, квоты так не работают и нет возможности задать их для определенного каталога или программы. Но это не означает, что выхода нет. Квота на директориюЧаще всего, нет необходимости задавать квоту на всю систему — нужно только ограничение размера директории. В данной ситуации нам нужно примонтировать диск к нужной директории и задать квоту на примонтированный раздел. Квоты в sambaКак правило, речь в контексте samba идет о ограничения на использование шары. Для этого необходимо каждую шару поместить на отдельный раздел, каждый со своей квотой. Также в файловом сервере samba есть возможность настройки квотирования на уровне программного обеспечения. В конфигурационном файле при настройке шары добавим: [share] * в данном примере мы задаем квоту на каталог share. Данная квота должна быть такой же, как у системного пользователя с uid 1022. Таким образом, системные квоты должны быть настроены. Для samba есть также параметр max disk size, который не является ограничением, а просто показывает для других программ максимальный объем доступного пространства. Квоты в vsftpdНастраивая vsftpd, мы также должны позаботиться о том, чтобы каталоги с FTP были на разделах с установленными квотами. Другими словами — вопрос также решается с применением пакета quota. Источник |