未解決
Community Manager
•
3.1K メッセージ
2
1115
待望の新機能ロングファイルネーム
*こちらの記事は2021年12月に開催された[AskTheExperts]PowerScaleコーデ 2021冬からの内容になります。
待望の新機能ロングファイルネーム
「もう長いファイル名には困らない」
Long File Nameの特徴
今回はOneFS9.3で追加されたPowerScaleファン待望の機能
「Long File Name (略称LFN)」のご紹介です。
Windows環境からPowerScaleへデータ移行する際に気になっていたこと。それは「日本語の長いファイル名がないか」ではないでしょうか?
Windows環境ではファイル名に255文字まで設定することができますが、
これまでPowerScaleでは255バイトまでしか設定することができませんでした。
PowerScaleは通常UTF-8の文字コードでファイルを保存していますが、
ほとんどの日本語は1文字で3バイト使用しますので、全て日本語(3バイト)で名前をつけると、ファイル名の上限は83文字ほどになります(拡張子を除く)。
ちなみに𩸽(ほっけ)や𩸕(はも)など一部の珍しい漢字は1文字4バイト使用するので、
さらに短いファイル名長が上限となります。
- 全て3バイト文字の場合 (255バイト – 5 文字 (拡張子 .docx .jpeg など) ) ÷ 3バイト ≒ 83 文字
- 255バイトを超えるファイル名長の例 (84文字 + .docx 拡張子 = 257バイト)
ながぁぁぁぁぁーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーいぃぃぃ名前.docx - このファイルをPowerScaleに保存すると、「対象のパスが長すぎます」とエラーになります。
このような255バイトを超える名前のファイルが既存のWindows環境にあった場合には、
対象ファイルの名前を変更してからPowerScaleへデータ移行していました。
この問題を解決すべく今回リリースされたOneFS9.3にて、
Long File Name (略称LFN)機能が追加されました。
LFNによりファイル名長の上限が255バイトから1,024バイトに拡張されたので、
これまでPowerScaleで扱えなかったWindows上の「長い日本語名のファイル」を、
そのままPowerScaleに移すことができます。
LFNで1,024バイトまでサポートされるので、1文字3バイト文字はもちろんですが、
全て1文字4バイト文字で255文字のファイル名だとしても、1,024バイト未満なのでそのままのファイル名でLFNを有効にしたフォルダに保存できます。
- 全て4バイト文字の場合 (1,024バイト – 5 文字 (拡張子 .docx .jpeg など) ) ÷ 4バイト ≒ 255 文字
- 1文字4バイト 255文字のファイル名長の例 (250文字 + .docx 拡張子 = 255バイト)
𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕𩸽𩸕.docx
またフォルダ名もファイル名と同じ1,024バイトまでサポートされます。ファイル名やフォルダ名が長い名前をサポートしたので、パス長の上限も1,024バイトから4096バイトまで拡張されました。これでWindows環境からのデータ移行も安心です。
Long File Nameの設定方法
それではWebUIとCLIからのLFN設定方法をご紹介します。
OneFSではデータの保護レベルや、スナップショット、クォータなどのデータサービスを、フォルダ単位で設定できるのが特徴の一つですが、LFNも同じくフォルダ毎に設定できます。
クラスター全体に対しても設定できますが、性能面の観点からLFNが必要なフォルダ毎に設定いただくのがおすすめです。
WebUIからの設定は、File system explorerから設定を行います。
LFNを設定したいフォルダのView/Editボタンから、画面下段にあるFile name limitsのプルダウンメニューを選択します。
- Full length (255 characters, 1,024 bytes) :255文字1,024バイトまで
- Inherited (255 characters, 1,024 / 255 bytes) :上位フォルダの設定を継承
- Restricted (255 characters, 255 bytes) :255文字255バイトまで(デフォルト)
またSMB共有の設定画面からも +See File name limit details リンクからLFN設定が確認できます。
次にコマンドラインからの設定方法ですが、isi namelengthコマンドを使用します。
- isi namelengthコマンドのサブコマンド
- create Create a file name length configuration domain.
- delete Delete a file name length configuration or all configurations.-
- modify Modify a file name length configuration domain.
- list View a list of file name length configuration domains.
- view View detailed properties of a file name length configuration domain.
- /ifs/lfnフォルダを1,024バイト 255文字対応にする場合
# isi namelength create --max-bytes=1024 --max-chars=255 /ifs/lfn
- LFNの設定を確認する場合
# isi namelength list
Path Policy Max Bytes Max Chars
--------------------------------------
/ifs/lfn full 1024 255
--------------------------------------
- /ifs/lfnフォルダを1,024バイト 255文字対応にする場合
# isi namelength create /ifs/lfn
- クラスター全体でLFN機能を有効する場合
# isi namelength create --policy=full /ifs
なお半角英数字などの1バイト文字で255文字を超えるファイル名を付けた場合は、
たとえ1,024バイト以下であっても、255文字が上限となるのでエラーになります。
# isi namelength list Path Policy Max Bytes Max Char
-------------------------------------------
/ifs/lfn full 1024 255
-------------------------------------------
# touch 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.docx
touch: 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.docx:
File name too long
前述のようLFNを有効にしたフォルダは1,024バイト255文字が上限ですが、255文字の上限を変更するカスタム設定もあります。このカスタム設定でOneFSからは1バイト文字で最大1,024文字のファイル名を保存できますが、Windowsからそのファイルを参照すると、Windowsの上限255文字までしかファイル名を読み取れないので、LFNのカスタム設定を使う際は、ユーザー側の文字数制限も確認のうえご検討下さい。
- 1,024バイト1024文字のLFN設定をした例
- OneFSから /ifs/salesフォルダに1,024バイト1,024文字のLFN設定をして、
1,024文字のテキストファイルを保存してみる。
- OneFSから /ifs/salesフォルダに1,024バイト1,024文字のLFN設定をして、
# isi namelength list
Path Policy Max Bytes Max Chars
------------------------------------------- /ifs/lfn full 1024 255
/ifs/sales custom 1024 1024
/ifs/se restricted 255 255
-------------------------------------------
Total: 3
# cd /ifs/sales
# touch 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.txt
#
- Windowsのエクスプローラから、このファイルをみると最初の255文字までしか読み取れない。
Long File Nameの補足情報
その他LFNをお使いいただく上での主な考慮点やご留意事項も紹介します。
詳しくはこちらのホワイトペーパーからもご確認いただけます。
Dell EMC PowerScale OneFS: Long Filename Support
- 255バイトを超えるLFNを表示する際、NFSクライアントでは超えた部分は短縮して表示されます。
NFS Exportの設定画面から 「File name limits」を1,024バイトにすることで、
NFSクライアントでもファイル名が省略されずフルレングスで表示できます。
ただしNFSクライアントおよびアプリケーションにてLFNは対応していないことが多いため、NFS ExportのLFN有効化は動作検証をした上でご検討下さい。
- LFNとOneFSその他のデータサービスとの互換性について
- SnapshotIQやSmartQuotasはLFN有効後も従来通り利用可能です。
- SyncIQについてはソース側だけでなくターゲット側のクラスターも
OneFS9.3以降且つLFNを有効にしている必要があります。 - AntiVirus機能について、ICAPは非対応ですが、CAVAは対応となります。
- Audit(アクセス監査ログ)ではLFNにてAudit Logに記載されます。
今回はOneFS9.3にて追加された Long File Name (LFN)についてご紹介しました。
LFNによりWindows環境で使用されている「ながぁぁ――――――(省略)――――――い名前」のファイルも、そのままPowerScaleへ移行できるようになりました。もちろん追加費用なしでお使いいただけます。
より使いやすくなったPowerScaleに今後もご期待下さい。