跳到主要内容

ONTAP 如何用于为 SMB 客户端提供对 Linux 符号链接的访问

符号链接指在 UNIX 环境中创建且包含到其他文件或目录的引用的文件。如果客户端访问符号链接,则客户端重定向到符号链接引用的目标文件或目录。ONTAP 支持相对和绝对符号链接,包括 widelink(与本地文件系统外部目标的绝对链接)。

ONTAP 可让 SMB 客户端遵循在 SVM 上配置的 Linux 符号链接。此功能为可选,您可以使用 vserver cifs share create 命令的 -symlink-properties 选项按共享配置该功能(采用以下设置之一):

  • 启用读取/写入访问

  • 启用只读访问

  • 通过从 SMB 客户端隐藏符号链接禁用

  • 从 SMB 客户端以无符号链接访问权限禁用

如果启用共享符号链接,相对符号链接也将有效,无需进一步配置。

如果启用共享符号链接,绝对符号链接将立即无效。必须先创建符号链接的 UNIX 路径到目标 SMB 路径的映射。创建绝对符号链接映射时,可以指定这是本地链接还是 widelink;widelink 可以是指向其他存储设备上的文件系统的链接,也可以是指向同一 ONTAP 系统上不同的 SVM 中托管的文件系统的链接。创建 widelink 时必须包含供客户端遵循的信息;也就是说,要创建一个重解析点,使客户端可以发现目录接合点。如果创建位于本地共享外但其所在位置设置为本地的文件或目录的绝对符号链接,ONTAP 将禁止访问目标。

如果客户端尝试删除本地符号链接(绝对或相对),将仅删除符号链接,而不会删除目标文件或目录。但是,如果客户端尝试删除 widelink,则可能删除 widelink 引用的实际目标文件或目录。ONTAP 无法控制此功能,因为客户端可以显式打开 SVM 外的目标文件或目录,并将其删除。
重解析点和 ONTAP 文件系统服务
重解析点是 NTFS 文件系统对象,可以选择与文件一起存储在卷上。使用 NTFS 模式卷时,重解析点使 SMB 客户端能够接收增强或扩展的文件系统服务。重解析点由标准标记和重解析点内容两部分组成,标准标记用于标识重解析点的类型,重解析点内容则可由 SMB 客户端检索来进行进一步处理。在可用于扩展文件系统功能的对象类型中,ONTAP 使用重解析点标记实现对 NTFS 符号链接和目录接合点的支持。无法理解重解析点内容的 SMB 客户端会忽略重解析点,并且不提供该重解析点可能启用的扩展文件系统服务。
目录接合点和 ONTAP 对符号链接的支持
目录接合点是文件系统目录结构中的位置,可以引用文件在其他路径(符号链接)或其他存储设备(widelink)上存储的备用位置。ONTAP SMB 服务器将目录接合点作为重解析点提供给 Windows 客户端,使具备相关功能的客户端在遍历目录接合点时可以从 ONTAP 获取重解析点的内容。由此,它们可以如同在同一文件系统内部一样,导航并连接到其他路径或存储设备。
使用重解析点选项启用 widelink 支持
ONTAP 9 中默认启用 -is-use-junctions-as-reparse-points-enabled 选项。并非所有 SMB 客户端都支持 widelink,因此启用该信息的选项可基于每个协议版本进行配置,以允许管理员同时管理受支持和不受支持的 SMB 客户端。在 ONTAP 9.4 及更高版本中,必须为使用 widelink 访问共享的每个客户端协议启用选项 -widelink-as-reparse-point-versions;默认值为 SMB2。

有关更多信息,请参阅 Microsoft NTFS 文档。

Microsoft 文档:重解析点