ボリュームでのSMBファイル名の変換のための文字マッピングの設定
NFSクライアントは、SMBクライアントおよび特定のWindowsアプリケーションで無効な文字を含むファイル名を作成できます。ボリュームでのファイル名の変換のための文字マッピングを設定すると、本来は無効なNFS名を持つファイルにSMBクライアントからアクセスできるようになります。
SMBクライアントがNFSクライアントによって作成されたファイルにアクセスすると、ONTAPはファイル名を確認します。ファイル名が有効な SMB ファイル名でない場合は(たとえば、コロンが含まれている場合)、 ONTAP は各ファイルに対して保持されている 8.3 形式のファイル名を返します。ただし、これにより、重要な情報を長いファイル名にエンコードするアプリケーションで問題が発生します。
したがって、異なるオペレーティングシステム上のクライアント間でファイルを共有する場合は、両方のオペレーティングシステムで有効な文字をファイル名に使用する必要があります。
ただし、SMBクライアントで有効でない文字を含むファイル名をNFSクライアントが作成する場合は、無効なNFS文字をSMBと特定のWindowsアプリケーションの両方で使用できるUnicode文字に変換するマップを定義できます。たとえば、この機能は、CATIA MCADおよびMathematicaアプリケーションだけでなく、この要件を持つ他のアプリケーションもサポートしています。
文字マッピングはボリューム単位で設定できます。
ボリュームに文字マッピングを設定する場合は、次の点に注意する必要があります。
-
文字マッピングは、ジャンクションポイント全体には適用されません。
文字マッピングは、各ジャンクションボリュームに対して明示的に設定する必要があります。
-
無効な文字または不正な文字を表すUnicode文字は、通常はファイル名に使用されない文字であることを確認する必要があります。使用されていないと、不要なマッピングが発生します。
たとえば ' コロン (:) をハイフン (-) にマップしようとした場合 ' ファイル名にハイフン (-) が正しく使用されていれば 'Windows クライアントが "a-b`" という名前のファイルにアクセスしようとすると ' その要求は NFS 名 "a:b`" にマップされます ( 望ましい結果ではありません )
-
文字マッピングを適用したあともマッピングに無効なWindows文字が含まれている場合、ONTAPはWindows 8.3ファイル名にフォールバックします。
-
FPolicy通知、NAS監査ログ、およびセキュリティトレースメッセージでは、マッピングされたファイル名が表示されます。
-
DPタイプのSnapMirror関係が作成された場合、ソースボリュームの文字マッピングはデスティネーションDPボリュームにレプリケートされません。
-
大文字と小文字の区別:マッピングされたWindows名はNFS名に変わるため、名前の検索はNFSのセマンティクスに従って行われます。これには、NFS検索では大文字と小文字が区別されることも含まれます。つまり、マッピングされた共有にアクセスするアプリケーションは、Windowsの大文字と小文字を区別しない動作に依存してはなりません。ただし8.3形式の名前は使用可能で、大文字と小文字は区別されません。
-
部分マッピングまたは無効なマッピング:名前をマッピングしてディレクトリ列挙(「dir」)を実行するクライアントに戻ったあと、生成されたUnicode名がWindowsで有効かどうかがチェックされます。その名前に無効な文字が含まれている場合、またはWindowsで無効な文字が含まれている場合(例:「.」または空白で終わる場合)は、無効な名前の代わりに8.3形式の名前が返されます。
-
文字マッピング「 + 」を設定します
vserver cifs character-mapping create -vserver vserver_name -volume volume_name -mapping mapping_text, …
+
マッピングは、「 : 」で区切られたソース文字とターゲット文字のペアのリストで構成されます。文字は、16進数を使用して入力されたUnicode文字です。例: 3C : E03C+
コロンで区切られた各ペアの最初の値 `mapping_text`は、変換するNFS文字の16進値です。2番目の値は、SMBで使用されるUnicode値です。マッピングペアは一意である必要があります(1対1のマッピングが存在する必要があります)。
-
ソースマッピング
次の表に、ソースマッピングで許可されるUnicode文字セットを示します。
+
Unicode 文字 | 印刷された文字 | 説明 |
---|---|---|
0x01-0x19 |
該当なし |
印刷されない制御文字 |
0x5C |
バックスラッシュ |
|
0x3A |
: |
コロン |
0x2A |
* |
アスタリスク |
0x3F |
? |
疑問符 |
0x22 |
" |
引用符 |
0x3C |
< |
より小さい |
0x3E |
> |
次の値より大きい |
0x7C |
||
縦線 |
0xB1 |
± |
-
ターゲットマッピング
ターゲット文字には、 U+E0000…U+F8FF の範囲の Unicode の「私用領域」を指定できます。
次のコマンドは、 Storage Virtual Machine ( SVM ) vs1 上の「 data 」という名前のボリュームに文字マッピングを作成します。
cluster1::> vserver cifs character-mapping create -volume data -mapping 3c:e17c,3e:f17d,2a:f745 cluster1::> vserver cifs character-mapping show Vserver Volume Name Character Mapping -------------- ----------- ------------------------------------------ vs1 data 3c:e17c, 3e:f17d, 2a:f745