你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

了解 Azure NetApp 文档 中的 NAS 协议

NAS 协议是客户端和服务器之间的聊天方式。 NFS 和 SMB 是Azure NetApp 文档中使用的 NAS 协议。 每个方法都有自己的通信方法,但在根本上,它们大多以相同的方式运行。

  • 两者都为多个不同的网络附加客户端提供单个数据集。
  • 两者都可以使用加密身份验证方法来共享数据。
  • 这两者都可以通过共享和文件权限进行封闭。
  • 两者都可以加密正在进行的数据。
  • 两者都可以使用多个连接来帮助并行化性能。

网络文件系统 (NFS)

NFS 主要用于基于 Linux/UNIX 的客户端,例如 Red Hat、SU标准版、Ubuntu、AIX、Solaris 和 Apple OS。 Azure NetApp 文档支持在 RFC 标准中运行的任何 NFS 客户端。 Windows 还可以使用 NFS 进行访问,但它不使用“批注请求”(RFC)标准进行操作。

可在以下位置找到 NFS 协议的 RFC 标准:

NFSv3

NFSv3 是协议的基本产品/服务,具有以下关键属性:

  • NFSv3 是无状态的,这意味着 NFS 服务器不会跟踪连接状态(包括锁)。
  • 使用网络锁管理器(NLM)在 NFS 协议外部处理锁定。 由于锁未集成到协议中,因此有时会发生过时锁。
  • 由于 NFSv3 是无状态的,因此在某些工作负荷中,使用 NFSv3 的性能可以大大好转,尤其是在具有高元数据操作(如 OPEN、CLO标准版、标准版TATTR 和 GETATTR)的工作负荷中。 这是这种情况,因为需要执行较少的常规工作来处理服务器和客户端上的请求。
  • NFSv3 使用基本文件权限模型,其中只有文件的所有者、组和其他人可以分配读/写/执行权限的组合。
  • NFSv3 可以使用 NFSv4.x ACL,但配置和管理 ACL 需要 NFSv4.x 管理客户端。 Azure NetApp 文档不支持使用非标准 POSIX 草稿 ACL。
  • NFSv3 还要求使用其他辅助协议执行常规操作,例如端口发现、装载、锁定、状态监视和配额。 每个辅助协议都使用唯一的网络端口,这意味着 NFSv3 操作需要通过具有已知端口号的防火墙进行更多的暴露。
  • Azure NetApp 文档将以下端口号用于 NFSv3 操作。 无法更改这些端口号:
    • Portmapper (111)
    • 装载 (635)
    • NFS (2049)
    • NLM (4045)
    • NSM (4046)
    • Rquota (4049)
  • NFSv3 可以使用安全增强功能(如 Kerberos),但 Kerberos 仅影响数据包的 NFS 部分;Kerberos 对话中不包括辅助协议(如 NLM、portmapper、mount)。
    • Azure NetApp 文档仅支持 NFSv4.1 Kerberos 加密
  • NFSv3 使用数字 ID 进行用户和组身份验证。 通信或权限不需要用户名和组名称,这使得欺骗用户更容易,但配置和管理更简单。
  • NFSv3 可以使用 LDAP 进行用户和组查找。

NFSv3 服务版本支持

NFSv3 目前支持Azure NetApp 文档中每个辅助协议的以下版本:

服务 支持的版本
Portmapper 4, 3, 2
NFS 4, 3*
已装载 3, 2, 1
Nlockmgr 4
Status 1
Rquotas 1

* NFS 支持的版本根据为Azure NetApp 文档卷选择的版本显示。

可以使用以下命令从Azure NetApp 文档卷收集此信息:

# rpcinfo -s <Azure NetApp Files IP address>

NFSv4.x

NFSv4.x 是指 NFSv4 下的所有 NFS 版本或次要版本,包括 NFSv4.0、NFSv4.1 和 NFSv4.2。 Azure NetApp 文档目前仅支持 NFSv4.1。

NFSv4.x 具有以下特征:

  • NFSv4.x 是一种有状态协议,这意味着客户端和服务器跟踪 NFS 连接的状态,包括锁状态。 NFS 装载使用称为“状态 ID”的概念来跟踪连接。
  • 锁定已集成到 NFS 协议中,不需要辅助锁定协议来跟踪 NFS 锁。 而是根据租约授予锁。 如果客户端或服务器连接丢失,则会在特定的持续时间后过期,从而将锁定返回给系统,以便与其他 NFS 客户端一起使用。
  • NFSv4.x 的状态性确实存在一些缺点,例如网络中断或存储故障转移期间的潜在中断,以及某些工作负荷类型(如高元数据工作负荷)的性能开销。
  • NFSv4.x 比 NFSv3 提供了许多显著优势,包括:
    • 更好的锁定概念(基于租约的锁定)
    • 更好的安全性(所需的防火墙端口更少,与 Kerberos 的标准集成,精细访问控制)
    • 其他功能
    • 复合 NFS 操作(单个数据包请求中的多个命令以减少网络聊天)
    • 仅限 TCP
  • NFSv4.x 可以使用更可靠的文件权限模型,该模型类似于 Windows NTFS 权限。 这些精细 ACL 可以应用于用户或组,并允许在比基本读/写/执行操作更广泛的操作范围上设置权限。 NFSv4.x 还可以使用 NFSv3 采用的标准 POSIX 模式位。
  • 由于 NFSv4.x 不使用辅助协议,因此在使用时,Kerberos 将应用于整个 NFS 对话。
  • NFSv4.x 使用用户/组名称和域字符串的组合来验证用户和组信息。 客户端和服务器必须就域字符串达成一致,才能进行适当的用户和组身份验证。 如果域字符串不匹配,则 NFS 用户或组会在 NFS 客户端的 /etc/idmapd.conf 文件中(例如,没有人)中将指定用户挤在一起。
  • 虽然 NFSv4.x 默认使用域字符串,但在使用AUTH_SYS时,可以将客户端和服务器配置为回退到 NFSv3 中看到的经典数值 ID。
  • NFSv4.x 与用户和组名称字符串具有深度集成,服务器和客户端必须就这些用户和组达成一致。 因此,请考虑使用名称服务服务器进行身份验证,例如 NFS 客户端和服务器上的 LDAP。

有关 Azure NetApp 文档 中 NFS 的常见问题,请参阅 Azure NetApp 文档 NFS 常见问题解答

服务器消息块 (SMB)

SMB 主要用于 Windows 客户端,用于 NAS 功能。 但是,它也可用于基于 Linux 的操作系统,例如 AppleOS、RedHat 等。此部署是使用名为 Samba 的应用程序完成的。 Azure NetApp 文档正式支持使用 Windows 和 macOS 的 SMB。 Linux 操作系统上的 SMB/Samba 可与Azure NetApp 文档配合使用,但没有官方支持。

Azure NetApp 文档仅支持 SMB 2.1 和 SMB 3.1 版本。

SMB 具有以下特征:

  • SMB 是有状态协议:客户端和服务器维护 SMB 共享连接的“状态”,以提高安全性和锁定。
  • SMB 中的锁定被视为必需。 锁定文件时,在释放锁定之前,任何其他客户端都无法写入该文件。
  • SMBv2.x 及更高版本使用复合调用来执行操作。
  • SMB 支持完整的 Kerberos 集成。 随着 Windows 客户端的配置方式,Kerberos 经常在不使用最终用户的情况下使用。
  • 当 Kerberos 无法用于身份验证时,Windows NT LAN 管理器(NTLM)可以用作回退。 如果在 Active Directory 环境中禁用 NTLM,则无法使用 Kerberos 的身份验证请求会失败。
  • SMBv3.0 及更高版本支持 SMB 共享的端到端加密
  • SMBv3.x 支持 多通道 ,以便在某些工作负荷中提高性能。
  • SMB 使用用户和组名称(通过 SID 转换)进行身份验证。 用户和组信息由 Active Directory 域控制器提供。
  • Azure NetApp 文档中的 SMB 使用标准 Windows 新技术文件系统 (NTFS) ACL 来获取文件和文件夹权限。

有关 Azure NetApp 文档 中 SMB 的常见问题,请参阅 Azure NetApp 文档 SMB 常见问题解答

双协议

某些组织具有纯 Windows 或纯 UNIX 环境(同质),其中所有数据仅使用以下方法之一进行访问:

但是,许多站点必须允许从 Windows 和 UNIX 客户端(异质)访问数据集。 对于满足这些要求的环境,Azure NetApp 文档具有本机双协议 NAS 支持。 在网络上对用户进行身份验证并具有适当的共享或导出权限和必要的文件级权限后,用户可以使用 NFS 或 SMB 从 Windows 主机访问来自 UNIX 主机的数据。

使用双协议卷的原因

使用具有Azure NetApp 文档的双协议卷可提供多种不同的优势。 当使用不同 NAS 协议的客户端可以无缝且同时访问数据集时,可以实现以下优势:

  • 减少整个存储管理员管理任务。
  • 需要仅存储一个数据副本才能从多个客户端类型访问 NAS。
  • 协议不可知的 NAS 允许存储管理员控制 ACL 的样式,并向最终用户呈现访问控制。
  • 在 NAS 环境中集中标识管理操作。

双协议环境的常见注意事项

许多组织可取使用双协议 NAS 访问,因为它具有灵活性。 但是,人们普遍认为存在困难,这会产生一组特定于跨协议共享的概念的注意事项。 这些注意事项包括但不限于:

  • 跨多个协议、操作系统和存储系统的知识要求。
  • 名称服务服务器(如 DNS、LDAP 等)的工作知识。

此外,外部因素可以发挥作用,例如:

  • 处理多个部门和 IT 组(如 Windows 组和 UNIX 组)
  • 公司收购
  • 域合并
  • 重组

尽管有这些注意事项,但双协议 NAS 设置、配置和访问可以简单无缝地集成到任何环境中。

Azure NetApp 文档如何简化双协议使用

Azure NetApp 文档将成功的双协议 NAS 环境所需的基础结构合并到单个管理平面,包括存储和标识管理服务。

双协议配置非常简单,大多数任务都受Azure NetApp 文档资源管理框架的防护,以简化云操作员的操作。

使用 Azure NetApp 文档 建立 Active Directory 连接后,双协议卷可以使用连接来处理使用 Azure NetApp 文档 卷进行正确用户和组身份验证所需的 Windows 和 UNIX 标识管理,而无需在 Active Directory 或 LDAP 服务中的普通用户和组管理之外执行额外的配置步骤。

通过删除以额外存储为中心的双协议配置步骤,Azure NetApp 文档简化了希望迁移到 Azure 的组织的整体双协议部署。

Azure NetApp 文档双协议卷的工作原理

概括而言,Azure NetApp 文档双协议卷使用名称映射和权限样式的组合来提供一致的数据访问,而不考虑正在使用的协议。 这意味着,无论是从 NFS 还是 SMB 访问文件,都可以确保有权访问这些文件的用户可以访问这些文件,而无法访问这些文件的用户无法访问这些文件。

当 NAS 客户端请求访问 Azure NetApp 文档 中的双协议卷时,会发生以下操作,以便为最终用户提供透明体验。

  1. NAS 客户端与Azure NetApp 文档双协议卷建立 NAS 连接。
  2. NAS 客户端将用户标识信息传递给Azure NetApp 文档。
  3. Azure NetApp 文档 检查以确保 NAS 客户端/用户有权访问 NAS 共享。
  4. Azure NetApp 文档获取该用户并将其映射到在名称服务中找到的有效用户。
  5. Azure NetApp 文档将该用户与系统中的文件级权限进行比较。
  6. 文件权限控制用户拥有的访问权限级别。

在下图中,user1通过 SMB 或 NFS 进行身份验证以Azure NetApp 文档访问双协议卷。 Azure NetApp 文档在 Microsoft Entra ID 中查找用户的 Windows 和 UNIX 信息,然后一对一映射用户的 Windows 和 UNIX 标识。 验证用户 user1 身份并获取 user1其访问凭据。

在此实例中, user1 可以完全控制自己的文件夹(user1-dir),并且无法访问该 HR 文件夹。 此设置基于文件系统中指定的安全 ACL,无论 user1 他们从哪个协议访问卷,都将获得预期的访问。

Diagram of user accessing a dual-protocol volume with Azure NetApp Files.

Azure NetApp 文档双协议卷的注意事项

使用Azure NetApp 文档卷来访问 SMB 和 NFS 时,一些注意事项适用:

  • 需要 Active Directory 连接。 因此,需要满足 Active Directory 连接的要求。
  • 双协议卷要求 DNS 中的反向查找区域具有 AD 主机的关联指针(PTR)记录,以防止双协议卷创建失败。
  • NFS 客户端和关联的包(例如 nfs-utils)应是最新的,以便获得最佳的安全性、可靠性和功能支持。
  • 双协议卷支持Active Directory 域服务(AD DS)和 Microsoft Entra 域服务。
  • 双协议卷不支持将 LDAP over TLS 与 Microsoft Entra 域服务配合使用。 请参阅 TLS 上的 LDAP 注意事项
  • 支持的 NFS 版本包括:NFSv3 和 NFSv4.1。
  • Azure NetApp 文档卷目前不支持并行网络文件系统(pNFS)、会话中继和引荐等 NFSv4.1 功能。
  • 双协议卷不支持 Windows 扩展属性setget/
  • 请参阅为Azure NetApp 文档创建双协议卷的其他注意事项。

后续步骤