Linux ディスク容量レポート

LinuxBeginner
オンラインで実践に進む

はじめに

Linux 環境におけるシステム管理では、ディスク空間の管理が重要な側面です。利用可能なディスク空間を監視することで、ストレージリソースが枯渇したときに発生するシステムクラッシュ、アプリケーションの障害、データの損失を防ぐことができます。システム管理者として、日常的なタスクの 1 つは、さまざまなファイルシステム全体のディスク空間使用率を確認することです。

この実験では、強力な df コマンド(「disk free」の略)を使用して、システム全体のディスク空間使用状況を確認する方法を学びます。すべてのマウントされたファイルシステムのディスク使用状況を調べ、出力を解釈し、特定のディレクトリに焦点を当てて、ストレージ使用率についてより深い洞察を得ます。これらのスキルは、効果的なシステムメンテナンスとリソース計画に不可欠です。

ディスク空間の使用状況を確認する

このステップでは、df コマンドを使用して、すべてのマウントされたファイルシステムのディスク空間使用状況を確認する方法を学びます。df コマンドは、ファイルシステム上で利用可能なディスク空間の量を表示する基本的なツールです。

LabEx の仮想マシン(VM)環境でターミナルを開きます。デフォルトでは、すでにホームディレクトリにいるはずです。そうでない場合は、以下のコマンドで移動できます。

cd ~

次に、以下のコマンドを実行してディスク空間使用状況を確認します。

df

以下のような出力が表示されます。

Filesystem     1K-blocks    Used Available Use% Mounted on
overlay         20509264 3207552  16249328  17% /
tmpfs             395052       0    395052   0% /dev
tmpfs            1975244       0   1975244   0% /sys/fs/cgroup
shm                65536       0     65536   0% /dev/shm
/dev/sda1       20509264 3207552  16249328  17% /etc/hosts
tmpfs            1975244       0   1975244   0% /proc/acpi
tmpfs            1975244       0   1975244   0% /sys/firmware

この出力には、各ファイルシステムに関するいくつかの重要な情報が表示されます。

  • Filesystem:ファイルシステムの名前
  • 1K-blocks:1 キロバイトブロック単位の総サイズ
  • Used:現在使用されている空間の量
  • Available:使用可能な空間の量
  • Use%:使用されている空間の割合
  • Mounted on:ファイルシステムのマウントポイント

この情報は包括的ですが、1K ブロック単位の数値はすぐに読み取って解釈するのが難しい場合があります。

人間が読みやすい形式で表示する

ディスク空間の情報を扱う際には、データをより読みやすい形式で表示すると解釈が容易になることが多いです。このステップでは、df コマンドに -h フラグを使用して、人間が読みやすい形式でサイズを表示する方法を学びます。

-h オプション(「human-readable」の略)は、ディスク空間の数値を、サイズに応じた適切な単位(KB、MB、GB、または TB)を使用する形式に変換します。これにより、出力を一目で理解しやすくなります。

ターミナルで以下のコマンドを実行します。

df -h

以下のような出力が表示されるはずです。

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  3.1G   16G  17% /
tmpfs           386M     0  386M   0% /dev
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sda1        20G  3.1G   16G  17% /etc/hosts
tmpfs           1.9G     0  1.9G   0% /proc/acpi
tmpfs           1.9G     0  1.9G   0% /sys/firmware

ディスク空間が、1K ブロックではなく GB と MB で表示されていることに注目してください。これにより、どれだけの空間が使用されていて、どれだけの空間が利用可能かをすぐに理解しやすくなります。

この出力をステップ 1 の出力と比較してみてください。情報は同じですが、-h オプションを使用すると表示がはるかに直感的になっていることがわかります。たとえば、「20509264」1K ブロックと表示される代わりに、「20G」(20 ギガバイト)と表示され、理解がはるかに容易です。

特定のファイルシステムまたはディレクトリを分析する

時には、特定のファイルシステムまたはディレクトリに関する情報のみが必要な場合があります。このステップでは、ファイルシステム内の特定の場所のディスク空間を確認する方法を学びます。

df コマンドにパスを指定することで、そのパスが存在するファイルシステムに関する情報を取得できます。これは、特定の場所にファイルをコピーまたはダウンロードする前に利用可能な空間を確認する場合に特に有用です。

ホームディレクトリのディスク空間を確認してみましょう。以下のコマンドを実行します。

df -h ~

チルダ (~) 記号は、Linux でホームディレクトリの省略形です。このコマンドは、ホームディレクトリを含むファイルシステムに関する情報を提供します。

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  3.1G   16G  17% /

これは、ホームディレクトリがルートファイルシステム(/ にマウントされている)にあることを示しています。

次に、別のディレクトリのディスク空間を確認してみましょう。たとえば、一時ファイルによく使用される /tmp ディレクトリを見てみましょう。

df -h /tmp

出力には、/tmp が存在するファイルシステムの詳細が表示されます。

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  3.1G   16G  17% /

この環境では、ホームディレクトリと /tmp は同じファイルシステム上にあります。多くの本番システムでは、パフォーマンスまたはセキュリティ上の理由から、これらが異なるファイルシステム上にある場合があります。

特定の場所を確認するこの機能は、以下のような場合に非常に有用です。

  • 大きなファイルをダウンロードする前に十分な空間があるかを確認する
  • ファイルシステムの特定の部分での空間の問題をトラブルシューティングする
  • すぐに容量がいっぱいになりやすい重要なディレクトリを監視する

df コマンドで追加オプションを使用する

df コマンドには、追加情報を提供したり、出力の表示方法を変更したりするいくつかの便利なオプションが用意されています。このステップでは、これらのオプションの一部を探索し、ディスク空間の監視機能を強化します。

ファイルシステムのタイプを表示する

-T オプションを使用すると、ファイルシステムのタイプを示す列が追加されます。異なるファイルシステムのタイプにはそれぞれ異なる機能と制限があるため、作業中のファイルシステムのタイプを知る必要がある場合にこのオプションは役立ちます。

以下のコマンドを実行します。

df -hT

これは、人間が読みやすい形式 (-h) とファイルシステムのタイプ表示 (-T) を組み合わせたものです。以下のような出力が表示されるはずです。

Filesystem     Type      Size  Used Avail Use% Mounted on
overlay        overlay    20G  3.1G   16G  17% /
tmpfs          tmpfs     386M     0  386M   0% /dev
tmpfs          tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
shm            tmpfs      64M     0   64M   0% /dev/shm
/dev/sda1      ext4       20G  3.1G   16G  17% /etc/hosts
tmpfs          tmpfs     1.9G     0  1.9G   0% /proc/acpi
tmpfs          tmpfs     1.9G     0  1.9G   0% /sys/firmware

「overlay」「tmpfs」「ext4」などのファイルシステムのタイプを示す新しい「Type」列に注目してください。

イノード情報を表示する

ファイルシステムには、ファイルに関する情報を格納するデータ構造であるイノードの数に制限があります。ディスク空間が十分にあっても、小さなファイルが大量にあるとイノードが不足することがあります。

-i オプションを使用してイノードの使用状況を確認します。

df -i

イノードの使用率を示す出力が表示されます。

Filesystem      Inodes  IUsed    IFree IUse% Mounted on
overlay        1310720 106794  1203926    9% /
tmpfs            98811      1    98810    1% /dev
tmpfs            98811     16    98795    1% /sys/fs/cgroup
shm              98811      1    98810    1% /dev/shm
/dev/sda1      1310720 106794  1203926    9% /etc/hosts
tmpfs            98811      1    98810    1% /proc/acpi
tmpfs            98811      1    98810    1% /sys/firmware

出力には以下の情報が表示されます。

  • Inodes: イノードの総数
  • IUsed: 使用中のイノードの数
  • IFree: 空きイノードの数
  • IUse%: 使用中のイノードの割合

この情報は、ディスク空間はあるがイノードが不足しているために新しいファイルを作成できない状況をトラブルシューティングする際に特に有用です。

オプションの組み合わせ

これらのオプションを組み合わせることで、包括的な情報を得ることができます。たとえば、人間が読みやすい形式のディスク空間とイノードの使用状況を同時に表示するには、次のようにします。

df -hi

これにより、ファイルシステムの使用状況に関するより完全な情報が得られます。

Filesystem     Inodes IUsed IFree IUse% Mounted on
overlay         1.3M  107K  1.2M    9% /
tmpfs            97K     1   97K    1% /dev
tmpfs            97K    16   97K    1% /sys/fs/cgroup
shm              97K     1   97K    1% /dev/shm
/dev/sda1       1.3M  107K  1.2M    9% /etc/hosts
tmpfs            97K     1   97K    1% /proc/acpi
tmpfs            97K     1   97K    1% /sys/firmware

まとめ

この実験では、df コマンドを使用して Linux 環境でディスク空間の使用状況を効果的に監視および分析する方法を学びました。以下に、この実験で達成したことをまとめます。

  1. 基本的な df コマンドを使用して、すべてのマウントされたファイルシステムのディスク空間情報を表示しました。
  2. -h オプションを使用して、サイズを人間が読みやすい形式で表示することで、出力をより読みやすくする方法を学びました。
  3. 特定のディレクトリに焦点を当て、特定のファイルシステムのディスク空間を分析しました。
  4. -T オプションでファイルシステムのタイプを表示し、-i オプションでイノードの使用状況を確認するなど、追加のオプションを探索しました。
  5. より包括的なファイルシステム分析のためにオプションを組み合わせる方法を学びました。

これらのスキルは、システム管理およびメンテナンスタスクに不可欠です。定期的にディスク空間を監視することで、システムの問題を防ぎ、最適なパフォーマンスを維持することができます。Linux システムでの作業を続けるうちに、これらのコマンドは能動的なシステム管理のための日常的なツールキットの一部となります。

ディレクトリ内(ファイルシステム全体ではなく)の空間使用状況に関する詳細情報が必要な場合は、補完的なコマンド du(ディスク使用量)を使用できます。このコマンドは、ディレクトリとサブディレクトリ内でディスク空間がどのように使用されているかをより詳細に表示します。