卷复制

文件共享协议(例如 SMB [CIFS]、使用扩展群组的 NFSv3 和使用安全正文的 NFSv4)依赖于外部目录服务来提供用户身份信息。NetApp Volumes 依赖 Microsoft Active Directory 提供目录服务。Active Directory 提供多种服务,例如用于查找对象(例如用户、群组、计算机账号)的 LDAP 服务器、用于解析主机名的 DNS 服务器,以及用于身份验证的 Kerberos 服务器。

如需了解详情,请参阅在 Google Cloud 上运行 Active Directory 的最佳做法

NetApp 卷不支持 Google Cloud 的托管式 Microsoft Active Directory。

使用场景

NetApp Volumes 会在以下部分中介绍的情形下使用 Active Directory。

SMB 网域服务

Active Directory 是 SMB 的中央域名服务。SMB 用于对用户和群组进行身份验证和身份查找。NetApp Volumes 会以成员身份加入网域,并且不支持工作组模式下的 SMB。

NFSv3 扩展群组支持

对于支持扩展群组的 NFSv3,Active Directory 提供了查找用户、群组或计算机账号等对象所需的 LDAP 服务器。具体而言,若要查询用户 ID 和群组 ID,必须使用符合 RFC2307bis 标准的 LDAP 服务器。在创建存储池期间,系统会为存储池启用 LDAP 支持。

扩展群组支持会忽略 NFS 客户端在 NFS 调用中发送的所有群组 ID;而是采用请求的用户 ID,并从 LDAP 服务器查找给定用户 ID 的所有群组 ID,以执行文件权限检查。

如需了解详情,请参阅管理 LDAP RFC2307bis POSIX 属性

NFSv4.x 安全正文与用户 ID 和群组 ID 的映射

对于 NFSv4.x,Active Directory 用于将安全正文映射到用户 ID 和群组 ID。NFSv4 使用基于正文的身份验证模型。在基于主账号的身份验证中,用户是通过采用 user@dns_domain 格式的安全正文(请参阅 https://www.rfc-editor.org/rfc/rfc7530.html#section-19)进行标识的,而不是通过用户 ID 和群组 ID 进行标识。如需在使用 NFSv4.x 协议访问卷时将安全正文映射到用户 ID 和群组 ID,NetApp 卷需要符合 RFC2307bis 的 LDAP 服务器。唯一支持的 LDAP 服务器是 Active Directory。在创建存储池期间,系统会为存储池启用 LDAP 支持。

如需使用安全正文,NFS 客户端和服务器必须连接到同一 LDAP 源,并且必须在客户端配置 idmapd.conf 文件。如需详细了解如何配置 idmapd.conf 文件,请参阅 Ubuntu 手册页:idmapd.conf - libnfsidmap 的配置文件

Active Directory 域名用于 dns_domainuser 是 Active Directory 用户的名称。在设置 LDAP POSIX 属性时,请使用这些值。

如需在不设置 ID 映射的情况下使用 NFSv4.1,并仅使用类似于 NFSv3 的用户 ID 和群组 ID,您可以使用数字 ID 来忽略安全正文。NetApp 卷支持数字 ID,如果未配置 ID 映射,当前 NFS 客户端默认使用数字 ID

带有 Kerberos 的 NFSv4.x

如果您使用 Kerberos,则必须将 Active Directory 用作 LDAP 服务器来进行安全正文查询。Kerberos 正文用作安全标识符。Active Directory 还用作 Kerberos 密钥分发中心 (KDC)。为此,您必须将包含 Kerberos 设置的 Active Directory 政策附加到存储池,并在创建存储池时为存储池启用 LDAP 支持。

如需了解详情,请参阅创建存储池。

Active Directory LDAP 访问权限

对于 NFS 用例,Active Directory 用作 LDAP 服务器。NetApp 卷预计使用 RFC2307bis 架构的身份数据。Active Directory 已提供此架构,但您需要确保为用户和群组填充所需的属性。

NetApp 卷使用 Active Directory 政策中提供的凭据,通过 LDAP 签名与 LDAP 绑定。

如果找不到用户或群组,系统会拒绝访问。

属性缓存

NetApp Volumes 会缓存 LDAP 查询的结果。下表介绍了 LDAP 缓存的存留时间 (TTL) 设置。如果缓存因您尝试修正的错误配置而包含无效数据,则您必须等待缓存刷新,然后系统才能检测到您在 Active Directory 中所做的更改。否则,NFS 服务器会继续使用旧数据来验证访问权限,这可能会导致客户端上显示权限被拒消息。在 TTL 期限结束后,条目会过期,以免过时条目保留在缓存中。系统会将未找到的查找请求保留 1 分钟的 TTL,以帮助避免性能问题。

缓存 默认超时
群组成员名单 24 小时 TTL
Unix 组 (GID) 24 小时 TTL,1 分钟的负 TTL
Unix 用户 (UID) 24 小时 TTL,1 分钟的负 TTL

Active Directory 网域控制器拓扑

成功连接到 Active Directory 域控制器后,您可以使用以下文件共享协议:

  • 中小型企业
  • 具有扩展群组的 NFSv3
  • NFSv4

以下部分介绍了各种可能的拓扑。图表仅显示 NetApp Volumes 使用的网域控制器。只有在需要时,系统才会显示同一网域的其他网域控制器。

Microsoft 建议至少部署两个网域控制器 (DC),以实现冗余和可用性。

与 NetApp Volumes 卷位于同一区域的 Active Directory 网域控制器

下图显示了最简单的部署模式,即网域控制器位于与 NetApp 卷所在区域相同的区域。

使用 AD 站点的多个区域中的 Active Directory 网域控制器

如果您在多个区域使用 NetApp Volumes 卷,我们建议您在每个区域都放置至少一个网域控制器。虽然该服务会尝试自动选择最佳数据中心,但建议您使用广告资源管理中心来管理数据中心选择。

本地网络中的 Active Directory 网域控制器

支持通过 VPN 使用本地域控制器,但可能会对最终用户身份验证和文件访问性能产生负面影响。请确保不要在网络路径中添加额外的 VPC 对等互连跃点。

适用于本地数据中心的注意事项

与本地数据中心的连接使用 TCP 和 IP。这些连接通常会因以下限制而失败:

  • VPC 对等互连:NetApp 卷只能访问位于存储池 VPC 中的或通过 VPN 连接到该 VPC 的 DC。NetApp 卷无法访问任何其他 VPC 中的数据中心,包括与连接到存储池的 VPC 对等互连的数据中心。

  • 防火墙:您必须允许 NetApp 卷与您的数据中心联系。请参阅有关 Active Directory 访问权限的防火墙规则。

位于其他 VPC 网络中的 Active Directory 网域控制器

您无法将域控制器放置在其他 VPC 中,因为 Google Cloud VPC 对等互连不允许传递式路由。或者,您也可以将 NetApp 卷附加到托管 Active Directory 网域控制器的共享 VPC 网络。如果您将 NetApp 卷附加到共享 VPC 网络,那么从架构上讲,此场景将成为前几部分中的一个场景。

使用 AD 网站管理 DC 选择

为了尽可能准确地表示实际的数据中心位置、办公室和网络拓扑,请将网域控制器放置在与卷相同的区域,并为该区域定义一个 Active Directory 站点。

当 NetApp 云端卷连接到您的网域后,该服务会使用基于 DNS 的发现功能查找要与之通信的合适域控制器。该服务会使用发现结果维护要连接到的有效数据中心列表,并使用延迟时间最短的数据中心。

在 NetApp 卷的 Active Directory 设置中指定网站后,您可以将 DC 列表限制为 AD 网站中指定的 DC。

如果自动选择 DC 失败,使用 AD 网站可以帮助解决此问题:

  • 在 NetApp 卷区域部署至少一台网域控制器,并将其连接到现有的 Active Directory。

  • 为您的 Google Cloud 区域创建一个 Active Directory 站点,并将适当的网域控制器放入该站点。

  • 设置 Active Directory 连接时,请使用 Active Directory 站点。

如需手动验证服务可以使用的潜在 DC 列表,请参阅如何识别 NetApp 卷使用的 Active Directory 域控制器

如需了解详情,请参阅 Active Directory:设计注意事项和最佳实践。