メインコンテンツへスキップ

Network File System(NFS)およびSMB/CIFSのファイル命名規則とファイル名の最大長は何ですか?

Views:
3,048
Visibility:
Public
Votes:
2
Category:
ontap-9
Specialty:
nas
Last Updated:

 

環境

  • ONTAP 9
  • CIFS\NFS
  • ファイルパス\名前の最大長

回答

  • ファイル名が切り捨てられる
  • エラーメッセージ: File not found
  • 長いファイル名のファイルは開けません
  • SMB経由でWindowsクライアントマシンから参照すると、ファイル名が8.3形式で表示される。
  • UNIXユーザはNFSマウントポイント経由でファイルを保存。WindowsクライアントマシンからCIFS経由で参照する場合、ファイル名は8.3形式で表示される。

 

 
  • NFSとCIFSの両方で使用されるファイルの命名規則
    • ファイルの命名規則は、クライアントのオペレーティングシステムとファイル共有プロトコルの両方に依存します。たとえば、UNIXオペレーティングシステムを実行しているクライアントではファイル名は大文字と小文字が区別され、Windowsオペレーティングシステムを実行しているクライアントでは大文字と小文字が区別されません。
  • ファイル名の最大長
    • ストレージシステム上で、NFSクライアントおよびPCの長いファイル名形式をサポートするCIFSクライアントの場合、ファイル名の最大長は255文字です。

: これは、最大ファイルパス長(CIFSの場合は32727、NFSの場合は4096)とは別です。

  • MS-DOSクライアントやWindows 3.xクライアントなど、一部のCIFSクライアントは、8.3形式(ファイル名が8文字、ファイル名拡張子が3文字)のファイル名のみをサポートします。CIFSクライアントからアクセスされるディレクトリでは、ストレージシステムが元のロングネームと8.3形式の追加のショートネームという2つの名前を作成し、維持します。ストレージシステムは、次のように8.3形式の名前を生成します。
    • ファイル名は6文字に切り詰められます。
    • tilde (~) と数字または文字が名前に付加されます。類似した名前が多すぎて文字と数字が足りなくなった場合、元のファイル名とは関係のない一意のファイル名が作成されます。
    • ファイルの拡張子が3文字に短縮されます。

: 短い名前に数字または文字を追加することで、ファイル名が一意になります。ファイルの作成順序を示すものではありません。

  • たとえば、NFSクライアントがspecifications.htmlという名前のファイルを作成した場合、storage systemによって作成される短縮名はspecif~0.htmです。この短縮名がすでに存在する場合、storage systemはファイル名の末尾に別の番号を使用します。たとえば、UNIXクライアントが別のspecifications_new.htmlという名前のファイルを作成した場合、specifications_new.htmlの短縮バージョンはspecif~1.htmです。
  • 短縮名は8.3形式のみをサポートするクライアントに表示されます。短縮名はNFSクライアントには表示されません。Windows 95およびWindows NTクライアントでは、File Propertiesを使用して短縮名または長い名前を表示することができます。

: 状況によっては、8.3形式の名前を使用するクライアントで実行されているアプリケーションが、ファイルの元の長い形式の名前をlose取得できることがあります。これは、アプリケーションが編集したファイルを保存する方法の結果として発生することがあります。一部のアプリケーションは、元のファイルの名前を変更し、編集したファイルを新しく作成されたかのように保存します。その後、ファイラーは元のファイルを削除し、新しいファイルを作成するように指示を受け取ります。クライアントが8.3形式の名前のみをサポートしている場合、この新しい名前には長い形式での対応がなくなります。

  • NetAppのDOSエミュレーションはWindows XPとは異なることに注意してください。NetAppのdir/xcmdは制限に達すると名前をランダム化しますが、XPディレクトリでは最初の2文字が残ります。制限は、8.3命名方式の最初の8文字に重複する文字セットを持つファイルまたはディレクトリが5つまでです。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で作成されたファイルに不正な文字が含まれている場合、文字マッピング を使用して変換テーブルを設定し、そのような文字をCIFSクライアントに別の表示で提示できます。クライアントには、見た目は異なりますが、完全な長いファイル名が表示されます。

:ファイル名で使用されている、または使用されることが想定されている文字に不正な文字をマッピングしないことが重要です。たとえば、コロンをa-umlautにマッピングすると、CIFSクライアントによって生成されたファイル名のa-umlautsがNFSクライアント用にはコロンに変換されます。

  • 各ボリュームで異なる変換テーブルを使用でき、必要に応じて各ボリュームに設定する必要があります。このテーブルは、CIFSで使用できない文字のみを対象としています。
  • 大文字小文字の衝突
    • 前述のように、Windowsシステムは大文字と小文字を区別しません。したがって、UNIXシステムはtest.txtTEST.txtという2つのファイルを作成できますが、Windowsではそれらを区別できません。それを踏まえて、Filerは2番目以降の衝突するファイルにチルダ表記を作成します。それはtext.txttext~1.txtとして表示されるはずです。

注: Apple OS X 10.4 以前では、AFP を使用すると、Windows 共有、日本語文字、ファイル名の32文字制限にも制約が発生します。

  • ONTAP で短縮名の検索を有効にする。
    • デフォルトでは、CIFS SVM(vserver)はONTAP(cDOT、Clustered Data ONTAP)上で実行されている場合、8.3短縮名を検索する機能がありません。
    • SVMでも短縮名を検索する必要がある場合は有効にできますが、パフォーマンスに影響を与える可能性もあります。  レガシーアプリケーションで必要な場合にのみ有効にしてください。
    • 短縮名の検索を有効にするには、advanced権限レベルで次のコマンドを実行します。
      • ::*> 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.