ファイルシステムの監視~dfコマンド・duコマンド~
本記事の対象者
LPIC level1習得を目指す初学者の方
コマンドの基本的な用途について、要点を絞って解説します。
今回の内容
今回は、dfコマンドとduコマンドについて解説します。
ファイルシステムの監視・管理に使用するコマンドで、ディスクの利用状況を確認できます。
ファイルシステムの管理
システムの運用にあたり、ファイルシステムは作成して終わりではありません。
もちろん、管理する必要があります。
ファイルシステムに書き込めないなどの障害が発生した場合、その原因を特定し、復旧にあたらなければなりません。
ファイルシステムに障害が起こった際に考えうる主な原因としては以下があります。
- 空きディスク領域の不足
- inodeの枯渇
- 読み書き中の強制終了
- 誤ったファイルの削除
これらの原因を追究するために使用するのが、今回解説する「dfコマンド」「duコマンド」です。
※df、duコマンドでは上2つの原因について調査できます。
dfコマンド
dfコマンドは、ファイルシステムの空きディスク容量を表示します。
「disk free」が由来です。
df | |
---|---|
意味 | ファイルシステムの空きディスク容量を表示する。 |
書式 | df [オプション] [デバイス名 | ディレクトリ名] |
引数なしでdfコマンドを使用すると、マウントされているすべてのファイルシステムの使用状況を表示します。
ディレクトリを指定すると、そのディレクトリが属しているファイルシステムのみを表示します。
dfコマンドの主なオプションは以下です。
オプション | 説明 |
---|---|
-h | 容量を適切な単位で表示する。(Mは1,048,576バイト) |
-H | 容量を適切な単位で表示する。(Mは1,000,000バイト) |
-k | 容量をKB単位で表示する。 |
-i | inodeの使用状況を表示する。 |
[root@localhost ~]# df -h ファイルシステム 1K-ブロック 使用 使用可 使用% マウント位置 devtmpfs 495436 0 495436 0% /dev tmpfs 507376 0 507376 0% /dev/shm tmpfs 507376 6916 500460 2% /run tmpfs 507376 0 507376 0% /sys/fs/cgroup /dev/mapper/centos-root 6486016 1407104 5078912 22% / /dev/sda1 1038336 140188 898148 14% /boot tmpfs 101476 0 101476 0% /run/user/0
[root@localhost ~]# df -h /dev/sda1 ファイルシステム サイズ 使用 残り 使用% マウント位置 /dev/sda1 1014M 137M 878M 14% /boot
「-h」オプションをつけて、容量を適切な単位で表示しています。(Mは1,048,576バイト)
[root@localhost ~]# df -i ファイルシステム Iノード I使用 I残り I使用% マウント位置 devtmpfs 123859 359 123500 1% /dev tmpfs 126844 1 126843 1% /dev/shm tmpfs 126844 480 126364 1% /run tmpfs 126844 16 126828 1% /sys/fs/cgroup /dev/mapper/centos-root 3248128 27565 3220563 1% / /dev/sda1 524288 326 523962 1% /boot tmpfs 126844 1 126843 1% /run/user/0
すべてのファイルには対応するinodeがあります。
作成できるinodeの数は、ファイルシステム作成時に決定され、後から追加したり変更したりすることはできません。
inodeが枯渇してしまうと、たとえディスクに空き容量があっても、ファイルを新規保存することができなくなります。
参考:ファイルシステムとは
duコマンド
duコマンドは、ファイルやディスクの使用量を表示します。
「disk used」が由来です。
du | |
---|---|
意味 | ファイルやディスクの使用量を表示する。 |
書式 | du [オプション] [デバイス名 | ディレクトリ名] |
duコマンドの主なオプションは以下です。
オプション | 説明 |
---|---|
-a | ディレクトリ以外のファイルについても表示する。 |
-l | リンクも含めて集計する。 |
-c | すべての容量の合計を表示する。 |
-k | 容量をKB単位で表示する。 |
-m | 容量をMB単位で表示する。 |
-s | 指定したファイルやディレクトリのみを集計する。 |
-S | サブディレクトリを含めずに集計する。 |
-h | 容量を適切な単位で表示する。 |
[root@localhost ~]# du 4 ./sample1 32 .
左側の数字が容量で、KB単位で表示されています。
[root@localhost ~]# du -s sample1 4 sample1
[root@localhost ~]# du -S 4 ./sample1 28 .
例①の際は「.」の容量が32KBだったのに対し、この例では28KBになっています。
これは、「sample1」ディレクトリの4KBが集計されていないからです。
[root@localhost ~]# du -a 4 ./.bash_logout 4 ./.bash_profile 4 ./.bashrc 4 ./.cshrc 4 ./.tcshrc 4 ./anaconda-ks.cfg 4 ./.bash_history 4 ./sample1/sample.txt 4 ./sample1 32 .
まとめ
今回は、ファイルシステムの監視に関するコマンドについて解説しました。
ファイルシステムの障害に際し、これらのコマンドを使用して、障害の原因を探り、復旧の方法を策定します。
最後に、確認問題で今回の内容を確かめてください。
確認問題
マウントされているすべてのファイルシステムの現在のディスク使用量を表示するコマンドはどれですか。
A) du
B) df
C) mkfs
D) fsck