在 Linux 上装载 NFS Azure 文件共享
可以使用服务器消息块 (SMB) 协议或网络文件系统 (NFS) 协议将 Azure 文件共享装载到 Linux 发行版中。 本文重点介绍如何使用 NFS 进行装载。 有关装载 SMB Azure 文件共享的详细信息,请参阅在 Linux 中使用 Azure 文件存储。 有关每个可用协议的详细信息,请参阅 Azure 文件共享协议。
适用于
文件共享类型 | SMB | NFS |
---|---|---|
标准文件共享 (GPv2)、LRS/ZRS | ||
标准文件共享 (GPv2)、GRS/GZRS | ||
高级文件共享 (FileStorage)、LRS/ZRS |
支持
目前仅支持 NFS 版本 4.1。 目前只有 FileStorage 存储帐户类型中支持 NFS 4.1 共享(仅限高级文件共享)。
NFS Azure 文件共享目前支持 4.1 协议规范中的大部分功能。 某些功能(例如,各种类型的委托和回调、Kerberos 身份验证和传输中加密)不受支持。
nconnect 装载选项目前处于预览阶段,不建议用于生产。
区域可用性
支持高级文件存储的所有区域也都支持 NFS Azure 文件共享。 请参阅各区域的 Azure 产品可用性。
步骤 1:创建 NFS Azure 文件共享
创建 NFS Azure 文件共享(如果尚未创建)。
步骤 2:配置网络安全
只能从受信任的网络访问 NFS 共享。 目前,保护存储帐户中数据的唯一方法就是使用虚拟网络和其他网络安全设置。 用于保护数据的任何其他工具(包括帐户密钥授权、Microsoft Entra 安全性和访问控制列表 (ACL))都无法用于授权 NFS v4.1 请求。
重要
NFSv4.1 协议在端口 2049 上运行。 如果要从本地网络连接,请确保客户端允许通过端口 2049 进行传出通信。 如果已授予对特定 VNet 的访问权限,请确保与这些 VNet 关联的网络安全组都不包含阻止通过端口 2049 进行传入通信的安全规则。
创建专用终结点或服务终结点
若要使用 NFS Azure 文件共享,必须创建专用终结点(建议)或限制对公共终结点的访问。
禁用安全传输
Azure 文件存储目前不支持使用 NFS 协议进行传输中加密,而是改为依赖于网络级安全性。 因此,需要在存储帐户中禁用安全传输。
登录到 Azure 门户并访问包含你创建的 NFS 共享的存储帐户。
选择“配置”。
对于“需要安全传输”,请选择“禁用”。
选择“保存”。
通过 VPN 或 ExpressRoute 实现混合访问(可选)
若要启用对 NFS Azure 文件共享的混合访问,请使用以下网络解决方案之一:
步骤 3:装载 NFS Azure 文件共享
可以使用 Azure 门户装载共享。 还可以在 /etc/fstab 文件中创建一条记录,以便在 Linux 服务器或 VM 每次启动时自动装载共享。
使用 Azure 门户装载 NFS 共享
你可以使用 nconnect
Linux 装载选项大规模提高 NFS Azure 文件共享的性能。 有关详细信息,请参阅提高 NFS Azure 文件共享性能。
创建文件共享后,选择该共享,然后选择“从 Linux 进行连接”。
输入要使用的装载路径,然后复制该脚本。
连接到客户端,并使用所提供的装载脚本。 脚本中仅包含所需的装载选项,但你可以添加其他建议的装载选项。
现已装载 NFS 共享。
使用 /etc/fstab 装载 NFS 共享
如果希望在每次 Linux 服务器或 VM 启动时自动装载,请在 /etc/fstab 文件中为 Azure 文件共享创建一条记录。 请将 YourStorageAccountName
和 FileShareName
替换为自己的信息。
<YourStorageAccountName>.file.core.windows.net:/<YourStorageAccountName>/<FileShareName> /media/<YourStorageAccountName>/<FileShareName> nfs vers=4,minorversion=1,_netdev,nofail,sec=sys 0 0
有关详细信息,请从 Linux 命令行输入命令 man fstab
。
装载选项
装载 NFS Azure 文件共享时,建议或需要以下装载选项。
装载选项 | 建议的值 | 描述 |
---|---|---|
vers |
4 | 必需。 指定要使用 NFS 协议的哪个版本。 Azure 文件存储仅支持 NFSv4.1。 |
minorversion |
1 | 必需。 指定要使用 NFS 协议的次要版本。 某些 Linux 发行版无法识别 vers 参数上的次要版本。 因此不要使用 vers=4.1 ,应使用 vers=4,minorversion=1 。 |
sec |
sys | 必需。 指定在对 NFS 连接进行身份验证时要使用的安全类型。 设置“sec=sys ”使用本地 UNIX UID 和 GID,它们使用 AUTH_SYS 对 NFS 操作进行身份验证。 |
rsize |
1048576 | 推荐。 设置单个 NFS 读取操作中要传输的最大字节数。 指定最大 1048576 个字节级别通常可获得最佳性能。 |
wsize |
1048576 | 推荐。 设置单个 NFS 写入操作中要传输的最大字节数。 指定最大 1048576 个字节级别通常可获得最佳性能。 |
noresvport |
不适用 | 建议用于低于 5.18 的内核。 告知 NFS 客户端在与装入点的 NFS 服务器通信时使用非特权源端口。 使用 noresvport 装载选项有助于确保在重新连接后 NFS 共享具有不间断的可用性。 强烈建议使用此选项来实现高可用性。 |
actimeo |
30-60 | 推荐。 指定 actimeo 会将所有 acregmin 、acregmax 、acdirmin 和 acdirmax 设置为相同的值。 使用小于 30 秒的值可能会导致性能下降,因为文件和目录的属性缓存很快就会过期。 建议将 actimeo 设置为 30 到 60 秒。 |
步骤 4:验证连接
如果装载失败,则可能是专用终结点未正确设置或无法访问。 有关确认连接的详细信息,请参阅验证连接。
NFS 文件共享快照
使用 NFS Azure 文件共享的客户可以创建文件共享快照。 借助此功能,用户可以回滚整个文件系统或恢复意外删除或损坏的文件。 请参阅将共享快照与 Azure 文件存储配合使用。
下一步
- 如果遇到任何问题,请参阅排查 NFS Azure 文件共享问题。