ONTAP 中的共享符号链接设置和DFS公告对SMB客户端流量有何影响
不可不使用
适用场景
- ONTAP 9
- Data ONTAP 8 7-模式
问题解答
- NetApp已确定以下情形:配置UNIX符号链接(称为符号链接)以及集群运行的整个环境可能会导致CIFS客户端出现意外行为。
- 使用SMB2/SMB3的服务器消息块(SMB)客户端(例如Window 10、Windows Server 2016和Windows Server 2019)会受到影响。
- 使用SMB1 (例如Windows XP)的客户端不受影响。
- 本文将对比ONTAP 9中提供的符号链接设置与7-模式下运行的Data ONTAP。
- 本节不会全面回顾符号链接及其整体配置。
- 本文将介绍以下三种环境:
- 在数据路径中使用Riverbed WAN加速器的环境。
- 已删除"Traverse/Execute" 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 功能的支持。
ONTAP 9
在ONTAP 9中使用符号链接可通过几种不同的设置来控制。向 SVM 公布 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" ,此选项的设置控制 DFS 在 ONTAP 9 中的公布方式。- true - 与共享连接时将通告 DFS 、而不管共享属性“ ymlink-properties ”的设置如何。
- false - 连接到共享时不会始终通告 DFS 。如果设置为 "false" ,则 ONTAP 9 将推迟到共享属性设置 "ymlink-propertis" ,以进一步指导如何公布 DFS 功能。
本节提供了几种不同的解释、概述了几种不同的情形。请参见下面与您的环境相关的特定部分、以更好地了解符号链接的影响以及哪些设置在您的环境中最适合您。下面列出的命令提供了当前定义的设置以及必要时如何更改这些设置。
如何确认和修改必要的设置:
ONTAP 9
- 确认 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 。如果在连接和断开共享的客户端之间修改了该选项,则在不重新启动的情况下无法重新连接到共享。每个部分中的图表将详细介绍涉及 ONTAP 9 设置的各种场景及其影响。图表还将根据设置组合指示 ONTAP 9 中的哪些功能可能受到影响。
参考
用例 1 —符号链接和 Riverbed WAN 加速—
Riverbed WAN 加速器可能具有一个兼容性问题描述,其中涉及一个称为 "FS 功能 " 的特定 SMB 功能公告。当 Riverbed 设备跨越一个通告支持 DFS 的共享时,它不会加速 SMB 2 和 SMB 3 客户端流量。Riverbed 目前已了解此问题描述,有关详细信息,请联系 Riverbed 支持部门。
ONTAP 9
符号链接。属性共享设置 | CIFS 选项为 -Advertise-dfs 启用设置: | SMB 2/3 的 Riverbed 加速 | 是否可以使用符号链接 | 是否影响 ONTAP 9 功能 | 受影响的 ONTAP 9 功能 | |
场景 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
;保留所有其他权限不变。 - ONTAP 9 中的管理员创建共享 "
fooshare
并提供共享的路径,如/cifsvol1/foo/subfoo
注:共享路径的根指向管理员删除 "traverse/execute
权限的同一位置 - 用户
domainbobbyj
尝试将驱动器映射到 \吐 司司 . 域 . localfoShare domainbobbyj
系统将提示用户输入用户名和密码
这只是一个说明此用例的示例。可以在卷的连接路径或其以下的任何有效路径创建共享。如果共享是在连接的根创建的、即: /cifsvol1
共享映射将成功创建的。此特定使用情形要求traverse/execute
从共享点直接指向的位置删除权限。在 ONTAP 9 中,配置符号链接可能会导致公布 SMB 功能 "FS" 。发布 DFS 时,可能会导致 Microsoft 的某些 SMB 客户端受到影响。有关详细信息,请参见以下 Microsoft 知识库文章。以下图表将提供有关符号链接配置的影响以及缺少遍历 / 执行权限的信息。
ONTAP 9
CIFS 选项为 -Advertise/dfs 启用设置 | symlink.properties 设置 |
已 删除遍历 / 执行权限 |
是否 可以使用符号链接 |
驱动器映射是否成功 | 是否影响 ONTAP 9 功能 | 受影响的 ONTAP 9 功能 | |
场景 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 的影响。
ONTAP 9
CIFS 选项为 -Advertise/dfs 启用设置 | symlink.properties 设置 |
是否应用了 GPO |
驱动器映射是否成功 | 是否 可以使用符号链接 |
是否影响 ONTAP 9 功能 | 受影响的 ONTAP 9 功能 | |
场景 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 和自动标注 |
追加信息
有关 可能受符号链接和 DFS 设置影响的 SMB 功能的详细信息,请参见部署基于 SMB 服务器的服务