エフサステクノロジーズ株式会社

本ページの製品は2024年4月1日より、エフサステクノロジーズ株式会社に統合となり、順次、切り替えを実施してまいります。一部、富士通表記が混在することがありますので、ご了承ください。

ONTAP 9 マニュアル ( CA08871-402 )

to English version

ボリュームでのSMBファイル名の変換のための文字マッピングの設定

NFSクライアントは、SMBクライアントと特定のWindowsアプリケーションでは無効な文字を含むファイル名を作成できます。ボリュームにおけるファイル名の変換のための文字マッピングを設定できます。これにより、そのままでは無効なNFS名を持つファイルにSMBクライアントからアクセスできます。

タスク概要

SMBクライアントがNFSクライアントによって作成されたファイルにアクセスすると、ONTAPはファイル名を調べます。ファイル名が有効なSMBファイル名でない場合は(たとえば、コロン「:」文字が含まれている場合)、ONTAPは各ファイルに対して維持されている8.3形式のファイル名を返します。ただし、これにより、長いファイル名に重要な情報をエンコードしているアプリケーションでは問題が発生します。

したがって、異なるオペレーティング システムを使用するクライアント間でファイルを共有する場合は、両方のオペレーティング システムで有効な文字をファイル名に使用するようにしてください。

これとは別に、SMBクライアントで有効でない文字を含むNFSクライアントが作成したファイル名がある場合は、無効なNFSの文字を、SMBと特定のWindowsアプリケーションの両方で有効なUnicode文字に変換するマッピングを定義できます。たとえば、この機能はCATIAR MCADおよびMathematicaアプリケーションをサポートしていますが、同じ要件を持つほかのアプリケーションでも使用できます。

文字マッピングはボリューム単位で設定できます。

ボリュームで文字マッピングを設定する場合は、次の点に留意する必要があります。

  • 文字マッピングは、ジャンクション ポイントを越えて適用されることはありません。

    文字マッピングは、各ジャンクション ボリュームに対して明示的に設定する必要があります。

  • 無効な文字を表すUnicode文字が、通常はファイル名に使用されないようにする必要があります。これらの文字が使用されていた場合、不要なマッピングが発生します。

    たとえば、コロン(:)をハイフン(-)にマッピングしようとした場合に、ファイル名に正しく使用されているハイフン(-)が存在すると、Windowsクライアントが「a-b」という名前のファイルにアクセスする要求を行ったときに、「a:b」というNFS名にマッピングされてしまいます(望ましい結果ではありません)。

  • 文字マッピングを適用してもまだマッピングに無効なWindows文字が含まれている場合、ONTAPはWindows 8.3ファイル名にフォールバックします。

  • FPolicy通知、NAS監査ログ、セキュリティ トレース メッセージでは、マッピングされたファイル名が表示されます。

  • タイプがDPであるSnapMirror関係が作成されても、ソース ボリュームの文字マッピングはデスティネーションDPボリュームにレプリケーションされません。

  • 大文字と小文字の区別:マッピングされたWindows名はNFS名に変わるため、名前の検索もNFSの基準に従います。これには、検索時に大文字と小文字が区別されることも含まれます。そのため、マッピングされた共有にアクセスするアプリケーションは、Windowsの大文字と小文字を区別しない動作に依存できません。ただし8.3形式の名前は(大文字と小文字が区別されませんが)使用可能です。

  • 部分マッピングまたは無効なマッピング:名前をマッピングしてクライアントに戻ったあと、「dir」コマンドでディレクトリーのファイル一覧を表示すると、生成されたUnicode名がWindowsで有効かチェックされます。この名前に無効な文字が含まれているか、Windowsで無効なファイル名(「.」または空白で終了するなど)の場合は、無効なファイル名の代わりに8.3形式の名前が返されます。

手順
  1. 文字マッピングを設定します。

    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

      ±

      プラスマイナス記号

    • ターゲット マッピング

      ターゲット文字には、Unicodeの「私用領域」をU+E0000からU+F8FFの範囲で指定できます。

次のコマンドは、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
Top of Page