你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
NFS Azure 文件共享
Azure 文件存储提供两种行业标准文件系统协议用于装载 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 文件共享通常用于以下场景:
- 基于 Linux/UNIX 的应用程序(例如使用 Linux 或 POSIX 文件系统 API 编写的业务线应用程序,即使它们不需要符合 POSIX 规范)的后备存储。
- 需要符合 POSIX 标准的文件共享、区分大小写或 Unix 样式权限 (UID/GID) 的工作负荷。
- 新的应用程序和服务开发,尤其是当该应用程序或服务需要随机 I/O 和分层存储时。
功能
- 完全符合 POSIX 规范的文件系统。
- 硬链接支持。
- 符号链接支持。
- NFS 文件共享目前仅支持 4.1 协议规范中的大部分功能。 某些功能(例如,各种类型的委托和回调、Kerberos 身份验证、ACL 和传输中加密)不受支持。
注意
当前不支持从现有符号链接创建硬链接。
安全和网络
使用 Azure 存储服务加密 (SSE) 对存储在 Azure 文件存储中的所有数据进行静态加密。 存储服务加密的工作方式类似于 Windows 上的 BitLocker:在文件系统级别下对数据进行加密。 由于数据在 Azure 文件共享的文件系统下加密,因此,在将数据编码到磁盘时,无需访问客户端上的基础密钥即可读取或写入 Azure 文件共享。 静态加密同时适用于 SMB 和 NFS 协议。
对于传输中加密,Azure 为使用 MACSec 在 Azure 数据中心之间传输的所有数据提供加密层。 借此,在 Azure 数据中心之间传输数据时,会存在加密。
不同于使用 SMB 协议的 Azure 文件存储,使用 NFS 协议的文件共享不提供基于用户的身份验证。 NFS 共享的身份验证基于配置的网络安全规则。 因此,为了确保仅与 NFS 共享建立安全连接,必须为存储帐户设置专用终结点或服务终结点。
专用终结点 (也称为专用链接) 为存储帐户提供虚拟网络中的专用静态 IP 地址,从而防止动态 IP 地址更改而导致连接中断。 到存储帐户的流量保留在对等互连的虚拟网络中,包括其他区域和本地的虚拟网络。 适用标准 数据处理费率。
如果不需要静态 IP 地址,可以在虚拟网络中为 Azure 文件存储启用 服务终结点。 服务终结点将存储帐户配置为仅允许从特定子网进行访问。 允许的子网可以属于同一订阅或不同订阅中的虚拟网络(包括属于不同 Microsoft Entra 租户的虚拟网络)。 使用服务终结点不会产生额外费用。 但是请注意,使用服务终结点时,区域性中断等罕见情况可能会导致存储帐户的基础 IP 地址发生变化。 虽然文件共享上仍提供数据,但客户端需要重新装载共享。
如果要从本地访问共享,则除了专用终结点外,还必须设置 VPN 或 ExpressRoute。 来自以下源之外的请求都将被拒绝:
有关可用网络选项的详细信息,请参阅 Azure 文件存储网络注意事项。
支持 Azure 存储功能
下表显示了已启用 NFS 4.1 功能的帐户中当前对 Azure 存储功能的支持级别。
随着支持继续扩展,此表中显示的项的状态会随时间而变化。
存储功能 | 受 NFS 共享的支持 |
---|---|
文件管理平面 REST API | ✔️ |
文件数据平面 REST API | ⛔ |
静态加密 | ✔️ |
传输中加密 | ⛔ |
LRS 或 ZRS 冗余类型 | ✔️ |
LRS 到 ZRS 的转换 | ⛔ |
Azure DNS 区域终结点(预览版) | ✔️ |
专用终结点 | ✔️ |
子目录装载 | ✔️ |
授予对特定 Azure 虚拟网络的网络访问权限 | ✔️ |
授予对特定 IP 地址的网络访问权限 | ⛔ |
高级层 | ✔️ |
标准层(“热”、“冷”和“事务优化”) | ⛔ |
POSIX 权限 | ✔️ |
Root squash | ✔️ |
从 Windows 和 Linux 客户端访问相同数据 | ⛔ |
基于标识的身份验证 | ⛔ |
Azure 文件共享软删除 | ✔️ |
Azure 文件同步 | ⛔ |
Azure 文件共享备份 | ⛔ |
Azure 文件共享快照 | ✔️ |
GRS 或 GZRS 冗余类型 | ⛔ |
AzCopy | ⛔ |
Azure 存储资源管理器 | ⛔ |
Azure 门户上的 Azure 存储资源管理器 | ⛔ |
支持 16 个以上的组 | ⛔ |
区域可用性
支持高级文件存储的所有区域也都支持 NFS Azure 文件共享。 请参阅各区域的 Azure 产品可用性。
性能
NFS Azure 文件共享仅适用于高级文件共享,后者在固态硬盘 (SSD) 上存储数据。 NFS 共享的 IOPS 和吞吐量随预配的容量进行扩展。 请参阅了解账单一文中的预配 v1 模型部分,以了解 IOPS、IO 突发和吞吐量的公式。 IO 大小较小时,平均 IO 延迟以低个位数毫秒计算,而平均元数据延迟以高个位数毫秒计算。 由于打开和关闭操作次数较高,元数据繁重操作(如解压缩)和工作负荷(如 WordPress)可能会面临额外延迟。
注意
你可以使用 nconnect
Linux 装载选项大规模提高 NFS Azure 文件共享的性能。 有关详细信息,请参阅提高 NFS Azure 文件共享性能。
工作负荷
重要
在生产环境中使用 NFS Azure 文件共享前,请参阅 NFS Azure 文件共享故障排除,以获取已知问题的列表。
经验证,NFS 可以很好地处理工作负载,例如 SAP 应用程序层、数据库备份、数据库复制、消息队列、常规用途文件服务器主目录和应用程序工作负载的内容存储库。