- PR -

HDDの総ファイル数の管理について

1
投稿者投稿内容
かなもの
ベテラン
会議室デビュー日: 2006/08/07
投稿数: 62
投稿日時: 2007-03-14 10:12
いつもここにはお世話になっております。

今回、HDD内に納められている総ファイル数と、
最大ファイル数を調べたいと考えております。

しかし、Googleで検索するとファイル数に関しては「repquota -a」
ぐらいしか検索出来ず、HDDの最大ファイル数に関しては、
情報が見つかりませんでした。

何かしら、コマンド等で取得する方法はあるのでしょうか。

よろしくお願い致します。
_________________
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2007-03-14 11:43
引用:

かなものさんの書き込み (2007-03-14 10:12) より:
今回、HDD内に納められている総ファイル数と、
最大ファイル数を調べたいと考えております。



最大ファイル数は利用可能なi-node数に依存しますが、
近代的なファイルシステムでは動的に確保していたりします。
なので、種類によっては総容量と使い方次第な場合もあります。

総ファイル数は、もしかしたらファイルシステム毎のツールで
取得できるものもあるかもしれませんが、可能性は低そうです。

(総ファイル数というエントリは管理していないと思うので)

まぁ、基本はディレクトリツリーの全探索じゃないですか?
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2007-03-14 12:09
find / -print | awk 'END { print NR}';
かなもの
ベテラン
会議室デビュー日: 2006/08/07
投稿数: 62
投稿日時: 2007-03-14 15:58
レス有難う御座います。

引用:

総ファイル数は、もしかしたらファイルシステム毎のツールで
取得できるものもあるかもしれませんが、可能性は低そうです。

まぁ、基本はディレクトリツリーの全探索じゃないですか?


引用:

find / -print | awk 'END { print NR}';



findコマンドで全部を検索して、その行数を取るのは一度考えましたが、
負荷もかかるしもっと早く取得できないか?と考えていました。

repquota -a で単純に足し算するのも考えましたが、
findの行数と異なり、どちらが正しい内容かわからず、今回質問をしたという流れです。

findだと/procや/devも見ますが、これも実際のファイル数としてカウントしているのかが、
調べてみたのですが解りませんでした。

ファイル数とそのHDDの最大ファイル数を管理したいと考えた理由としては、
各ユーザーごとにquotaで制限はかけていますが、
正規の使用方法でファイル数のリミットを超えてしまうユーザーがいまして、
超える度にユーザーごとにチェックして増やしていたりします。
ですが、残りの許されたファイル数がわからず、どこまで許せばよいのか?
が解らない為、不安要素が残ったまま作業をしてたりします。

これを何とか数値化出来ないだろうか?というのが、今回の話の発端です。
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2007-03-14 19:42
こんばんは。

ディレクトリは? とか、シンボリックリンクは? とか、考えると、i-node の数で考えれば良いように思います。
であれば、repquota の集計そのままですね。

全体量 ( 上限 ) としては、もし標準の ext3 ファイルシステムであれば、mkfs 時の値を動かすことはできないはずですから、上限は固定となります。
i-nodeの数 ( 上限 ) は、dumpe2fs あたりで調べられると思います。( dumpe2fs -h デバイス名 で、Inode count を見る )
※オンライン拡張したら…という場合は分かりませんが。
F/A
ぬし
会議室デビュー日: 2006/03/18
投稿数: 312
お住まい・勤務地: Tokyo
投稿日時: 2007-03-14 20:17
ファイルシステムの i-nodeの残量を調べるだけなら、dump…まで使用しなくても
df -iで表示されますね。

ext3の場合、1 i-node = 1 file かどうかは存じませんが、
家で試したら概ね近い値になっていますね。


> findだと/procや/devも見ますが、これも実際のファイル数としてカウントしているのかが、
> 調べてみたのですが解りませんでした。

/dev、/procなんて、物理ファイルシステムのファイル数に比べたら、
微々たる物ではありませんか?


RHELはext2,3以外未サポートなのが悩ましいですが、
家のサーバーのメインはXFSです。


[ メッセージ編集済み 編集者: F/A 編集日時 2007-03-14 20:18 ]
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2007-03-14 20:33
引用:

angelさんの書き込み (2007-03-14 19:42) より:
※オンライン拡張したら…という場合は分かりませんが。


resize2fsしたら、i-nodeテーブルも変更されます。

引用:

F/Aさんの書き込み (2007-03-14 20:17) より:
ext3の場合、1 i-node = 1 file かどうかは存じませんが、
家で試したら概ね近い値になっていますね。


ファイル1個につきi-nodeも1個です。
ディレクトリファイルとかディレクトリエントリを持たないファイルとか
あるので、数えて合うかというとなかなか合わないかもしれませんが。
かなもの
ベテラン
会議室デビュー日: 2006/08/07
投稿数: 62
投稿日時: 2007-03-15 11:47
レス有難う御座います。
ファイルシステムを書いていませんでしたね・・・申し訳ないです。

実機のOSはRHELでファイルシステムはext3です。

iノードに関しては、あまり良くわかっていないのですが、
ファイル数と関係して、iノードの空きを見ながら増やしていく
という事で大丈夫なのでしょうか。

どちらかというと、現在のファイル数というより、
残り保存可能なファイル数を知りたいと考えています。
ですのえ、最大保存可能ファイル数が知りたかったのです。

実機ではなかなか試す機会が無いのですが、
家のCentOS(ext3)では、たしかに実ファイル数(repquota -a)とiノードの数(df -i)が近いのは
こちらでも確認出来ました(誤差は10前後程度でした)。

だいたいの目安程度という目的であれば、「df -i」で大丈夫そうでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)