Azure Blob 存储中网络文件系统 (NFS) 3.0 协议支持的已知问题

本文介绍 Azure Blob 存储的网络文件系统 (NFS) 3.0 协议支持的限制和已知问题。

重要

由于你必须启用帐户的分层命名空间功能才能使用 NFS 3.0,因此 Azure Data Lake Storage Gen2 的已知问题一文中描述的所有已知问题也适用于你的帐户。

NFS 3.0 支持

  • 无法在现有存储帐户上启用 NFS 3.0 支持。

  • 启用 NFS 3.0 支持后,无法在存储帐户中将其禁用。

  • 创建 NFS 3.0 存储帐户时,不支持异地冗余存储 (GRS)、异地区域冗余存储 (GZRS) 和读取访问异地冗余存储 (RA-GRS) 冗余选项。

  • 访问控制列表 (ACL) 不能用于授权 NFS 3.0 请求。 事实上,如果 ACL、blob 或目录包含命名用户或组的条目,则非根用户将无法在客户端上访问该文件。 必须删除这些条目才能将访问权限归还于客户端上的非根用户。 有关如何删除命名用户和组的 ACL 条目的信息,请参阅如何设置 ACL

NFS 3.0 功能

尚不支持以下 NFS 3.0 功能。

  • 基于 UDP 的 NFS 3.0。 仅支持基于 TCP 的 NFS 3.0。

  • 使用网络锁定管理器 (NLM) 锁定文件。 装载命令必须包含 -o nolock 参数。

  • 装载子目录。 只能装载根目录(容器)。

  • 列出装载(例如:通过使用 showmount -a 命令)。

  • 列出导出(例如:通过使用 showmount -e 命令)。

  • 硬链接。

  • 以只读方式导出容器。

NFS 3.0 客户端

Windows 客户端尚不支持 NFS。 但是,有一种解决方法可以使用适用于 Linux 的 Windows 子系统 (WSL 2) 通过 NFS 3.0 协议装载存储。 请参阅 GitHub 上的 BlobNFS-wsl2 项目。

Blob 存储功能

启用 NFS 3.0 协议支持后,某些 Blob 存储功能将完全受支持,但某些功能可能仅在预览级别受支持,或者根本不受支持。

要查看启用了 NFS 3.0 支持的帐户如何支持每个 Blob 存储功能,请参阅 Azure 存储帐户支持的 Blob 存储功能

注意

静态网站是部分支持的功能的一个示例,因为已启用 NFS 3.0 支持的帐户的 Azure 门户中尚未出现静态网站的配置页面。 只能使用 PowerShell 或 Azure CLI 启用静态网站。

Blob 存储事件

NFS 操作的名称不会出现在资源日志中,也不会出现在事件网格返回的响应中。 仅显示块 Blob 操作。 当应用程序使用 NFS 3.0 协议发出请求时,该请求将转换为块 blob 操作的组合。 例如,NFS 3.0 读取远程过程调用 (RPC) 的请求被转换为获取 Blob 操作。 NFS 3.0 写入 RPC 的请求被转换为获取块列表、放置块和放置块列表的组合。

NFS 特定操作不支持存储事件。 但是,如果你在启用 NFS 的帐户上执行 Blob 或数据湖存储操作,则应根据调用的 API 创建事件。

NFS 共享中的组成员身份

在 NFS 共享中创建的文件和目录始终会继承父目录的组 ID,无论是否在父目录上设置了“设置组标识 (SGID) ”。

另请参阅