Настройка NFS v4.2

Вопрос или проблема

https://www.youtube.com/watch?v=JXASmxGrHvY

в 5:30 делается заявление

если настроить NFS правильно, он невероятно быстр для ультра малых передаче файлов*…

в 6:05

Я слышал о 4.0 ГБ/с при последовательном чтении… но у вас должно быть все оборудование настроено правильно.

Что, где и как мне настроить NFS v4.2 в RHEL-8.10 или новее, чтобы достичь того, что утверждается выше? Это утверждение правда, ведь это видео на YouTube, похоже, было сделано 3 года назад?

Есть ли какая-нибудь хорошая документация по настройке NFS, относящаяся к NFS v4.2 в RHEL 8/9 или аналогах сегодня?

v4.2 – последняя версия NFS, правильно? Есть ли какие-либо предложения о более новой версии NFS на горизонте?

есть ли какие-либо лучшие настройки, чем по умолчанию в /etc/nfs.conf и /etc/nfsmount.conf ?

если я могу назначить вознаграждение за это, я сделаю это –> какова максимальная скорость передачи в ГБ/с, которая должна быть достигнута в RHEL-8.10 или новее, по сети 100 Гбит/с Infiniband, на NFS v4.2 (предполагая RDMA?) и при всех “настроенных” опциях ?? Единственная настройка, о которой я знаю, это использование rdma по Infiniband; если кто-то знает лучше/больше, дайте мне знать.

Я слышал о 4.0 ГБ/с при последовательном чтении… но у вас должно быть все оборудование настроено правильно.

Автор этого видео полагается на неподтвержденные слухи. Так что, игнорируйте любые их утверждения. Если только у них нет опыта в создании такой системы.

Их восторженное “что абсолютно безумно, но дело в том, что вам нужно, чтобы вся инфраструктура была правильной” по сути говорит о том, что они просто открыты в своем неведении. Это как если бы вы увидели, как я говорю о том, что слышал, что можно приготовить действительно вкусный, сочный рождественский обед для шести человек за 20 минут, но нужно правильно организовать всю кухню. Может быть, это правда, а может и нет, но было бы довольно очевидно, что я не повар.

Что безумного в том, чтобы прокачать 4 ГБ/с по проводу? Конечно, вам нужна система хранения, которая может читать так быстро, но особенно с учетом того, что уже есть буферизация на уровне блочного устройства, это не кажется экстремальным. Конечно, вам нужна сеть, которая может делать 32 Гбит/с, но с учетом того, что сетевое оборудование обычно имеет QSFP+28 / 100 Гбит/с (и мы не говорим о вашем домашнем компьютере, если мы говорим о …, хм, это звучит точно так, как эти устройства созданы для производства).

Что, где и как мне настроить NFS v4.2 в RHEL-8.10 или новее, чтобы достичь того, что утверждается выше? Это утверждение правда, ведь это видео на YouTube, похоже, было сделано 3 года назад?

У вас есть NIC > 40 Гбит/с? У вас есть хранилище, которое достаточно быстро? Если нет, никакая программная настройка не поможет вам.

Если да, вы начнете с конфигурации по умолчанию, затем определите узкие места, а затем устраните их. Очевидно, если бы был единственный способ сделать вашу систему быстрой без недостатков, то настройка по умолчанию и была бы такой.

Так что, нет универсального рецепта. Просто действительно понимать, чем заняты ваше аппаратное и программное обеспечение, а затем оптимизация на основе фактического профилирования.

Скорее всего, вам потребуется оптимизированное оборудование для этого. Интеграция в системы хранения является одним из способов, которыми компании, такие как Mellanox (теперь: Nvidia), продают свои сетевые карты. В общем, я думаю, что вы подходите к этому с ожиданием “какие параметры конфигурационного файла я должен изменить”, тогда как на самом деле это, вероятно, гораздо более архитектурно, например, “какой тип мультипутевого сервера хранения я должен купить и как мне построить сеть к клиентам, чтобы это было возможно?”.

v4.2 – последняя версия NFS, правильно?

да. Но обратите внимание, что есть необязательные функции, и ни одна реализация NFS не будет иметь их все.

Есть ли какие-либо предложения о более новой версии NFS на горизонте?

Да, NFS все еще является развивающимся протоколом, с оптимизациями для центров обработки данных (лучшая интеграция RoCE/RDMA, лучшее кеширование, лучшее согласование во всех аспектах, очереди, безопасность, обработка потерь пакетов, поддержка мультипутевого соединения…) — это то, на что давят компании и операторы. Я не имею отношения к передовым разработкам NFS, но для кого-то на старом RHEL это не имеет значения. Вы бы начали с обновления до современной системы, прежде чем задумываться, будет ли какой-либо будущий стандарт важен для вашей производительности.

Ответ или решение

Тонкая настройка NFS v4.2 на RHEL-8.10 или новее для достижения максимальной производительности

Настройка NFS (Network File System) версии 4.2 в операционной системе RHEL (Red Hat Enterprise Linux) 8.10 и выше может значительно повысить производительность при работе с малыми файлами, а также обеспечить высокую скорость передачи данных вплоть до 4 Гб/с, как упоминается в видео. Давайте рассмотрим ключевые аспекты настройки NFS, чтобы определить, как достичь этих показателей.

Основные уже описанные моменты:

  1. Понимание базовой инфраструктуры:

    • Достигнуть высокой производительности возможно лишь при наличии соответствующего аппаратного обеспечения. Убедитесь, что у вас есть сетевой интерфейс с пропускной способностью не менее 40 Гбит/с и быстрое хранилище данных. Оцените производительность вашего оборудования, включая процессоры, оперативную память и контроллеры хранения. Не существует софта, который мог бы найти узкое место, если ваше оборудование не может справиться с нагрузкой.
  2. Тонкая настройка сервера NFS:

    • Откройте и отредактируйте конфигурационные файлы:
      • /etc/nfs.conf
      • /etc/nfsmount.conf
    • Рассмотрите возможность изменения следующих параметров:
      • vers=4.2: убедитесь, что используете правильно настройку версии протокола.
      • rsize и wsize: настройте максимальный размер блока для чтения и записи. Обычно рекомендуется устанавливать значения 1 Мб для оптимизации производительности передачи данных.
      • tcp: включите использование TCP вместо UDP для улучшения надежности передачи данных.
      • no_subtree_check: отключите проверку подсистем, чтобы увеличить скорость (это уменьшает количество обходов файловой системы, что полезно при работе с многофайловыми структурами).
  3. Использование RDMA:

    • Если ваше оборудование поддерживает RDMA (Remote Direct Memory Access), убедитесь, что оно правильно настроено. Это может значительно снизить задержки и увеличить пропускную способность. Возможные параметры включают rdma в настройках монтирования ваших клиентов NFS.
  4. Мониторинг и анализ производительности:

    • Используйте инструменты для мониторинга производительности, такие как iostat, nfsstat и dstat. Анализируйте полученные данные, чтобы выявить узкие места. Это поможет внести более точно настроечные изменения в ваше оборудование и программное обеспечение.
  5. Документация и ресурсы:

    • Существуют несколько хороших ресурсов для оптимизации NFS на RHEL 8 и 9, включая официальные документы от Red Hat, которые предлагают лучшие практики для настройки NFS и множества других параметров системы.
  6. Будущее версии NFS:

    • NFS 4.2 является последней стабильной версией. Однако в горизонте видны инициативы по улучшению протокола c учетом современных требований, таких как улучшенная интеграция RoCE/RDMA, кэширование, поддержка множества путей и безопасности.

Заключение

Для достижения лучших результатов с NFS v4.2 в RHEL 8.10 важно не только правильно настроить параметры, но и уделить внимание архитектуре всего решения. Внимательное анализирование производительности поможет выявить и устранить узкие места. Фактически, полученные результаты будут зависеть от ваших аппаратных средств и их настроек так же, как и от программного обеспечения.

Если у вас есть более 100 Гбит/с Infiniband и NFS v4.2 с правильно настроенным RDMA, теоретически возможно достичь до 10 Гб/с, но для этого вам потребуется хорошо сбалансированная и оптимально настроенная инфраструктура, учитывающая все вышеописанные рекомендации.

Оцените материал
Добавить комментарий

Капча загружается...