2016-09-28 5 views
0

iノードの制限に惑わされることなく、大きな(拡張された)数の小さなファイルをサーバーに格納するベストプラクティスは何ですか?inodeの制限を克服する

プロジェクトでは、2TBのHD空間を持つサーバーに多数の小さなファイルを保存していますが、2560000のinodeが許可されています。最近、サーバーはすべてのiノードを使い果たし、新しいファイルを書き込めませんでした。その後、いくつかのファイルをデータベースに移動しましたが、他のもの(イメージとjsonファイルはドライブに残りました)。現在、iノードの使用率は58%です。すぐに解決策が必要です。

ファイルを個別に格納する理由は、データベース呼び出しの数を制限するためです。基本的にスクリプトはファイルが存在するかどうかをチェックし、存在する場合は結果を依存して返します。これは私のアプリケーションには意味がありますが、上記のように制限があります。

各iノードがファイル(またはディレクトリファイル)を指しているので、ファイルをサブディレクトリに移動することはできません。実際、もっと多くのinodeを使います。

また、ファイルをアーカイブ形式でまとめてバンドルすることもできますが、インデックス作成にはある種のインデックス作成が必要です。

おそらく私はこのすべてについて間違っていると思いますので、ご意見をいただければ幸いです。

+0

別のファイルシステムでストレージ領域を分割することができます。ボリュームマネージャーではあまり重視してはいけません。 – arkascha

+0

ループバックデバイスを使用して、いくつかのトップレベルのフォルダを別々のボリュームとしてマウントします。それはまた、 "仮想層"を追加し、フォルダを別々のファイルシステムとして扱うことを可能にします。 – arkascha

+0

そして、いくつかのファイルシステムタイプで利用できるinodeの数を増やすことができます。私はそれのために新しいファイルシステムを作らなければならないと思う。 – arkascha

答えて

0

arkaschaのアドバイスで、私はループデバイスを調べて、losetupに関するドキュメントを見つけました。テストされたままである。

関連する問題