跳转到主内容

网络文件系统( NFS )和 SMB/CIFS 的文件命名约定以及文件名的最大长度是什么?

Views:
631
Visibility:
Public
Votes:
1
Category:
ontap-9
Specialty:
nas
Last Updated:

可不使用  

适用场景

  • ONTAP 9
  • CIFS \NFS
  • 文件路径\名称的最大长度

问题解答

  • 文件名将被截断
  • 错误消息: File not found
  • 无法打开文件名较长的文件
  • 通过SMB从Windows客户端计算机浏览时、文件名显示为8.3格式。
  • UNIX用户正在通过NFS挂载点保存文件。通过CIFS从Windows客户端计算机浏览时、文件名显示为8.3格式。

 

 
  • NFS 和 CIFS 使用的文件的文件命名约定
    • 文件命名约定取决于客户端的操作系统和文件共享协议。例如,对于运行 UNIX 操作系统的客户机来说,文件名区分大小写,对于运行任何 Windows 操作系统的客户机而言,文件名不区分大小写。
  • 文件名的最大长度
    • 在存储系统上、对于支持 PC 长文件名格式的 NFS 客户端和 CIFS 客户端、文件名的最大长度为 255 个字符。

注意:这与最大文件路径长度是分开的,对于CIFS为32727,对于NFS为4096。

  • 某些CIFS客户端(如MS-DOS和Windows 3.x客户端)仅支持8.3格式的文件名(文件名8个字符、文件扩展名3个字符)。在可从CIFS客户端访问的任何目录中、存储系统会创建并维护两个名称:原始长名称和8.3格式的附加短名称。  存储系统将 生成8.3名称、如下所示:
    • 此操作会将文件名转换为六个字符。
    • 它会 tilde (~) 在名称后附加一个和一个数字或字母。如果由于名称太多而导致缺少字母和数字、则会创建一个与原始文件名无关的唯一文件名。
    • 它会将文件扩展名会被短接为三个字符。

注意:短名称后面附加的数字或字母可确保文件名是唯一的。它不用于显示文件创建顺序。

  • 例如,如果NFS客户端创建一个名为的文件 specifications.html,则 存储系统创建的简称 为 specif~0.htm。如果此短名称已存在、则 存储系统 会在文件名末尾使用其他数字。例如,如果UNIX客户端创建另一个名为的文件 specifications_new.html,的简称 specifications_new.htmlspecif~1.htm
  • 短名称显示在仅支持8.3格式的客户端上。短名称对NFS客户端不可见。在Windows 95和Windows NT客户机上,您可以选择使用文件属性来显示短名称或长名称。

注意 在某些情况下,在使用8.3格式名称的客户端上运行的应用程序可以使用 lose 文件的原始长格式名称。这可能是由于应用程序保存已编辑的文件的方式而导致的。某些应用程序会重命名原始文件、然后将编辑后的文件保存为新创建的文件。然后、文件管理器会收到删除原始文件并创建新文件的说明。如果客户端仅支持8.3名称、则此新名称将不再具有等效的长格式。

  • 请注意,NetApp上的DOS模拟与Windows XP上的不同。dir/x NetApp上的cmd会在达到限制后随机排列名称、而在XP目录中、前两个字符会保留下来。此限制为5个文件或目录、并且在8.3命名方案的前8个字符中包含重复的字符集。XP和NetApp将根据 ~1 命名方案的部分按上次修改日期对文件进行命名、而NetApp将在达到5的限制后删除编号。
    • 在Windows XP Professional SP2中显示如下:
    • 目录 C:test dir /x

04/24/2008  10:41 AM   <DIR>                       .
04/24/2008  10:41 AM   <DIR>                       ..
04/24/2008  10:41 AM   <DIR>          MS57C1~1     MSSDK_4_01
04/24/2008  10:41 AM   <DIR>          MS67C1~1     MSSDK_4_02
04/24/2008  10:41 AM   <DIR>          MS77C1~1     MSSDK_4_03
04/24/2008  10:41 AM   <DIR>          MSSDK_~4     MSSDK_4_04
04/24/2008  10:41 AM   <DIR>          MSSDK_~3     MSSDK_4_05
04/24/2008  10:41 AM   <DIR>          MSSDK_~2     MSSDK_4_06
04/24/2008  10:41 AM   <DIR>          MSSDK_~1     MSSDK_4_07
               0 File(s)              0 bytes
               9 Dir(s)  37,710,434,304 bytes free

  • 同样,但在 NetApp 上:
  • 目录 Z:test dir /x

04/24/2008  10:39 AM   <DIR>                       .
04/24/2008  10:38 AM   <DIR>                       ..
04/24/2008  10:39 AM   <DIR>          MSSDK_~1     MSSDK_4_01
04/24/2008  10:39 AM   <DIR>          MSSDK_~2     MSSDK_4_02
04/24/2008  10:39 AM   <DIR>          MSSDK_~3     MSSDK_4_03
04/24/2008  10:39 AM   <DIR>          MSSDK_~4     MSSDK_4_04
04/24/2008  10:39 AM   <DIR>          MSSDK_~5     MSSDK_4_05
04/24/2008  10:39 AM   <DIR>          U9ORL00~     MSSDK_4_06
04/24/2008  10:39 AM   <DIR>          V9ORL00~     MSSDK_4_07
               0 File(s)              0 bytes
               9 Dir(s)  2,967,848,583,168 bytes free

 

  • 配置非法字符的备用演示文稿
    • 当通过 NFS 创建的文件包含非法字符时,charmap可以使用该命令设置转换表以向 CIFS 客户机显示此类字符的替代显示。客户端将看到完整的长文件名,尽管其外观不同。

备注:请务必不要将非法字符映射到文件名中使用或预期使用的字符。如果这样做,例如通过将冒号映射到 a-umlauta-umlauts 则在CIFS客户端生成的文件名中,NFS客户端将转换为冒号。

  • 每个卷可以有不同的转换表、必须根据需要为每个卷配置。此表仅涵盖对于CIFS非法的字符。
  • 案例冲突
    • 如上所述, Windows 系统不区分大小写。因此, UNIX 系统可以创建两个文件test.txtTEST.txt这对它很好、但 Windows 无法将它们分开。文件管理器知道这一点后,将为第二个文件创建一个 Tilde 表示形式,并进一步对文件进行冲突。这应该显示text.txt为和 text~1.txt

注意: 在Apple OS X 10.4及更早版本中、使用AFP也会受到Windows共享、日语字符以及文件名32个字符限制的限制。

  • 在 ONTAP 中启用搜索短名称。
    • 默认情况下,在 ONTAP ( cDOT 、集群模式 Data ONTAP )上运行时、 CIFS SVM (虚拟服务器)不能搜索 8.3 个短名称。
    • 如果需要让 SVM 也搜索可以启用的短名称、但也可能会影响性能。  只有在旧应用程序需要时才应启用该功能。
    • 要启用搜索短名称,请在高级权限级别运行此命令:
      • ::*> vserver cifs options modify -vserver <SVM name> -is-search-short-names-enabled true.

 

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.