Поделиться через


Подключение файловых ресурсов Azure NFS в Linux

Файловые ресурсы Azure можно подключать в дистрибутивах Linux с использованием протокола SMB или протокола NFS. Эта статья посвящена монтированию с помощью NFS. Дополнительные сведения о подключении общих папок SMB см. в статье "Использование файлов Azure с Linux". Дополнительные сведения о каждом из доступных протоколов см. в статье Протоколы общих файловых ресурсов Azure.

Применяется к

Модель управления Модель выставления счетов Уровень медиа Избыточность малый и средний бизнес Сетевая файловая система (NFS)
Microsoft.Storage Настроенная версия 2 HDD (стандартный) Локальное (LRS) Нет Нет
Microsoft.Storage Настроенная версия 2 HDD (стандартный) Зона (ZRS) Нет Нет
Microsoft.Storage Настроенная версия 2 HDD (стандартный) Джио (GRS) Нет Нет
Microsoft.Storage Настроенная версия 2 HDD (стандартный) GeoZone (GZRS) Нет Нет
Microsoft.Storage Настроенная версия v1 SSD (премиум) Локальное (LRS) Нет Да
Microsoft.Storage Настроенная версия v1 SSD (премиум) Зона (ZRS) Нет Да
Microsoft.Storage Оплата по мере использования HDD (стандартный) Локальное (LRS) Нет Нет
Microsoft.Storage Оплата по мере использования HDD (стандартный) Зона (ZRS) Нет Нет
Microsoft.Storage Оплата по мере использования HDD (стандартный) Джио (GRS) Нет Нет
Microsoft.Storage Оплата по мере использования HDD (стандартный) GeoZone (GZRS) Нет Нет

Поддержка

В настоящее время поддерживается только NFS версии 4.1. Общие папки NFSv4.1 поддерживаются только в типе учетной записи хранения FileStorage (только общие папки SSD).

Общие папки Azure NFS поддерживают большинство функций из спецификации протокола 4.1. Некоторые функции, такие как аутентификация Kerberos, делегирование и вызовы обратных функций всех типов, не поддерживаются.

Доступность в регионах

Общие папки NFS поддерживаются во всех регионах, поддерживающих общие папки SSD. Ознакомьтесь с поддержкой избыточности файлов Azure для общих папок SSD.

Шаг 1. Настройка сетевой безопасности

Доступ к общим папкам NFS можно получить только из доверенных сетей. В настоящее время есть только один способ защитить данные в учетной записи хранения — настроить виртуальную сеть и другие параметры безопасности сети. Любые другие средства, используемые для защиты данных, включая авторизацию ключа учетной записи, безопасность Microsoft Entra и списки управления доступом (ACL), нельзя использовать для авторизации запроса NFSv4.1.

Внимание

Протокол NFSv4.1 выполняется через порт 2049. Если вы подключаетесь из локальной сети, убедитесь, что клиент разрешает исходящий обмен данными через порт 2049. Если вы предоставляете доступ к определенным виртуальным сетям, убедитесь, что все группы безопасности сети, связанные с этими виртуальными сетями, не содержат правил безопасности, которые блокируют входящий обмен данными через порт 2049.

Создание частной конечной точки или конечной точки службы

Чтобы использовать общие папки NFS Azure, необходимо создать частную конечную точку (рекомендуется) или ограничить доступ к общедоступной конечной точке.

Включение гибридного доступа через VPN или ExpressRoute (необязательно)

Чтобы включить гибридный доступ к общей папке Azure NFS, используйте одно из следующих сетевых решений:

Шаг 2: Подключение файлового хранилища Azure NFS

Вы можете подключить общую папку с помощью компонента монтирования AZNFS на портале Azure или использовать собственные команды монтирования NFS в CLI. Вы также можете создать запись в файле /etc/fstab, чтобы автоматически подключать общий ресурс при каждой загрузке сервера Linux или виртуальной машины.

Вы можете использовать nconnect параметр монтирования Linux для повышения производительности общих папок Azure NFS в больших масштабах. Для получения дополнительной информации см. статью «Улучшение производительности общей папки NFS в Azure».

  1. После создания общей папки выберите общую папку и выберите "Подключиться" из Linux.

  2. Введите путь подключения, который вы хотите использовать, а затем скопируйте скрипт и запустите его на клиенте. Портал Azure предлагает пошаговый готовый скрипт установки, адаптированный под выбранный вами дистрибутив Linux, для установки вспомогательного пакета подключения AZNFS и безопасного подключения общей папки с использованием Шифрование в процессе передачи. В скрипт включены только необходимые параметры подключения, но можно добавить другие рекомендуемые параметры подключения.

    Снимок экрана: подключение к общей папке NFS из Linux с помощью предоставленного скрипта подключения.

Теперь необходимо подключить общую папку NFS. Если подключение завершается сбоем, убедитесь, что параметр безопасной передачи включен в учетной записи хранения.

Подключение общей папки NFS с помощью подключения клиента NFS в командной строке

Кроме того, можно подключить общую папку Azure с помощью подключения клиента NFS в командной строке. Перейдите на вкладку ниже для дистрибутива Linux, чтобы просмотреть необходимые команды. Обязательно замените <YourStorageAccountName> и <FileShareName> на ваши данные.

sudo apt-get -y update
sudo apt-get install nfs-common
 
/mount/<YourStorageAccountName>/<FileShareName>
 
sudo mkdir -p /mount/<YourStorageAccountName>/<FileShareName>
sudo mount -t nfs <YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /mount/<YourStorageAccountName>/<FileShareName> -o vers=4,minorversion=1,sec=sys,nconnect=4

Подключение общей папки NFS с помощью /etc/fstab

Если вы хотите, чтобы общий файловый ресурс NFS автоматически подключался при каждой загрузке сервера Linux или виртуальной машины, создайте запись в файле /etc/fstab для общей папки Azure. Запись будет отличаться в зависимости от того, используете ли вы вспомогательный средство подключения AZNFS или собственные команды подключения NFS.

Чтобы определить, установлен ли на клиенте вспомогательный пакет монтирования AZNFS, выполните следующую команду:

systemctl is-active --quiet aznfswatchdog && echo -e "\nAZNFS Mount Helper is installed! \n"

Если пакет установлен, появится сообщение AZNFS Mount Helper is installed! .

Не забудьте заменить <YourStorageAccountName> и <FileShareName> с собственными значениями. Для получения дополнительных сведений выполните команду man fstab в командной строке Linux.

Запись в /etc/fstab должна выглядеть следующим образом, если вы используете вспомогательный модуль подключения AZNFS и хотите подключить общую папку с помощью шифрования во время передачи.

<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev   0 2

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

Подключение с помощью средства монтирования AZNFS без шифрования данных при передаче

Если вы используете вспомогательный модуль подключения AZNFS, но не хотите использовать шифрование при передаче, запись в /etc/fstab должна выглядеть следующим образом:

<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> aznfs defaults,sec=sys,vers=4.1,nolock,proto=tcp,nofail,_netdev,notls   0 2

Подключение с помощью стандартных команд монтирования NFS

Если вы используете встроенный NFS-монтаж без AZNFS, запись в /etc/fstab должна выглядеть следующим образом:

<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0

Параметры подключения

При подключении общих папок Azure NFS рекомендуется использовать следующие параметры подключения.

Опция монтирования Рекомендуемое значение Описание
vers 4 Обязательный. Указывает версию используемого протокола NFS. Azure Files поддерживает только NFSv4.1.
minorversion 1 Обязательный. Указывает минорную версию протокола NFS. Некоторые дистрибутивы Linux не распознают дополнительные версии параметра vers . vers=4.1Вместо этого используйте vers=4,minorversion=1.
sec sys Обязательный. Указывает тип безопасности, используемый при проверке подлинности подключения NFS. Параметр sec=sys использует локальные идентификаторы пользователей UNIX и идентификаторы групп UNIX, которые используют AUTH_SYS для проверки подлинности операций NFS.
rsize 1048576 Рекомендуется. Задает максимальное количество байтов, передаваемых в одной операции чтения NFS. Указание максимального уровня 1048 576 байт обычно приводит к оптимальной производительности.
wsize 1048576 Рекомендуется. Задает максимальное количество байтов, передаваемых в одной операции записи NFS. Указание максимального уровня 1048 576 байт обычно приводит к оптимальной производительности.
noresvport Н/Д Рекомендуется для ядер Linux версии ниже 5.18. Сообщает клиенту NFS использовать непривилегированный исходный порт при взаимодействии с сервером NFS для точки монтирования. Использование параметра монтирования noresvport помогает обеспечить непрерывную доступность вашей общей папки NFS после повторного подключения. Для обеспечения высокой доступности рекомендуется использовать этот параметр.
actimeo от 30 до 60 Рекомендуется. Указание actimeo устанавливает все acregmin, acregmax, acdirmin и acdirmax на одно и то же значение. Использование значения ниже 30 секунд может привести к снижению производительности, так как кэши атрибутов для файлов и каталогов истекают слишком быстро. Рекомендуется задать actimeo от 30 до 60 секунд.
nconnect 4 Рекомендуется. Nconnect повышает производительность с помощью нескольких TCP-подключений между клиентом и общим ресурсом NFS. Рекомендуется настроить параметры подключения с оптимальным параметром nconnect=4. В настоящее время в реализации nconnect для Azure Files нет преимуществ, превышающих четыре канала.
clean Н/Д Подключение, не использующее TLS, может завершиться сбоем, если предыдущее подключение TLS к тому же серверу прекратилось внезапно, оставляя неактуальные записи. Чтобы устранить эту проблему, повторно подключите общую папку, используя параметр clean, который сразу удаляет все устаревшие записи. Это относится только к подключению AZNFS.

Шаг 3. Проверка подключения

Если подключение завершается ошибкой, возможно, что частная конечная точка не настроена правильно или недоступна. Дополнительные сведения о подтверждении подключения см. в разделе "Проверка подключения".

Моментальные снимки файловых ресурсов NFS

Клиенты, использующие файловые ресурсы NFS Azure, могут создавать моментальные снимки. Эта возможность позволяет пользователям откатить все файловые системы или восстановить файлы, которые были случайно удалены или повреждены. См. Использование моментальных снимков общего доступа с Azure Files.

Следующий шаг