メインコンテンツまでスキップ

MaxDirSize とは

Views:
781
Visibility:
Public
Votes:
0
Category:
ontap-9
Specialty:
core
Last Updated:

すべてのとおり  

に適用されます

  • ONTAP 9
  • Data ONTAP 8

回答

  • maxdir-size は、ディレクトリファイルが拡張できる最大サイズを制限するボリュームオプションです。ディレクトリが拡張できる最大サイズ( K バイト)を設定します。 
  • 次のエラー メッセージが表示されます。

Sun Aug 19 00:17:28 EDT [wafl.dir.size.max:warning]: Directory reached the maxdirsize limit. Reduce the number of files or use the vol options command to increase this limit.

  • ほとんどのユーザは、この設定を変更する必要はありません。
    • このオプションは、システムユーザがディレクトリをシステムパフォーマンスに影響を与えるサイズに拡張する場合に便利です。
    • ユーザが制限値 ENOSPC のディレクトリにファイルを作成しようとすると、エラーが返されて作成に失敗します。
  • 特定のディレクトリ操作ではディレクトリ全体をメモリに常駐させる必要があるため、このオプションは必要以上に大きくしないことを推奨します。
    • このため、これらの操作ではディレクトリ全体をロードする必要があります。ロードには時間がかかり、最悪の場合はロードできません。
  • メモ:
    • Maxdir-size はボリュームオプションで、異なるモデルプラットフォーム間でのボリュームの Snapmirroring 時に転送されます。 
    • ボリュームが低いメモリプラットフォーム(つまり、デフォルトの maxdir-size が小さい)から大きいメモリプラットフォームに転送された場合、はより小さい maxdir-size を保持します。 
    • このエラーが、プラットフォームのデフォルトよりも小さい maxdir-size が設定されているボリュームで受信された場合は、 maxdir-size をプラットフォームのデフォルトに安全に設定できます。
  • maxdir-size 制限の主な目的は、パフォーマンスです。ディレクトリを介したスキャンは線形です。
    • 平均すると、検索ごとにディレクトリサイズの半分をスキャンする必要がありますが、これは低速になる可能性があります。
    • WAFL は、使用されるディレクトリデータ構造を拡張します。
    • ただし、ディレクトリが拡大しても、ディレクトリ構造を削除して再作成しなくても、ディレクトリ構造を減らすことはできません。
    • ディレクトリから多数のファイルが削除されている場合は、次の手順を実行してディレクトリスペースを削減できます。
  1. ファイルを一時ディレクトリにコピーします。
  2. 元のディレクトリを削除します。
  3. 一時ディレクトリの名前を元のディレクトリ名に変更します。
  • 少数のファイルしか削除されなかった場合、またはディレクトリファイルのサイズを小さくするのに手順が効果を得なかった場合は、 maxdir-size を大きくします。
    • 詳細については、ご使用の OS バージョンに対応した ONTAP マニュアルを参照してください。
  • 次のエラーメッセージが表示された場合は、 maxdir-size の設定を増やすか、既存のファイルを再編成して、単一のディレクトリに格納されないようにします。

Error message: [myvol@filer: wafl.dir.size.max:warning]: Directory [dir] has reached the maxdirsize limit. Please increase the maxdirsize by using the vol options command.

Data ONTAP 8 ( 7 モード)の構文は次のとおりです。

vol options volname maxdirsize {size in Kb}

ONTAP 9 以降では、次の構文を使用します。

volume modify -vserver {NAME} -volume {NAME} -maxdir-size {size in bytes}

次の例では、 SVM1 という名前の仮想サーバ上のボリューム vol1 に、最大ディレクトリサイズを 60 MB に設定します。

 cluster1::*> volume modify vol1 -vserver svm1 -maxdir-size 60MB Volume modify successful on volume: vol1 cluster1::*> volume show -volume vol1 -fields maxdir-size (volume show) vserver volume maxdir-size ------- ------ ----------- svm1 vol1 60MB cluster1::*> 

:上記のコマンドを実行するには、権限レベルを advanced に設定する必要があります。

maxdir-size が参照するディレクトリはどれですか。
  • maxdir-size は、ディレクトリファイルが占有するディスク上のサイズを表します。UNIX の場合と同様に、 Filer では、ディレクトリは他のファイルとほとんど同じサイズになります。 
  • 名前(または CIFS の場合は複数の名前のバリエーション)と inode 番号のマッピングは、そのディスクスペースに格納されます。
使用されている maxdir-size の量を特定する方法を教えてください。
  • ディレクトリのサイズは Windows では正確には判断できませんが、ファイル数と名前の長さから推測できます。
  • これは、 CIFS の ~ 100k のファイル数がからのものです。ディレクトリが NFS のみの場合、約 300K のファイルです。
maxdir-size のサイズを決定する方法はありますか。
  • UNIX システムでls -kldは、問題のディレクトリに問題があります。それはサイズを与える。
    • 注意ls -ld-k:変更は可能ですが、出力は 1024 で割る必要があります。これは、「 like --block-size=1k 」を意味するためです。
  • このサイズがデフォルト値に達すると、新しいファイルの作成が失敗する可能性があります。 
  • バックグラウンドクリーンアップ処理(スナップ削除など)が実行されている場合は、新しいファイルが作成され続けることがあります。
  • この制限に達すると、 maxdir-size を増やすことを推奨します。
  • ここでも、 maxdir-size を増やすことができることに注意してください。そのため、基本的な経験則として、 maxdir-size を 2% ずつ増やします。つまり、システムメモリではなく、現在の値の 2% ずつ増やします。
maxdir-size のサイズを変更すると、パフォーマンスにどのような影響がありますか。
  • パフォーマンスの問題は数値化するのは困難ですが、一般的な意味では簡単に説明できます。
  • 大規模なディレクトリでの検索では、大量の CPU が消費されます。
  • 大規模なディレクトリを NFS から CIFS にのみ変換すると、長時間にわたって大量のリソースが消費されます。
  • パフォーマンスへの影響としては、ディレクトリがメモリにロードされると、ディレクトリツリー全体がロードされることがあります。
  • 一部のメモリは使用されないためにメモリ不足になることがありますが、ディスクからの読み取りや、ディレクトリを格納するためのメモリ内のスペースの検出によるパフォーマンスへの影響があります。
.snapshot にあるファイルとディレクトリを計算に含める必要がありますか?
  • いいえ。 Snapshot に格納されているファイルとディレクトリを計算に含める必要はありません。
maxdir-size はすぐに変更されますか。
  •  はい。ユーザが Filer に接続しているときにディレクトリ・サイズを増やすために、オンザフライで maxdir-size を変更できます。
「 create_ucode 」および「 convert_ucode 」ボリュームオプションを有効にすることは、 maxdir-size にどのように影響しますか。
  • create_ucodeconvert_ucodeこのメッセージは、「」および「」ボリュームオプションを有効にした後にも表示されることがあります。

Error message: [myvol@filer: wafl.dir.size.max:warning]: Directory [dir] has reached the maxdirsize limit. Please increase the maxdirsize by using the vol options command.

  • メッセージは Filer 上の Unicode の変換によって生成されるため、 maxdir-size を大きくしても問題が解決しない場合があります。
  • Filer 上の Snapshot はファイルシステムの変更をロックしているため、 Unicode に対応していないデータにアクセスすると、一時ファイルが作成されます。 
  • この場合はconvert_ucodecreate_ucode、「」および「」オプションが有効になる前に作成されたスナップショットを削除します。
  • これにより、ボリュームに余分な一時データを作成せずに、既存のデータを Unicode 形式に変換できます。'convert_ucode「 and 」'create_ucodeオプションは有効のままにします。
  • 「 old 」 Snapshot が削除されたら、ディレクトリに大量のデータとファイルがないかぎり、 maxdir-size を増やす必要はありません。
ストレージシステムがアップグレードされた場合、 maxdir-size は増加しますか。
  • デスティネーション
    • ボリュームは作成された maxdir サイズを保持します。 
    • アップグレード後に maxdir サイズを大きくするには、ボリュームを再作成するか、ストレージシステムの適切な maxdir サイズに手動で変更する必要があります。
ボリュームが以前のリリースの ONTAP から移行された場合、 maxdir-size は増加しますか。
  • デスティネーション
    • 以前の Data ONTAP リリースでは、システムメモリサイズをベースとして使用して maxdir-size が決定されていました。
    • 移行時に、ボリュームは必要に応じて maxdir-size を保持します。
MaxDirSize および FlexGroup
  • FlexGroup 内のすべての構成ボリュームで、 maxdir-size の制限がリニアに発生するとは限りません(重み付けラウンドロビン設計)。
  • この制限が発生した構成ボリューム(複数可)については、修正は同じです。
  • [1]リファレンスについては、 27 ページから NetApp ONTAP FlexGroup ボリュームを参照してください。