跳转到主内容

卷语言如何与运行 7 模式 Data ONTAP 的存储系统配合使用?

Views:
47
Visibility:
Public
Votes:
0
Category:
data-ontap-8
Specialty:
cifs
Last Updated:

适用于

7- 模式 Data ONTAP

解答

检查 Active IQ 是否会影响您的系统

每个卷都有一种语言。存储系统使用与语言对应的字符集。可以在创建卷期间指定卷的语言,也可以在创建后进行修改。默认情况下,卷的语言与根卷的语言相同。在某些情况下,不需要设置卷语言。以下是不同的情况:

  1. 如果卷仅用于 NFS (低于 V4 ):
    不执行任何操作(但文件由 Unicode 客户端创建时确实重要)
  2. 如果卷仅用于 CIFS 或 NFSv4 及更高版本:
    卷语言与 CIFS 无关。对于 NFS ,将卷的语言设置为其客户端的语言。
  3. 如果此卷同时用于 CIFS 和 NFS (低于 V4 )
    ,请将此卷的语言设置为 NFS 使用的区域设置。
  4. 通过打开 create_ucode 和 convert_ucode 卷选项,在创建卷时立即激活这些选项。
    vol options <volume_name> create_ucode on | off
    vol options <volume_name> convert_ucode on | off
  5. 降级传统客户端,例如 MSDOS ,它们不支持 unicode 。Do Require the volume language setting —此设置可提供这些客户端使用的 OEM 字符集。
    对于旧版客户端,请使用 " en " 卷语言设置,该设置可提供正常的 NFS 字符集和涵盖大多数欧洲国家或地区的 cp850 OEM 字符集,包括德语,西班牙语和法语。否则,请使用 " en_US " ,它提供 NFS 字符集和 cp437 OEM 字符集。这两种方法之间的区别可在相关cp850.h文件和cp437.h标题文件中找到。

最佳实践

  • 最好所有卷都使用相同的语言。如果卷与控制台语言不同,则具有路径名称的命令可能无法运行。
  • 设置语言后,请勿更改语言。 
    如果必须更改语言,请在卷中创建任何文件之前执行此操作,以便所有文件名都使用相同的语言。在卷中创建文件后更改语言可能会导致某些 NFS 编码无效。然后,文件名将无法读取且找不到,从而使这些文件无法访问。更改卷语言的最佳方法是,使用所需的语言集创建新卷,并使用外部软件将数据复制到新卷。这样可以确保客户端按预期创建编码, Data ONTAP 会以一种完全返回给客户端的方式写入该编码。 
  • 要从 Windows 和 UNIX 中查看相同的文件名,请仅使用这两个文件均合法且在 NFS 字符集中合法的字符。
    例如,请勿将日语文件名放在法语卷上。
  • 从技术上讲,更改卷语言后无需重新启动,因为磁盘和内存转换表都已更改为新语言。但是,如果Error starting OEM char setError starting NFS char set遇到类似或的错误消息,则需要重新启动,因为可能是由于内存不足而无法构建新的内存表。此外,如果不重新启动系统,内存中可能会出现陈旧数据的风险。

如果数据属于以下任一类别,则在写入数据后更改卷语言可能会产生一些影响:

  1. 如果卷仅包含 Windows OSSV 数据的副本,则不应引起关注。
  2. 如果满足以下所有条件,则除了在 SnapVault 或 qtree SnapMirror 关系失败时重新初始化这些关系之外,没有其他解决方法:
    1. 此卷包含非 unicode 源的副本 qtree ,即:
      • 未通过通用 Internet 文件系统( Common Internet File System , CIFS )协议访问的存储系统 qtree ,并且卷选项create_ucodeconvert_ucode均已关闭
      • 非 Windows OSSV 主数据
    2. create_ucode已打开,而二级卷未打开。  
    3. 主数据具有非 ASCII 文件名,并在同一目录(不是同一目录树,而是同一目录)中有多个硬链接

对于不属于上述任一类别的副本数据:

二级卷上的 NFS 访问可能会受到影响(名称可能看起来很奇,或者您只能看到像 8U10000 这样的 NFS 备用名称),直到主卷上发生目录操作且更新操作成功完成为止。

在这种情况下,要加快恢复速度,请重命名主系统上的每个非 ASCII 文件名。理想情况下,您可以将每个重命名为另一个目录,然后将其重命名为其原始位置。然后正确更新 SnapVault/SnapMirror 。

对于非副本数据:

  1. 如果卷create_ucodeconvert_ucode选项均关闭,并且 NFS 数据仅使用 NFS (而不是 CIFS )访问,则不会出现任何问题。
  2. 如果create_ucodeconvert_ucode在卷上设置了或选项,或者访问了 NFS 数据,则可能存在与 NFS 备用名称相关的一些问题。
  3. 如果文件中的字符超过 0x7f ,而这些字符位于非 Unicode 目录中,则在切换后访问这些文件时会出现问题。如果您确定这些不存在,则一切都应该正常。

对于 Unicode 目录中的文件, Unicode 是确定性的,问题是这些名称是根据您指定的字符集进行转换的。因此,如果将客户端配置为接受 UTF8 名称,则一切都应该正常。

是否可以使用扩展字符集(例如 日语)而不更改存储系统上的语言?

卷的语言为 UTF-8 语言集(即 en_US.UTF-8 ),如果客户端写入的文件名长度小于 255 字节,则无需更改语言。如果文件名非常长,例如超过 85 个字符,并且每个字符转换为 3 字节的 UTF-8 ,则会导致文件名大于允许的大小,如果用户尝试从 NFS 访问文件,则会看到 NFS 备用名称。在上述情况下,请将语言更改为本地化后支持的语言(例如 JA_v1 )允许每个日语字符包含 2 个字节,因此上述 85 个字符的文件名仅为 170 字节,而不是 255 。在这种情况下,当您达到文件名 128 个字符时,管理员仍会遇到文件名限制问题。

其他信息

附加信息 _text

 

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.