На более старом компьютере с Linux, который у меня есть, есть NFS-монтирование NetApp. Как только в одном каталоге в этом ящике будет 100 тыс. Файлов, запись файлов будет невозможна. Кто-нибудь знает, что может быть причиной этого? Мне сказали, что символические ссылки все еще можно писать.
Я буду добавлять более конкретную информацию по мере ее поиска. Пожалуйста, пропустите фразу «лучше использовать структуру файлов / папок и / или базу данных», я знаю ...
Возможно, вы достигли двух пределов.
inodes (маловероятно)
Вы израсходовали все доступные inode для этого тома. Вы можете подтвердить это командами df -i
и maxfiles
.
maxdirsize
(более вероятно)
ONTAP накладывает ограничение на размер каталогов. Размер зависит от метаданных / жестких ссылок, а не от содержимого файла. Это ограничение по умолчанию (при условии> 6.5) до 1% вашей системной RAM. Это делается для того, чтобы большие каталоги не влияли на производительность системы. Поскольку линейное сканирование каталогов требует загрузки структур данных каталогов в память. Краткая информация:
ls -lkd
.maxdirsize
для объема - это немного односторонняя операция.Если нет ни одной из этих проблем, я бы рекомендовал проверить и опубликовать ваши журналы ONTAP.
Система достигает лимита ссылок для каталога, который является фиксированным ограничением файловой системы NetApp ONTAP. Из этой статьи базы знаний:
Начиная с Data ONTAP 6.5, максимальное количество подкаталогов, которое может иметь один каталог, составляет 99998 (100 КБ). Data ONTAP 6.4 и более ранние версии были ограничены подкаталогами 65534 (64 КБ). Этот номер не может быть изменен. Чтобы понять причину этого ограничения, см. Раздел ниже, посвященный жестким ссылкам и реализации подкаталогов.
http://www.unixunderground.com/blog/?cat=11
Немного устарело, но может быть полезно. Я считаю, что количество файлов зависит от количества дисков / узлов.
В более новых версиях NetApp (8.1+) вы можете перезаписать ограничения по умолчанию на том, используя эту команду:
vol options vol_name maxdirsize 150000
Чтобы увидеть текущие настройки, запустите
vol options vol_name
Их нельзя изменить с помощью клиента графического интерфейса.