Вопрос или проблема
Существует ли максимальное количество точек зам mounting, с которыми может справляться Linux? Есть ли различия между дистрибутивами?
По умолчанию вы не можете иметь более 100 000 монтирований.
Этот лимит был введен в Linux 4.9.
mnt: Добавить лимит на количество монтирований для каждого пространства имен монтирования
[…]
Для тех, кто нуждается в более высоком лимите, его можно изменить, записав в новый
/proc/sys/fs/mount-max
sysctl.
Если вы случайно создали тысячи и тысячи монтирований, я думаю, что их размонтирование может занять очень много времени.
Соответствующий CVE говорит о том, что когда у вас слишком много монтирований, определенные операции могут “вызвать взаимоблокировку всей системы.” Также упоминалось использование памяти как проблема.
Linux может справляться с тысячами монтирований, на самом деле я видел 12000 одновременных автоматических монтирований на SL7.3 (основан на centos). Однако дело становится очень медленным для пользователей, поскольку приложения пытаются обработать эти монтирования и размонтирования. SL7.4 может начать выбрасывать пользователей из xdm.
Большинство дистрибутивов должны быть одинаковыми, потому что все они работают на одном и том же ядре. Я не знаю о конкретном лимите на количество монтирований, но я видел несколько сотен одновременно, что, как мне кажется, приближается к безумию (но это автоматическое монтирование для вас).
Ответ или решение
Вопрос о максимальном количестве точек монтирования файловых систем в Linux является достаточно актуальным и важным для системных администраторов и пользователей, работающих с большим числом устройств хранения данных.
По умолчанию в системах на базе ядра Linux с версии 4.9 существует ограничение на количество монтируемых файловых систем, которое составляет 100,000. Это ограничение было введено для улучшения управляемости системой и предотвращения возможных проблем, таких как взаимные блокировки (deadlocks) и чрезмерное использование памяти.
Если вам необходимо увеличить это значение, вы можете изменить предел, записав новое значение в файл /proc/sys/fs/mount-max
. Это позволяет пользователям адаптировать настройки системы в зависимости от их конкретных нужд и ресурсоемкости приложений. Тем не менее, стоит отметить, что при создании большого числа точек монтирования (например, нескольких тысяч) операции размонтирования могут занять значительное время и негативно сказаться на производительности системы и пользователей.
Некоторые дистрибутивы Linux могут демонстрировать разные характеристики работы с большим числом точек монтирования, но в целом, большинство из них основаны на одном и том же ядре и, следовательно, имеют схожие ограничения. Например, в CentOS 7.3 наблюдались ситуации, когда одновременно монтировались до 12,000 автоматических точек монтирования. Однако, несмотря на возможность обработки такого количества монтирований, пользователи могли заметить значительное замедление работы системы, особенно при выполнении операций, связанных с монтированием и размонтированием.
Также следует учитывать, что при превышении предельных значений может возникнуть риск быстрого исчерпания системных ресурсов, что приведет к сбоям и потенциальным проблемам с доступом к файловым системам. В версиях SL7.4 были случаи, когда превышение лимитов приводило к отключению пользователей от XDM.
Таким образом, ответ на вопрос о максимальном количестве монтируемых файловых систем в Linux сводится к следующему: по умолчанию лимит составляет 100,000 монтирований, с возможностью изменения этого значения через /proc/sys/fs/mount-max
. Однако все дистрибутивы, следуя основному ядру Linux, имеют схожие ограничения и производительность при увеличении количества монтирований может значительно страдать.