Назад | Перейти на главную страницу

Максимальное количество файлов в одном каталоге для монтирования NetApp NFS в Linux

На более старом компьютере с Linux, который у меня есть, есть NFS-монтирование NetApp. Как только в одном каталоге в этом ящике будет 100 тыс. Файлов, запись файлов будет невозможна. Кто-нибудь знает, что может быть причиной этого? Мне сказали, что символические ссылки все еще можно писать.

Я буду добавлять более конкретную информацию по мере ее поиска. Пожалуйста, пропустите фразу «лучше использовать структуру файлов / папок и / или базу данных», я знаю ...

Возможно, вы достигли двух пределов.

  • inodes (маловероятно)

    Вы израсходовали все доступные inode для этого тома. Вы можете подтвердить это командами df -i и maxfiles.

  • maxdirsize (более вероятно)

    ONTAP накладывает ограничение на размер каталогов. Размер зависит от метаданных / жестких ссылок, а не от содержимого файла. Это ограничение по умолчанию (при условии> 6.5) до 1% вашей системной RAM. Это делается для того, чтобы большие каталоги не влияли на производительность системы. Поскольку линейное сканирование каталогов требует загрузки структур данных каталогов в память. Краткая информация:

Если нет ни одной из этих проблем, я бы рекомендовал проверить и опубликовать ваши журналы 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

Их нельзя изменить с помощью клиента графического интерфейса.