ネットから無造作にファイルを集めるクローラーのような物を作成しています。
集めたファイルは共通のNFSに格納する方式をとっています。
ファイルを集めるクローラーは複数台あり、NFSは1台構成です。
処理的には大量のファイル・ディレクトリを一気に作成していくのですが、
実際に動作させた所、ディレクトリ作成で「too many links」が頻繁に発生しま
した。
色々調べた所、ファイルシステムに問題があるという事に行き着きました。
現在NFSで使用しているファイルシステムはext3です。
ext3は大量にファイルを作る場合には、あまり向いていないようですが、
ファイルシステムにあまり詳しくないため、今回のような使用用途にマッチした
ファイルシステムが何なのかの判断が出来ません。
一応、私なりに調べた結果、「ReiserFS」「XFS」あたりが良いのかと思ったの
ですが(どちらが良いかは判断出来ません(><))、他に何か良いファイルシステ
ムがあれば教えて頂けないでしょうか?
それとOSはCentOS4.4です。
但し、CentOSの場合はReiserFS,XFS共に標準サポートではないので、ファイルシ
ステムに合わせてOSの変更も検討しています。
nuun> ネットから無造作にファイルを集めるクローラーのような物を作成しています。
nuun> 集めたファイルは共通のNFSに格納する方式をとっています。
nuun> ファイルを集めるクローラーは複数台あり、NFSは1台構成です。
nuun> 処理的には大量のファイル・ディレクトリを一気に作成していくのですが、
nuun> 実際に動作させた所、ディレクトリ作成で「too many links」が頻繁に発生しま
nuun> した。
http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.6/filesystems/ext2.txt.html
の制限辺りの話ですね. ( ext3もかわらないよね)
# 「[linux-users:91398] Re: ファイルシステムの制限 」からたぐりました.
reiserfs (3.5 とかのころ)は 小さいファイルがたくさんだと速いと
いうんで 一時期使ってましたがジャーナル壊して泣いたため
最近は使っていません. reiserfs4 はマッタク知りません.
# なんか NFS と相性悪い気がしないでもない(眉に唾をつけて読むこと)
JFS や XFS は 使ってないので知りませんが, 適当にぐぐると何かないですか?
http://www-06.ibm.com/jp/developerworks/linux/jfs.html
を見る限りでは inode の数による制限とかはないみたい.
で, カーネルを作り直せば 別に ディストリビューションを変えなくていいと
思うのですが...
--
(ishi)
XFSファイルシステム(小さい大量のファイルを効率的に扱うのが得意)を利用すれば、ロクバンさんの条件で解決でき
るかと思います。
大規模データファイルの扱いの場合、ReiserFSファイルシステムよりXFSファイルシステム
のほうが優れています。
それぞれ得意と欠点のところがありますが、
まずどのように利用したいのかを詳しく確認して、どれを利用するかはベスト判
断ができるかと思います。
ReiserFS:小さいファイルを高速に扱うことができる
XFS:大規模ファイルシステムの構築に向いている
上記のキーワードでgoogle.co.jpに検索すれば、いっぱいでてきます。
その後、NFSのマウントのオプションにも最適化することも必要ですね。
On Wed, 30 May 2007 18:55:24 +0900
nu...@yan.ne.jp wrote:
==================================
mye <m...@bali.to>
http://www.infolinux.jp
http://faq.infolinux.jp
http://exim.infolinux.jp
http://blog.pos.to/linuxmaster/
http://jp.chkrootkit.org/
On Fri Jun 01 00:58:00 JST 2007
mye <m...@bali.to> wrote:
>
> ReiserFS:小さいファイルを高速に扱うことができる
>
> XFS:大規模ファイルシステムの構築に向いている
>
> 上記のキーワードでgoogle.co.jpに検索すれば、いっぱいでてきます。
http://www.dd.iij4u.or.jp/~okuyamak/Documents/2004-08-29-Fedora-Study/FileSystem/FileSystem-What.pdf
↑の奥山さんのドキュメントを前提にすると、
・小さいファイル一杯:ReiserFS>JFS>XFS
・巨大ファイル主体:XFS>JFS>ReiserFS
なっています。
それぞれの仕組みを見ると、その理由も分かります
ので↓でも見てみると良いのではないでしょうか?
http://www.atmarkit.co.jp/flinux/index/indexfiles/linuxfsindex.html
自分は読み書きのパフォーマンスが必要な時は、
ReiserFS or XFSで、トランザクションの信頼性を
重視する場合やバランスを考える時は、JFSとかに
していました。
Yasuo Ino
桜根です。
2007/05/30 の 18:55:24 頃 nuun さんが書いた
「[linux-users:107504] 大量のファイルを保存するNFSサーバーに最適なファイルシステム」
<<4DC7A2A01...@yan.ne.jp>>
についての返信です。
>処理的には大量のファイル・ディレクトリを一気に作成していくのですが、
>実際に動作させた所、ディレクトリ作成で「too many links」が頻繁に発生しま
>した。
>
>色々調べた所、ファイルシステムに問題があるという事に行き着きました。
>現在NFSで使用しているファイルシステムはext3です。
他の方が書かれている通り、別のファイルシステムを利用するのが一番
良い方法だと思います。
別の視点ということで、ext3 で32000個以上のディレクトリィを作成
する方法を以前調査したことがあります。参考まで。
# カーネル再構築が必要。もちろん無保証。
# 確認したのは CentOS-3 だったかな。
[/usr/src/linux/include/linuxext3_fs.h]
#define EXT3_LINK_MAX 32000
^^^^^
これを書き換えると出来そうです。
当方では65530までディレクトリィが作成できる事を確認しました。
ただし、残念ながら実運用はしていないので、他に影響が出るかもしれ
ません。
どうせカーネルの再構築をするのですから、この変更を利用する必要性
は無いと思いますけど。(^_^;
--
桜根 克至 (さくらね かつし)
e-mail : sakurane @ jp.fujitsu.com
ありがとうございました。
>
>ムハマドです。
>
>XFSファイルシステム(小さい大量のファイルを効率的に扱うのが得意)を利用すれ
>ば、ロクバンさんの条件で解決でき
>るかと思います。
>大規模データファイルの扱いの場合、ReiserFSファイルシステムよりXFSファイルシス