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