Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure NetApp Files поддерживает шифрование клиента NFS в режимах Kerberos (krb5, krb5i и krb5p) с использованием шифрования AES-256. Эта статья описывает влияние производительности Kerberos на тома NFSv4.1.
Сравнения производительности, упомянутые в этой статье, проводятся относительно параметра безопасности sec=sys, тестируемого на одном томе с одним клиентом.
Доступные параметры безопасности
Доступные на данный момент опции безопасности для томов NFSv4.1 следующие:
- sec=sys использует локальные UIDs и GIDs UNIX с использованием AUTH_SYS для аутентификации операций NFS.
- sec=krb5 используется для проверки подлинности пользователей вместо локальных идентификаторов UNIX UIDs и GIDs, применяя Kerberos V5.
- sec=krb5i использует Kerberos V5 для аутентификации пользователей и выполняет проверку целостности операций NFS с использованием защищённых контрольных сумм для предотвращения подделки данных.
- sec=krb5p использует Kerberos V5 для аутентификации пользователей и проверки целостности. Он шифрует трафик NFS, чтобы предотвратить перехват трафика. Этот вариант является наиболее безопасной настройкой, но он также связан с самым большим снижением производительности.
Проверка векторов производительности
В этом разделе описывается влияние на производительность со стороны клиента различных вариантов sec=*.
- Влияние на производительность было протестировано на двух уровнях: низкая параллельность (низкая нагрузка) и высокая параллельность (верхние пределы на ввод/вывод и пропускную способность).
- Были протестированы три типа рабочих нагрузок:
- Малые операции случайного чтения/записи (с использованием FIO)
- Крупная операция последовательного чтения/записи (с использованием FIO)
- Работы с высокой нагрузкой на метаданные, создаваемые приложениями, такими как git
Ожидаемое влияние на производительность
Есть две области внимания: лёгкая нагрузка и верхний предел. Следующие списки описывают влияние на производительность каждой настройки безопасности и каждого сценария в отдельности.
Область тестирования
- Все сравнения выполняются с параметром безопасности
sec=sys. - Тест был проведен на одном томе с использованием одного клиента.
Влияние на производительность krb5:
- Среднее число I/OPS снизилось на 53%
- Средняя пропускная способность уменьшилась на 53%
- Средняя задержка увеличилась на 0,2 мс
Влияние на производительность krb5i:
- Среднее количество операций ввода-вывода снизилось на 55%
- Средняя пропускная способность уменьшилась на 55%
- Средняя задержка увеличилась на 0,6 мс
Влияние на производительность krb5p:
- Среднее число операций ввода-вывода (I/OPS) снизилось на 77%
- Средняя пропускная способность уменьшилась на 77%
- Средняя задержка увеличилась на 1,6 мс
Проблемы производительности с nconnect
Не рекомендуется использовать параметры монтирования nconnect и sec=krb5* вместе. Использование этих опций вместе может привести к ухудшению производительности.
Стандартный интерфейс программирования приложений Generic Security Standard (GSS-API) предоставляет способ для приложений защищать данные, отправляемые партнерским приложениям. Эти данные могут быть отправлены от клиента на одной машине к серверу на другой машине.
При использовании nconnect в Linux контекст безопасности GSS делится между всеми соединениями nconnect к определённому серверу. TCP — это надежный транспортный протокол, который поддерживает доставку пакетов не по порядку для обработки таких пакетов в потоке GSS, используя скользящее окно номеров последовательностей. Когда пакеты, не входящие в окно последовательности, принимаются, контекст безопасности сбрасывается, и согласовывается новый контекст безопасности. Все сообщения, отправленные в теперь уже отброшенном контексте, больше не действительны, поэтому их требуется отправить заново. Большое количество пакетов в конфигурации nconnect вызывает частые пакеты вне окна, что приводит к описанному поведению. Невозможно указать конкретные проценты ухудшения для этого поведения.