集群模式 Data ONTAP 中的共享符号链接设置和 DFS 通告对 SMB 2.x/3 客户端流量有何影响
不可不使用
适用于
- 集群模式 Data ONTAP 8.3
- 集群模式 Data ONTAP 8.2
解答
NetApp 已确定了以下情况:配置 UNIX 符号链接(称为符号链接)以及运行集群的整体环境可能导致 CIFS 客户端出现意外行为。只有使用 SMB2/SMB3 的服务器消息块( SMB )客户端(如 Window 7 、 Window 8 、 Vista 、 Windows-2008 R2 和 Windows 2012 )受到影响。使用 SMB 1 的客户端(例如 Windows XP )不受影响。本文将对比集群模式 Data ONTAP 中可用的符号链接设置和以 7- 模式运行的 Data ONTAP 设置。这不是对 SymLink 及其整体配置的全面审查。本文介绍了以下三种环境:
- 在数据路径中使用 Riverbed WAN 加速器的环境。
- 已删除“遍历 / 执行” NTFS 权限的环境。
- 已启用本地安全设置“不允许存储用于网络身份验证的密码和凭据”的环境。
注:必须按照 NetApp 产品文档中的说明正确配置符号链接。如果缺少上述任何环境、则 SymLink 访问都可以正常运行。本文不建议如何正确配置或排除符号链接故障。在阅读本文之前、请参阅 Data ONTAP 产品文档以验证您的符号链接设置。本文介绍了 SymLink 的配置如何影响这三种特定环境。对符号链接的讨论不是符号链接的 NTFS 实现、而是通过 UNIX 客户端创建符号链接、然后允许 CIFS 客户端访问链接。从本文的最后更新开始、以任何模式运行的 Data ONTAP 都不支持 NTFS 符号链接。
Data ONTAP 7-模式
SymLink 的使用通常通过以下概述的选项和 CIFS 共享设置进行控制。除了这些设置外,还有symlink.translations
一个文件。本文未概述此文件。有关详细[1]信息、请参见《文件访问管理指南》以了解在存储控制器上运行的 Data ONTAP 7- 模式版本。
- CIFS 选项:
cifs.symlinks.enable
此选项控制 SMB 客户端遇到符号链接时是否遵循符号链接。符号链接可以是相对或绝对符号链接。 - CIFS 共享设置:创建或修改共享时,可以使用 Widelink 或 nowiDelink 设置进一步控制符号链接。此特定设置允许或不允许将符号链接重定向到符号链接所在共享路径以外的位置。此外, WideLink 触发的 Data ONTAP 7- 模式的设置还会公布对名为分布式文件系统( DFS )的 SMB 功能的支持。
集群模式 Data ONTAP :
在集群模式 Data ONTAP 中使用符号链接由几种不同的设置控制。根据集群中运行的发行版、可能有一个共享级别设置、或者在最近的发行版中还有一个控制 DFS 通告的附加全局选项。
- CIFS 共享的 "ymlink-properties" 属性:此特定共享设置控制遵循符号链接的能力、基本上启用符号链接以正常工作。注意: SMB 自动定位依赖于 WidelLink 、它要求将符号链接属性设置为 "SymLink-and-WidelLinks" ( 9.0 以上)或 "Enable" ( 9.0 之前)。以下是可以定义的值:
- enable :允许对读取和写入访问启用符号链接(在 ONTAP 9.0 及更高版本中已过时)
- read_only 、 enable :允许对只读访问启用符号链接(在 ONTAP 9.0 及更高版本中已过时)
- 隐藏:符号链接不能后跟 SMB 客户端。SMB 客户端枚举其所在的目录时,不返回符号链接名称。(在 ONTAP 9.0 及更高版本中已过时)
- 符号链接:此属性用于启用本地符号链接以进行读写访问。即使 CIFS 选项 -is -advertise-dfs 启用设置为 true 、也不会生成 DFS 通告。
- 符号链接和 WideLink :此属性支持本地符号链接和宽链接以进行读写访问。即使 CIFS 选项 -is-advertise-dfs 启用设置为 false 、也会为本地符号链接和宽链接生成 DFS 通告。
- 禁用—此属性禁用符号链接和宽链接。即使 CIFS 选项 -is -advertise-dfs 启用设置为 true 、也不会生成 DFS 通告。
- "" (空或空):枚举符号链接的目录时,将显示符号链接。但是, SMB 客户端将无法使用符号链接
- CIFS 选项
is-advertise-dfs-enabled
:此选项从集群模式 Data ONTAP 8.2.3 和 8.3 开始引入。此设置控制是否存在名为 DFS 的 SMB 功能的通告。DFS 通告是一种允许“ Widelink ”的符号链接正常工作的功能。此特定通告是在客户端与 CIFS 共享建立初始连接时发生的。此功能的设置为“ true ”或“ false ”,此选项的设置控制在集群模式 Data ONTAP 中发布 DFS 的方式。- true - 与共享连接时将通告 DFS 、而不管共享属性“ ymlink-properties ”的设置如何。
- false - 连接到共享时不会始终通告 DFS 。如果设置为“ false ”、则集群模式 Data ONTAP 将推迟到共享属性设置“ ymlink-properties ”以获取有关如何通告 DFS 功能的进一步指导。
本节提供了几种不同的解释、概述了几种不同的情形。请参见下面与您的环境相关的特定部分、以更好地了解符号链接的影响以及哪些设置在您的环境中最适合您。下面列出的命令提供了当前定义的设置以及必要时如何更改这些设置。
如何确认和修改必要的设置:
集群模式 Data ONTAP 8.2.3/8.3 及更高版本
- 确认 CIFS 设置:
- SymLink-Properties 的共享设置
cli::> cifs share show –vserver <SVM_Name> -fields symlink-properties
- 用于 DFS 广告的 CIFS 选项
cli::>set advanced (answer Y)
cli::>cifs options show –vserver <SVM_Name> -fields is-advertise-dfs-enabled
- SymLink-Properties 的共享设置
- 修改 CIFS 设置:
- SymLink-Properties 的共享设置
cli::> cifs share modify –vserver prod01 –share-name test –symlink-properties <enable|hide|read_only,enable|"" (null)>
- 用于 DFS 广告的 CIFS 选项
cli::> set advanced (answer Y)
cli::> cifs options modify –vserver prod01 –is-advertise-dfs-enabled <true|false>
- SymLink-Properties 的共享设置
注意:修改 SymLink-Properties 值可能需要在修改此选项时重新引导客户端。客户端缓存当与共享建立连接时如何通告 DFS 。如果在连接和断开共享的客户端之间修改了该选项,则在不重新启动的情况下无法重新连接到共享。每个部分中的图表将提供有关集群模式 Data ONTAP 设置及其影响的各种方案的详细信息。图表还将根据设置的组合指示集群模式 Data ONTAP 中的哪些功能可能受到影响。有关受影响的集群模式 Data ONTAP 功能的详细信息,请参阅集群中运行版本的文件访问管理指南。此文档可在 NetApp 支持站点上找到。
参考
使用案例 1 —符号链接和 Riverbed WAN 加速—要解决与支持相关的问题、运行 Riverbed WAN 加速器的用户需要安装集群模式 Data ONTAP 8.2.3 或更高版本。这将提供从单个共享级别控制 DFS 通告的能力、并将 DFS 的公告作为 CIFS 选项全局控制。下面列出了几种场景的独立图表以及潜在影响 (2) 。注意标有“ Riverbed Acceleration of SMB2/3 ”和“ Clustered Data ONTAP Feature Impacted ”的列。Riverbed 列反映了根据设置、 SMB 2 或 SMB 3 流量是否符合加速要求。如果列具有“ N ”,则数据加速将受到影响。如果是“ Y ”流量、则根据 Riverbed 设备的配置、 SMB2/SMB3 流量可以加速。您可能需要查看列,详细说明对符号链接的影响、在最后 (2) 列中介绍。这些列将指明是否有受影响的集群模式 Data ONTAP 功能以及如果有,则表示哪项功能。
Riverbed 自此知识库文章的发布或上次更新以来,存在一个与特定 SMB 功能广告(称为“ FS 功能”)相关的兼容性问题。当 Riverbed 设备跨越一个通告支持 DFS 的共享时,它不会加速 SMB 2 和 SMB 3 客户端流量。Riverbed 目前已了解此问题,有关详细信息,请参见 Contact Riverbed Support 。
集群模式 Data ONTAP 8.2.3 或 8.3 及更高版本
符号链接。属性共享设置 | CIFS 选项为 -Advertise-dfs 启用设置: | SMB 2/3 的 Riverbed 加速 | 是否可以使用符号链接 | 是否受到集群模式 Data ONTAP 功能的影响 | 什么是集群模式 Data ONTAP 功能受到影响 | |
场景 1 | 启用 | True | N | Y | N | 不适用 |
场景 2 | 启用 | False | N | Y | N | 不适用 |
场景 3 | 只读、启用 | True | N | Y | N | 不适用 |
场景 4 | 只读、启用 | False | N | Y | N | 不适用 |
场景 5 | 隐藏或 "" (空) | True | N | N | Y | 符号链接和 Widelink |
场景 6 | 隐藏或 "" (空) | False | Y | N | Y | 符号链接、 WideLink 和自动标注 |
使用案例 #2 —符号链接和遍历 / 执行权限—如果 CIFS 共享由采用 NTFS 样式验证的卷托管、 而且共享根目录下的文件夹没有“遍历 / 执行 NTFS ”权限、 SymLink 配置可能会影响对支持 SMB 2 的客户端数据的访问。
例如:
- 管理员创建卷:
cifsvol1
并挂载到 Junction/cifsvol1
- 管理员创建共享
cifsvol1$
到/cifsvol1
- 管理员映射
Z: drive
cifsvol1$
并创建以下文件夹结构Z:foo
Z:foosubfoo
- admin 从
/Execute”
名为'subfoo'
user 的子目录中删除 "遍 历权限domainbobbyj
;保留所有其他权限不变。 - 集群模式 Data ONTAP 中的管理员创建共享“
fooshare
”并提供共享路径/cifsvol1/foo/subfoo
(注:共享路径的根指向管理员删除“traverse/execute
”权限的相同位置) - 用户
domainbobbyj
尝试将驱动器映射到 \吐 司司 . 域 . localfoShare domainbobbyj
系统将提示用户输入用户名和密码
这只是一个说明此用例的示例。可以在卷的连接路径或其以下的任何有效路径创建共享。如果共享是在连接的根创建的、即: /cifsvol1
共享映射将成功创建的。此特定使用情形要求traverse/execute
从共享点直接指向的位置删除权限。在集群模式 Data ONTAP 中, SymLink 的配置可能导致 SMB 功能“ FS ”被公布。发布 DFS 时,可能会导致 Microsoft 的某些 SMB 客户端受到影响。有关详细信息,请参见以下 Microsoft 知识库文章。以下图表将提供有关符号链接配置的影响以及缺少遍历 / 执行权限的信息。
集群模式 Data ONTAP 8.2.3 或 8.3 及更高版本
CIFS 选项为 -Advertise/dfs 启用设置 | symlink.properties 设置 |
已 删除遍历 / 执行权限 |
是否 可以使用符号链接 |
驱动器映射是否成功 | 是否受到集群模式 Data ONTAP 功能的影响 | 什么是集群模式 Data ONTAP 功能受到影响 | |
场景 1 | True | 启用 | Y | Y | N | N | 不适用 |
场景 2 | True | 只读、启用 | Y | Y | N | N | 不适用 |
场景 3 | True | 隐藏或 "" (空) | Y | N | N | Y | 符号链接、 WideLink 和自动标注 |
场景 4 | False | 启用 | Y | Y | N | N | 不适用 |
场景 5 | False | 只读、启用 | Y | Y | N | N | 不适用 |
场景 6 | False | 隐藏或 "" (空) | Y | N | Y | Y | 符号链接、 WideLink 和自动标注 |
使用案例 3 —本地安全策略“网络访问:不允许存储用于网络身份验证的密码和凭据”。以下 Microsoft 知识库文章概述了有关此特定本地安全设置的详细信息。使用 GPO 或使用控制面板设置此策略可能导致无法连接到网络共享、即使您以映射网络驱动器所使用的相同用户身份登录。有关详细信息,请参见以下示例:
- 域
User bobbyj
登录到定义了上述 GPO 的工作站 Bobbyj
尝试映射到驱动器并使用 Windows 资源管理器映射驱动器,但在映射驱动器时选择选项以使用不同的凭据进行连接- 出现提示时
bobbyj
、提供正确的凭据(这些凭据可以与登录用户或已授予访问权限的其他用户相同) - 驱动器映射失败,并显示错误消息 '
A specified logon session does not exist. It may already have been terminated'
注意:如果客户端运行'net use
Windows 命令行并指定/user:<username>
选项,则会出现同样的情况。这也是由于发布 DFS 的方式以及发布 DFS 时 GPO 的设置如何影响客户端。下表说明了各种设置和 GPO 的影响。
集群模式 Data ONTAP 8.2.3 或 8.3 及更高版本
CIFS 选项为 -Advertise/dfs 启用设置 | symlink.properties 设置 |
是否应用了 GPO |
驱动器映射是否成功 | 是否 可以使用符号链接 |
是否受到集群模式 Data ONTAP 功能的影响 | 什么是集群模式 Data ONTAP 功能受到影响 | |
场景 1 | True | 启用 | N | Y | Y | N | 不适用 |
场景 2 | True | 只读、启用 | N | Y | Y | N | 不适用 |
场景 3 | True | 隐藏或 "" (空) | N | Y | N | Y | 符号链接、 WideLink 和自动标注 |
场景 4 | False | 启用 | Y | N | Y | N | 不适用 |
场景 5 | False | 只读、启用 | Y | N | Y | N | 不适用 |
场景 6 | False | 隐藏或 "" (空) | Y | N | N | Y | 符号链接、 WideLink 和自动标注 |
其他信息
在此处添加您的文本。