ONTAP 如何处理多字节文件,目录和 qtree 名称
从 ONTAP 9.5 开始,通过支持 4 字节 UTF-8 编码名称,可以在基本多语言平面( BMP )之外创建和显示包含 Unicode 补充字符的文件,目录和树名。在早期版本中,这些补充字符无法在多协议环境中正确显示。
为了支持4字节UTF-8编码名称、为提供了一个新的_utf8mb4_语言代码 vserver
和 volume
命令系列。
您必须通过以下方式之一创建新卷:
-
设置音量
-language
显式选项:volume create -language utf8mb4 {…}
-
继承卷
-language
使用选项创建或修改的SVM中的选项:vserver [create|modify] -language utf8mb4 {…}``volume create {…}
-
在ONTAP 9.6及更早版本中、您不能修改现有卷以支持utf8mb4;您必须创建一个新的utf8mb4就绪卷、然后使用基于客户端的复制工具迁移数据。
您可以更新 SVM 以获得 utf8mb4 支持,但现有卷会保留其原始语言代码。
如果您使用的是ONTAP 9.7P1或更高版本、则可以根据支持请求修改utf8mb4的现有卷。有关详细信息,请参见 "在ONTAP中创建卷后是否可以更改卷语言?"。
-
从ONTAP 9.8开始、您可以使用
[-language <Language code>]
用于将卷语言从*。UTF-8更改为utf8mb4的参数。要更改卷的语言、请联系 "NetApp 支持"。
当前不支持包含 4 字节 UTF-8 字符的 LUN 名称。 |
-
Unicode 字符数据通常在使用 16 位 Unicode 转换格式( UTF-16 )的 Windows 文件系统应用程序和使用 8 位 Unicode 转换格式( UTF-8 )的 NFS 文件系统中表示。
在 ONTAP 9.5 之前的版本中,由 Windows 客户端创建的名称(包括 UTF-16 补充字符)会正确显示给其他 Windows 客户端,但对于 NFS 客户端,这些名称未正确转换为 UTF-8 。同样,对于 Windows 客户端,已创建的 NFS 客户端使用 UTF-8 补充字符的名称也未正确转换为 UTF-16 。
-
在运行 ONTAP 9.4 或更早版本的系统上创建包含有效或无效补充字符的文件名时, ONTAP 将拒绝该文件名并返回无效文件名错误。
要避免此问题描述,请在文件名中仅使用 BMP 字符并避免使用补充字符,或者升级到 ONTAP 9.5 或更高版本。
从 ONTAP 9 开始, qtree 名称中允许使用 Unicode 字符。
-
您可以使用
volume qtree
用于设置或修改qtree名称的命令系列或System Manager。 -
qtree 名称可以包含 Unicode 格式的多字节字符,例如日语和中文字符。
-
在 ONTAP 9.5 之前的版本中,仅支持 BMP 字符(即,可以用 3 个字节表示的字符)。
在 ONTAP 9.5 之前的版本中, qtree 父卷的接合路径可以包含带有 Unicode 字符的 qtree 和目录名称。。 volume show
命令可在父卷具有UTF-8语言设置时正确显示这些名称。但是,如果父卷语言不是 UTF-8 语言设置之一,则会使用数字 NFS 备用名称显示接合路径的某些部分。 -
在 9.5 及更高版本中,如果 qtree 位于启用了 utf8mb4 的卷中,则 qtree 名称中支持 4 字节字符。