适用于: ✔️ NFS 文件共享
Azure 文件存储支持两种用于装载文件共享的行业标准协议:服务器消息块 (SMB) 协议和网络文件系统 (NFS) 协议。 选择最适合工作负荷的协议。 尽管可以在同一 FileStorage 存储帐户中创建 SMB 和 NFS 文件共享,但 Azure 文件共享不支持同时使用 SMB 和 NFS 协议访问单个 Azure 文件共享。 Azure 文件存储提供企业级文件共享,这些共享可以纵向扩展以满足你的存储需求,并且可同时由数千个客户端访问。
本文将介绍 NFS Azure 文件共享。 有关 SMB Azure 文件共享的信息,请参阅 Azure 文件存储中的 SMB 文件共享。
重要
Windows 不支持 NFS Azure 文件共享。 在生产环境中使用 NFS Azure 文件共享前,请参阅 NFS Azure 文件共享故障排除,以获取已知问题的列表。 不支持 NFS 访问控制列表 (ACL)。
NFS Azure文件共享的常见用例
NFS 文件共享适用于 SAP 应用程序层、数据库备份、数据库复制、消息队列、常规用途文件服务器的主目录以及应用程序工作负荷的内容存储库等工作负载。
NFS 文件共享通常用于以下场景:
- 为基于 Linux/UNIX 的应用程序(例如使用 Linux 或 POSIX 文件系统 API 编写的业务线应用程序)提供后端存储
- 需要 POSIX 兼容的文件共享、区分大小写或 Unix 样式权限(UID/GID)的工作负载
- 需要随机 I/O 和分层存储的新应用程序和服务开发
NFS Azure文件共享功能
NFS Azure文件共享提供完全符合 POSIX 的文件系统。 支持硬链接和符号链接,但无法从现有符号链接创建硬链接。
NFS Azure文件共享目前支持 NFSv4.1 协议规范中的大多数功能。 某些功能(例如,各种类型的委托和回调、Kerberos 身份验证和 ACL)不受支持。
NFS Azure文件共享支持本地冗余存储(LRS)和区域冗余存储(ZRS)。 异地冗余存储(GRS)和异地区域冗余存储(GZRS)不适用于 NFS 共享,因为 NFS 需要 SSD 存储,这不支持异地冗余。
对Azure存储功能的 NFS Azure文件共享支持
下表显示了对 NFS Azure 文件共享的当前功能支持级别。
随着支持继续扩展,此表中显示的项的状态会随时间而变化。
| 存储功能 | 受 NFS 共享的支持 |
|---|---|
| 文件管理平台 REST 接口 | ✔️ |
| 文件数据平面 REST API | ✔️ |
| 静态加密 | ✔️ |
| 传输中加密 | ⛔ |
| LRS 或 ZRS 冗余类型 | ✔️ |
| LRS 到 ZRS 的转换 | ⛔ |
| GRS 或 GZRS 冗余类型 | ⛔ |
| 专用终结点 | ✔️ |
| 子目录装载 | ✔️ |
| 授予对特定 Azure 虚拟网络的网络访问权限 | ✔️ |
| 授予对特定 IP 地址的网络访问权限 | ⛔ |
| SSD 媒体层 | ✔️ |
| HDD 媒体层 | ⛔ |
| POSIX 权限 | ✔️ |
| Root Squash | ✔️ |
| 从 Windows 和 Linux 客户端访问相同数据 | ⛔ |
| 基于标识的身份验证 | ⛔ |
| Azure 文件共享软删除 | ✔️ |
| Azure 文件同步 | ⛔ |
| Azure 文件共享备份 | ⛔ |
| Azure 文件共享快照 | ✔️ |
| AzCopy | ✔️ |
| Azure 存储资源管理器 | ✔️ |
| Azure 门户上的 Azure 存储浏览器 | ⛔ |
| 支持 16 个以上的组 | ⛔ |
注意
16 组限制是 NFS 协议约束。 每个用户在每个连接中最多只能有 16 个组 ID(GID)。
Azure NFS 文件共享的安全性与网络
NFS Azure文件共享通过静态和传输加密来保护数据,并要求网络级访问控制来代替基于用户的身份验证。
Encryption
Azure 文件存储使用Azure存储服务加密(SSE)加密静态所有数据。 存储服务加密在 Windows 上的工作方式与 BitLocker 类似:它会加密文件系统级别下的数据。 由于加密发生在Azure文件共享的文件系统下,因为数据编码为磁盘,因此不需要访问客户端上的基础密钥来读取或写入Azure文件共享。 静态加密同时适用于 SMB 和 NFS 协议。
对于传输中的加密,Azure 文件存储 NFSv4.1 卷通过启用服务器和客户端之间的安全 TLS 连接,保护传输中的数据免受拦截,从而增强网络安全。 Azure 文件存储 提供专门的 需要安全传输 设置,用于单独控制 NFS 访问是否必须加密。 对于使用 Azure 门户创建的新存储帐户,默认情况下会启用此设置。 使用 Azure PowerShell、Azure CLI 或 FileREST API 创建的存储帐户将此值设置为未选择以确保向后兼容性。 对于现有存储帐户,需要安全传输 设置将继续管理 NFS 加密行为,直到为每个协议显式配置相应设置。
Azure使用 MACSec 为Azure数据中心之间传输的所有数据提供加密层。 通过此技术,在Azure数据中心之间传输数据时,存在加密。
身份验证和网络访问
与使用 SMB 协议的Azure 文件存储不同,使用 NFS 协议的文件共享不提供基于用户的身份验证。 NFS 共享的身份验证基于配置的网络安全规则。 因此,为了确保 NFS 共享仅接受安全连接,必须为存储帐户设置专用终结点或服务终结点。
专用终结点 (也称为专用链接) 为存储帐户提供虚拟网络中的专用静态 IP 地址,从而防止动态 IP 地址更改而导致连接中断。 到你的存储帐户的流量始终保持在对等互连的虚拟网络内,包括其他区域和本地部署环境中的虚拟网络。 适用标准 数据处理费率。
如果不需要静态 IP 地址,可以在虚拟网络中为 Azure 文件存储启用 服务终结点。 服务终结点将存储帐户配置为仅允许从特定子网进行访问。 允许的子网可以属于同一订阅或不同订阅中的虚拟网络(包括属于不同 Microsoft Entra 租户的虚拟网络)。 使用服务终结点不会产生额外费用。 但是,罕见的事件(例如区域中断)可能会更改存储帐户的基础 IP 地址。 虽然文件共享中的数据仍然可用,但你需要重新挂载该共享。
如果要从本地环境访问共享,除了专用终结点外,还需配置 VPN 或 ExpressRoute。 来自下列来源以外的请求将被拒绝:
有关网络选项的详细信息,请参阅Azure 文件存储网络注意事项。
NFS Azure 文件共享的区域可用性
支持 SSD 文件共享的所有区域都支持 NFS Azure 文件共享。 请参阅各区域的 Azure 产品可用性。
NFS Azure文件共享性能
NFS Azure文件共享仅在 SSD 文件共享上可用。 在预配的 v2 计费模型中,可以单独设置预配的容量、IOPS 和吞吐量,从而精确控制具有可预测 I/O 模式的 NFS 工作负荷的成本控制。 根据预配的 v1 计费模型,IOPS 和吞吐量随预配容量自动缩放。 有关这两个模型的详细信息,请参阅了解Azure 文件存储计费。
SSD Azure文件共享的典型 I/O 延迟在小 I/O 操作的低位数毫秒范围内。 由于大量打开和关闭操作,元数据密集型工作负荷(如 untar)可能会遇到更高的延迟。
有关大规模提高 NFS 性能的指导,请参阅改进 NFS Azure文件共享性能。