連載
» 2006年10月25日 00時00分 公開

ツールを使ってネットワーク管理(15):メールサーバがいっぱいですよ、と警告されたら 〜サーバのディスク管理〜 (2/2)

[山本洋介,@IT]
前のページへ 1|2       

サーバのディスクをdf/duコマンドで把握する

 そして戻って再びログインすると、ログインメッセージに、

「dfコマンドとduコマンドでディスクの様子が分かりますよ」

と書かれています。

 ああ、そうだった、dfとduコマンドを使えばいいんだ。これで何とかディスクを圧迫するふらちなファイルは見つけられそうで、首もつながったようで、ちょっと安心です。

 ほっとした律子さんは早速dfコマンドとduコマンドを駆使して、どこに無駄なファイルが置かれているのか探してみることにします。

[ritsuko /]$ df
 
Filesystem  1K-ブロック  使用  使用可  使用%  マウント位置
 
/dev/hdv1  6063688  4703612  861060  85%  /

 どうやら85%で警告が来るようになっていたようです。まだ、取りあえずはサービスがいきなりストップするということはなさそうです。

 ちょっとこの表示だと、具体的な使用量が分かりづらいので、-hオプションを付けて実行してみることにします。

[ritsuko /]$ df -h
 
Filesystem  サイズ  使用  残り  使用%  マウント位置
 
/dev/hdv1  5.8G  4.7G  861M  85%  /

 確か契約は5Gだったから、ギリギリですね。そりゃ警告も来るはずです。次にduコマンドを使ってファイルがたくさん使われているところを探すことにします。

[ritsuko /]$ du /               
16/lost+found                            
56/etc/profile.d                            
4/etc/X11/applnk                            
4/etc/X11/serverconfig                            
20/etc/X11/starthere                            
4/etc/X11/sysconfig                            
8/etc/X11/fs
(以下延々とスクロール)

 これでは何が何だかちっとも分かりません。そうか、オプションをちゃんと付けないと。

(-sはディレクトリの総容量を表示する、-hは単位を付けて読みやすくするオプションです。また/*/とすることで、サブディレクトリの合計を出力することができます。)

[ritsuko ~]$ su               
[root /]# du -sh /*/              
5.1M/bin/                            
17M/boot/                            
4.0K/dev/                            
30M/etc/                            
90M/home/                            
4.0K/initrd/                            
481M/lib/                            
16K/lost+found/                            
4.0K/media/                            
4.0K/misc/                            
8.0K/mnt/                            
12K/opt/                            
388K/patch/                            
du: `/proc/1/fd':               
01M/proc/                            
1.8M/root/                            
14M/sbin/                            
4.0K/selinux/                            
4.0K/srv/                            
4.0K/sys/                            
3.8M/tmp/                          
1.3G/usr/                          
2.8G/var/

 やはり、/varに何かたくさんファイルが入っているようです。

[root /]# du -sh /var/*/               
4.0K/var/account/                            
1.8M/var/analog-6.0/                            
7.9M/var/cache/                            
8.0K/var/crash/                            
16K/var/db/                            
8.0K/var/empty/                            
8.0K/var/ftp/                            
2.3G/var/lib/                            
4.0K/var/local/                            
20K/var/lock/              
(以下略)              
[root /]# du -sh /var/lib/*/               
12K/var/lib/alternatives/                            
15M/var/lib/canna/                            
4.0K/var/lib/dav/                            
4.0K/var/lib/dhcp/                            
4.0K/var/lib/dhcpv6/                            
4.0K/var/lib/games/                            
13M/var/lib/imap/                            
2.2G/var/lib/mailman/              
(以下略)

 どうやらメーリングリスト関係のフォルダが怪しいようです。ここに当たりを付けて調べてみることにします(ここではsortコマンドで並べ替えるために-hオプションは外しています)。

[root /]# du -s /var/lib/mailman/archives/*/ | sort -rn| more
3844122/var/lib/mailman/archives/eigyo/  
2540928/var/lib/mailman/archives/jinji/ 
2280281/var/lib/mailman/archives/seisaku/ 
2147243/var/lib/mailman/archives/kensyu/    
1457602/var/lib/mailman/archives/system/    
(以下略)
 

 ああ、すごい。ここがディスクを圧迫する原因だったのか。律子さんの会社では、各部門にメーリングリストがあるのですが、メーリングリストの過去ログが添付ファイルを含めて全部保存されてしまっていたようです。

 原因は突き止めたので、それぞれのメーリングリストの管理者のところにお伺いを立てにいくことにします。

律子 「あの、すみませんけど、サーバにメーリングリストのアーカイブがたまっちゃってるので削除しちゃっていいですか?」

メーリングリストの管理者 「やだ」

律子 「えっ」

メーリングリストの管理者 「どれも大事なファイルなんだよね」

律子 「ローカルにあるんじゃないですか?」

メーリングリストの管理者 「バックアップがないと不安じゃない?」

律子 「それはご自分で……」

メーリングリストの管理者 「じゃあ、その作業も律子さんがやってよね」

律子 「えっ……」

 サーバはコマンドで管理できるけど、人は管理できないんだよなあ、とため息をつきながらファイルのバックアップと削除に励む律子さんでした。

<ちょっと解説> サーバのディスク管理

 ネットワーク管理者といえども、ネットワークだけでなくメールやWebサーバの管理もやらされている、という方も多いと思います。今回は、サーバのディスク管理ツールの1つとして、便利なコマンドを紹介しています。 

UNIX系OSでディスクの管理系のコマンドとして、ディスクのパーティション別に使用状況を表示するdf、指定したディレクトリ内の容量を表示するduコマンドがあります。 

どちらも-hオプションを付けることで、分かりやすい形式で表示されるようになるなど、細かいオプションまで覚えておくことで、トラブルの解決がより早く導き出せるようになるでしょう。 

また、lsコマンドでも-Rオプションを使うことで、フォルダの総容量が表示されるなど(ファイルもすべて再帰して表示するので分かりづらいかもしれませんが)、細かいオプションを覚えておくと非常に便利でしょう。  普段はUNIXでの作業がほとんどない管理者でも、サーバにはUNIX系OSを使用していることも多いかと思われます。とはいえ普段は正常に稼働していることがほとんどなのでコマンドを忘れてしまうことも何かと多いかもしれません。ただ、ディスク管理やバックアップなどのコマンドは何かあると使うことも多いので忘れないようにしたいものです。



「ツールを使ってネットワーク管理」バックナンバー
前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。