TurboLinux6.2 系(NECのアプライアンスサーバを使っています。
カーネルは 2.2.15-8NEC となっています。
ある1人のユーザのディスク容量が空きがあるのにFTPでファイルをアップロードし
ようとすると
「ディスク容量が満杯」なるエラーがでます。
quota の結果は以下のように20Mを越えています。
# quota -q hoge
Disk quotas for user hoge (uid 606):
Block limit reached on /dev/md2
#
# quota hoge
Disk quotas for user hoge (uid 606):
Filesystem blocks quota limit grace files quota limit
grace
/dev/md2 20480* 0 20480 none 628 0 0
しかし、そのユーザを du で見るとまだ余裕があります。
# du -s ~hoge
13028 /home/web/server/users/hoge/ftp/./..
これはどうしてでしょうか?
他にチェックすべきところがあればご教示願います。
---
hanajipon @ mail.goo.ne.jp
あり得る可能性をいくつかあげます。
1. ホームディレクトリ以外にそのユーザが所有者になっているファイル・ディ
レクトリがある
一番可能性が高そうなのがこれ。/dev/md2がどこのディレクトリにマウントさ
れているかが明記されていないので、/home/web/server/usersにあるとすると、
# find /home/web/server/users -name hoge -prune -o -owner hoge -print
とかしてみて、身に覚えのないファイル・ディレクトリが出力されるようであ
ればそれが原因だと思われます。
2. ファイルを掴んだままのプロセスがあり、そのファイルをファイルシステ
ム上から削除している
もしかすると、quotaはファイルシステム上から見えなくなると使用量が減る
ような実装かもしれません。その場合はこの可能性は皆無になります。
3. 実は、quotadが止まっている:-)
さすがにこれはないと思います。なぜなら、quotadが止まっていればquotaの
制限が効かなくなると思いますので。
--
中山隆二
nakayam...@anet.ne.jp
皆様、ご返事ありがとうございます。
今回はシステム管理者である私のポカでした。
(おはずかしい・・・)
事の内容は下記に・・
"Nakayama Ryu~ji" <nakayam...@anet.ne.jp> wrote in message
news:uu172j...@anet.ne.jp...
> Article <bkr5h7$o25$1...@nn-os106.ocn.ad.jp> にて、
> "hanaji" <han...@clubaa.com> さん、
> > ある1人のユーザのディスク容量が空きがあるのにFTPでファイルをアップロー
ドし
> > ようとすると
> > 「ディスク容量が満杯」なるエラーがでます。
)))中略(((
> あり得る可能性をいくつかあげます。
>
> 1. ホームディレクトリ以外にそのユーザが所有者になっているファイル・ディ
> レクトリがある
>
> 一番可能性が高そうなのがこれ。/dev/md2がどこのディレクトリにマウントさ
> れているかが明記されていないので、/home/web/server/usersにあるとすると、
なるほどと思い、早速 find をかけてみました。すると私のホームディレクトリの
tmp フォルダに、そのユーザのファイルのバックアップが・・・
以下、時系列にて
1.hoge が誤って public_html フォルダを消し、その上位にHTMLコンテンツを
アップロード。
2.hoge はコンテンツが見れないので私に問い合わせ。
3.私は状況を知り、 "cp -rp * ~/tmp" で親切にもバックアップを取ってあげた。
( -p オプションがミソ)
4.hoge に「public_htmlというフォルダを作り、そこにコンテンツを入れるんだ
よ」と
伝えた。
5.hoge のコンテンツは見れるようになったが今度は容量が一杯と出る・・
> # find /home/web/server/users -name hoge -prune -o -owner hoge -print
> とかしてみて、身に覚えのないファイル・ディレクトリが出力されるようであ
> ればそれが原因だと思われます。
この例を元に実行すると -owner オプションではじかれました。
なので
find . -user hoge
で確認しました。
-name hoge -prune がよくわかってないです。
ともあれ、問題は解決しました。お騒がせしました。
----
hanajipon @ mail.goo.ne.jp
Nakayama Ryu~ji wrote:
> 3. 実は、quotadが止まっている:-)
linuxではどうだか知りませんが、昔のUFS(4BSDとかSVR4)では
quotaが狂うことはたまにありました。カーネルのバグだったのか、
crashしたときに変なことが起きたのか追求し切れてないのですが。
リブートの際に実際のファイル使用量を数え直すという実装
だったので、長期間動き続けるファイルサーバで起きたことが
あるトラブルです。
quotacheckコマンドで再計算させると正気に戻ります。
余談ながら、利用者の利便性を考えると、/tmpは
別パーティションにしてquota制限を外すとか、ホーム
ディスクとは別枠で緩くするほうが良いと思いますが。
> 余談ながら、利用者の利便性を考えると、/tmpは
> 別パーティションにしてquota制限を外すとか、ホーム
> ディスクとは別枠で緩くするほうが良いと思いますが。
今回の方は ~被害者/public_html → ~管理人/tmp ですので関係ないのですが…
某所のサーバー、quota 制限をすり抜けようとして /tmp にデータを置きまくっ
ていた人がいたのか、/tmp にも /home とは別枠で quota がかかっています。
さいわい、/var/tmp は無制限なので、大容量の作業が必要なときはそこを使う
のですが。
#ちなみにこのサーバー、メールスプールの実体が /home にあって、「メール
#とウェブとその他を合計して /home 全域で○MB」という制限がかかっている
#ために、quota ギリギリのときはメールスプールと同じフォルダにテンポラリ
#ファイルを作れないので、POP daemon は /var/tmp を使っているらしい。
========================================================================
飯嶋 浩光 / でるもんた・いいじま http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delm...@ht.sakura.ne.jp