私が持っている古いLinuxボックスには、NetappのNFSマウントがあります。このボックスの1つのディレクトリに100k個のファイルがあると、ファイルに書き込むことができなくなります。誰がこれを引き起こしているのか知っていますか?シンボリックリンクは引き続き記述できると言われています。
調べながら、より具体的な情報を追加します。 「ファイル/フォルダー構造および/またはデータベースをより適切に使用する」をスキップしてください、私は知っています...
システムは、NetApp ONTAPファイルシステムの固定制限であるディレクトリのリンク制限に達しています。 このナレッジベースの記事から :
Data ONTAP 6.5以降、1つのディレクトリに含めることができるサブディレクトリの最大数は99998(100K)です。 Data ONTAP 6.4以前のバージョンは65534(64K)サブディレクトリに制限されていました。この番号は変更できません。この制限の理由を理解するには、ハードリンクとサブディレクトリの実装に関する以下のセクションを参照してください。
ヒットする可能性のある制限は2つあります。
iノード(そうではない)
そのボリュームで使用可能なすべてのiノードを消費しました。これは、df -i
およびmaxfiles
コマンドで確認できます。
maxdirsize
(可能性が高い)
ONTAPでは、ディレクトリのサイズに制限があります。サイズは、ファイルコンテンツではなく、メタデータ/ハードリンクの産物です。この制限のデフォルトは(> 6.5と仮定して)システムRAMの1%です。これは、大きなディレクトリがシステムのパフォーマンスに影響を与えないようにするためです。線形ディレクトリスキャンでは、ディレクトリデータ構造をメモリにロードする必要があるためです。概要:
ls -lkd
で確認できます。maxdirsize
を上げることは、一方向の操作のビットです。これらの問題のいずれでもない場合は、ONTAPログを確認して投稿することをお勧めします。
新しいバージョンのNetApp(8.1以降)では、次のコマンドを使用して、ボリュームごとのデフォルトの制限を上書きできます。
vol options vol_name maxdirsize 150000
現在の設定を確認するには
vol options vol_name
GUIクライアントからこれらを変更する方法はありません。