Network File System ( NFS )と SMB/CIFS のファイル命名規則とファイル名の最大長は何ですか。
すべてのとおり
環境
- ONTAP 9
- CIFS\NFS
- ファイルパス\名の最大長
回答
- ファイル名が切り捨てられる
- エラー メッセージ:
File not found
- 長いファイル名を持つファイルは開けません
- WindowsクライアントマシンからSMB経由でブラウズする場合、ファイル名は8.3形式で表示されます。
- UNIXユーザがNFSマウントポイントを使用してファイルを保存しています。WindowsクライアントマシンからCIFS経由で参照する場合、ファイル名は8.3形式で表示されます。
- NFSとCIFSの両方で使用されるファイルの命名規則
- ファイルの命名規則は、クライアントのオペレーティングシステムとファイル共有プロトコルの両方によって異なります。たとえば、ファイル名では、UNIXオペレーティングシステムを実行しているクライアントでは大文字と小文字が区別され、Windowsオペレーティングシステムを実行しているクライアントでは大文字と小文字が区別されません。
- ファイル名の最大長
- ストレージ・システム上で、PCの長いファイル名形式をサポートするNFSクライアントおよび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
ストレージシステムによって作成される短縮名 はですspecif~0.htm
。この短い名前がすでに存在する場合は 、ファイル名の末尾に別の番号が使用されます。たとえば、UNIXクライアントがという名前の別のファイルを作成する場合、specifications_new.html
の短いバージョンspecifications_new.html
はですspecif~1.htm
。 - 短縮名は、8.3形式のみをサポートするクライアントに表示されます。短縮名はNFSクライアントには表示されません。Windows 95およびWindows NTクライアントでは、[ファイルのプロパティ]を使用して短い名前または長い名前を表示するように選択できます。
注: 場合によっては、8.3形式の名前を使用するクライアント上で実行されているアプリケーションが、 lose
ファイルの元の長い形式の名前になることがあります。これは、アプリケーションが編集したファイルを保存する方法の結果として発生する可能性があります。一部のアプリケーションでは、元のファイルの名前を変更し、編集したファイルを新しく作成したものと同じように保存します。Filerは、元のファイルを削除して新しいファイルを作成する指示を受け取ります。クライアントが8.3形式の名前のみをサポートしている場合、この新しい名前は長い形式では使用されなくなります。
- NetApp上のDOSエミュレーションは、Windows XP上のものとは異なることに注意してください。
dir/x
NetAppのcmdは上限に達した後に名前をランダム化し、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経由で作成されたファイルに不正な文字が含まれている場合は
charmap
、コマンドを使用して変換テーブルを設定し、CIFSクライアントにそのような文字の代替表示を提供できます。クライアントには、表示は異なりますが、完全な長いファイル名が表示されます。
- NFS経由で作成されたファイルに不正な文字が含まれている場合は
注意:不正な文字を、他の方法で使用されたり、ファイル名で使用されると予想される文字にマップしないことが重要です。その場合、たとえばコロンをにマッピングする a-umlaut
と、 a-umlauts
CIFSクライアントで生成されたファイル名の中で、NFSクライアントではコロンに変換されます。
- 各ボリュームは異なる変換テーブルを持つことができ、必要に応じてボリュームごとに設定する必要があります。この表には、CIFSに使用できない文字のみが記載されています。
- ケース衝突:
- 前述のように、Windowsシステムでは大文字と小文字が区別されません。そのため、UNIXシステムでは2つのファイルを作成できます
test.txt
TEST.txt
が、Windowsではそれらを分離できませんでした。これを知っていると、Filerは2番目のファイルとそれ以降の衝突ファイルのチルダ表現を作成します。text.txt
と表示されるはずですtext~1.txt
- 前述のように、Windowsシステムでは大文字と小文字が区別されません。そのため、UNIXシステムでは2つのファイルを作成できます
注意: Apple OS X 10.4以前では、AFPを使用すると、Windows共有、日本語文字、および32文字のファイル名制限にも制限があります。
- ONTAPでの短縮名の検索を有効にします。
- CIFS SVM(SVM)を ONTAP(clustered Data ONTAP)で実行している場合、デフォルトでは8.3形式の短縮名を検索できません。
- SVMで短縮名も検索する必要がある場合は有効にできますが、パフォーマンスに影響することもあります。 レガシーアプリケーションで必要な場合にのみ有効にしてください。
- 短縮名の検索を有効にするには、advanced権限レベルで次のコマンドを実行します。
::*> vserver cifs options modify -vserver <SVM name> -is-search-short-names-enabled true.