Linux の df コマンド:ディスク空き容量の報告

LinuxLinuxBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Linux システムのディスク使用量を監視するための重要なツールである df コマンドを学びます。繁忙な Web サーバーを管理するシステム管理者の役割を担い、df を使ってディスク使用状況を分析し、潜在的なストレージ問題を特定し、サーバーの円滑な運用を確保します。この実験は初心者向けに設計されているので、Linux に慣れていなくても心配しないでください。私たちが丁寧に各ステップを案内します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/df("Disk Space Reporting") subgraph Lab Skills linux/df -.-> lab-219188{{"Linux の df コマンド:ディスク空き容量の報告"}} end

df コマンドの基本を理解する

システム管理者としての最初のタスクは、Web サーバーのディスク使用状況の概要を把握することです。オプションなしで df コマンドを実行すると、マウントされているすべてのファイルシステムのクイックなスナップショットが表示されます。

まず、プロジェクト ディレクトリに移動しましょう。

cd ~/project

次に、基本的な df コマンドを実行しましょう。

df

ヒント: 仮想マシンのストレージの動的な変化のため、df コマンドの出力が一貫しない場合がありますが、この問題は無視して構いません。

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

Filesystem     1K-blocks     Used Available Use% Mounted on
overlay         20971520  1314600  19656920   7% /
tmpfs              65536        0     65536   0% /dev
tmpfs            4068320        0   4068320   0% /sys/fs/cgroup
shm                65536        0     65536   0% /dev/shm
/dev/vdb       104806400 17442788  87363612  17% /etc/hosts
tmpfs             102400    51200     51200  50% /mnt/ramdisk

この出力を分解してみましょう。

  • Filesystem: この列には、デバイスまたはパーティションの名前が表示されます。
  • 1K-blocks: これは、1 キロバイトのブロック単位でのファイルシステムの合計サイズを示します。
  • Used: これは、使用されている 1K ブロックの数を示します。
  • Available: これは、利用可能な 1K ブロックの数を示します。
  • Use%: これは、使用されているファイルシステムの割合を示します。
  • Mounted on: これは、ファイルシステムがマウントされているディレクトリ ツリー内の場所を示します。

コンテナ化された環境で一般的に使用される overlay ファイルシステムに注目してください。/dev/vdb デバイスはおそらく仮想ディスクであり、/mnt/ramdisk にマウントされている tmpfs ファイルシステムが表示されます。これは RAM ベースのファイルシステムです。

df コマンドの出力を人間が読みやすくする

df コマンドのデフォルトの出力は 1K ブロック単位でサイズを表示するため、すぐに解釈するのが難しい場合があります。20640796 個の 1K ブロックが何ギガバイトに相当するかを考えてみてください!幸いなことに、出力をより理解しやすくするために、「human-readable」(人間が読みやすい)を意味する -h オプションを使用できます。

次のコマンドを実行してください。

df -h

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

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vdb        100G   17G   84G  17% /etc/hosts
tmpfs           100M   50M   50M  50% /mnt/ramdisk

サイズが現在 GB と MB で表示されていることに注目してください。これは一目で分かりやすくなっています。たとえば、メインのファイルシステム (overlay) が 20G のサイズで、使用済みは 1.3G、利用可能な容量は 19G であることがすぐに分かります。

ファイルシステムの種類を表示する

システム管理者として、サーバー上のファイルシステムの種類を知ることは重要です。異なるファイルシステムの種類には、異なる機能と性能特性があります。-T オプションを使用すると、この情報を表示できます。

次のコマンドを実行してください。

df -T

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

Filesystem     Type    1K-blocks     Used Available Use% Mounted on
overlay        overlay  20971520  1314600  19656920   7% /
tmpfs          tmpfs       65536        0     65536   0% /dev
tmpfs          tmpfs     4068320        0   4068320   0% /sys/fs/cgroup
shm            tmpfs       65536        0     65536   0% /dev/shm
/dev/vdb       xfs     104806400 17442728  87363672  17% /etc/hosts
tmpfs          tmpfs      102400    51200     51200  50% /mnt/ramdisk

この出力には、新しい列である Type が含まれており、そこには各マウントされたファイルシステムのファイルシステムの種類が表示されています。見ている種類を見てみましょう。

  • overlay:これは、コンテナ化された環境でよく使用されるユニオン ファイルシステムの一種です。
  • tmpfs:これは、メモリおよび/またはスワップ パーティションに存在する一時的なファイルシステムです。
  • xfs:これは、高性能なジャーナリング ファイルシステムで、ここでは /etc/hosts マウントに使用されています。

ファイルシステムの種類を理解することは、問題のトラブルシューティングやシステムの性能を最適化するのに役立ちます。

inode 使用状況の分析

Linux では、inode はファイルの重要な情報(権限、所有者、ディスク上の場所など)を格納するデータ構造です。システム上の各ファイルは 1 つの inode を使用します。興味深いことに、十分なディスク空間があっても inode が足りなくなることがあり、新しいファイルを作成できなくなる場合があります。このため、inode の使用状況を監視することは非常に重要です。

-i オプションを使用して inode の使用状況を確認しましょう。

df -i

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

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
overlay        52428800 539001 51889799    2% /
tmpfs           1017080    206  1016874    1% /dev
tmpfs           1017080     17  1017063    1% /sys/fs/cgroup
shm             1017080      1  1017079    1% /dev/shm
/dev/vdb       52428800 539001 51889799    2% /etc/hosts
tmpfs           1017080      2  1017078    1% /mnt/ramdisk

この出力を分解してみましょう。

  • Inodes:ファイルシステムの inode の総数
  • IUsed:現在使用中の inode の数
  • IFree:空き inode の数
  • IUse%:使用されている inode の割合

この例では、メインのファイルシステム (overlay) が利用可能な inode の 2% しか使用していないことがわかります。これは良いことです。これは、ディスク空間があっても新しいファイルを作成できなくなる inode が足りなくなる状況にはまだ遠いことを意味します。

包括的な分析のためのオプションの組み合わせ

個々のオプションを調べたので、サーバーのストレージ状況をより包括的に見るためにそれらを組み合わせてみましょう。必要な情報すべてを 1 つのコマンドで取得するために、複数のオプションを一緒に使用できます。

次のコマンドを実行してください。

df -hT

このコマンドは、人間が読みやすい (-h) とファイルシステムの種類 (-T) のオプションを組み合わせています。

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

Filesystem     Type     Size  Used Avail Use% Mounted on
overlay        overlay   20G  1.3G   19G   7% /
tmpfs          tmpfs     64M     0   64M   0% /dev
tmpfs          tmpfs    3.9G     0  3.9G   0% /sys/fs/cgroup
shm            tmpfs     64M     0   64M   0% /dev/shm
/dev/vdb       xfs      100G   17G   84G  17% /etc/hosts
tmpfs          tmpfs    100M   50M   50M  50% /mnt/ramdisk

この出力は、ファイルシステムの種類と人間が読みやすいサイズを含む、ファイルシステムの包括的な概要を提供します。システムのストレージ状況の迅速で詳細なスナップショットを取得するための素晴らしい方法です。

特定のファイルシステムに焦点を当てる

システム管理者として、特定のファイルシステムの状態を確認する必要が頻繁にあります。たとえば、ルート ファイルシステムの空き容量をすぐに確認したい場合があります。これは、df コマンドの後にマウント ポイントを指定することで行うことができます。

ルート ファイルシステムに焦点を当ててみましょう。次のコマンドを実行してください。

df -h /

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

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

このコマンドは、ルート ファイルシステムの空き容量の状況をすぐに表示します。特定の 1 つのファイルシステムにのみ興味があり、他のすべてのファイルシステムに関する情報は不要な場合に特に役立ちます。

ユーザーのホーム ディレクトリの利用可能な空き容量を確認する

サーバー管理の一環として、ユーザーがホーム ディレクトリに十分な空き容量を持っていることを確認する必要があります。多くのシステムでは、ユーザーのホーム ディレクトリは /home ディレクトリにあります。/home ディレクトリの利用可能な空き容量を確認しましょう。

次のコマンドを実行してください。

df -h /home

以下のような出力が表示される場合があります。

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /

これは、/home ディレクトリがルート ディレクトリ (/) と同じファイルシステム上にあることを示しています。この場合、ユーザーのホーム ディレクトリには十分な空き容量 (19G) があることがわかります。

ファイルシステムが満杯になっていること (高い Use% 値) がわかった場合は、最も多くの空き容量を使用しているユーザーを調査したり、ストレージ容量を増やすことを検討する必要があるかもしれません。

特定のファイルシステムの種類を除外する

時々、df コマンドの出力から特定のファイルシステムの種類を除外したい場合があります。たとえば、メモリに保存され、物理的なディスクの使用状況を表さない一時的なファイルシステムを除外したい場合があります。これは -x オプションを使用することでできます。

tmpfs ファイルシステムを除外するには、次のコマンドを実行してください。

df -h -x tmpfs

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

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
/dev/vdb        100G   17G   84G  17% /etc/hosts

出力に tmpfs ファイルシステムがもはや表示されないことに注意してください。これは、物理的なディスクの使用状況のみに興味があり、仮想ファイルシステムを除外したい場合に便利です。

全体の概要を表示する

最後の概要として、すべてのファイルシステムの全体の概要を表示しましょう。これは --total オプションを使用することでできます。これは、すべてのファイルシステム全体のディスク使用状況を見たい場合に特に役立ちます。

次のコマンドを実行してください。

df -h --total

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

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  1.3G   19G   7% /
tmpfs            64M     0   64M   0% /dev
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/vdb        100G   17G   84G  17% /etc/hosts
tmpfs           100M   50M   50M  50% /mnt/ramdisk
total           125G   18G  107G  15% -

これは、すべてのファイルシステムのディスク使用状況の全体の概要を提供します。最後の行は、すべてのファイルシステムの合計を示しており、全体として 125G のうち 18G が使用されており、利用可能な空き容量の約 15% であることを示しています。

まとめ

この実験では、Linux システムのディスク空き容量の監視と分析に df コマンドをどのように使用するかを学びました。df コマンドのさまざまなオプションを調べました。それには、以下が含まれます。

  • df の基本的な使い方
  • -h オプションで出力を人間が読みやすくする
  • -T オプションでファイルシステムの種類を表示する
  • -i オプションで inode の使用状況を分析する
  • 包括的な分析のためにオプションを組み合わせる
  • 特定のファイルシステムに焦点を当てる
  • -x オプションで特定のファイルシステムの種類を除外する
  • --total オプションで全体の概要を表示する

これらのスキルは、効果的なシステム管理と Linux サーバーの最適なパフォーマンスの確保に不可欠です。システム管理の旅を続けるにつれて、df コマンドがツールキットにおいて非常に貴重なツールであることがわかるでしょう。

この実験では扱わなかった追加の df オプションには、以下があります。

  • -a:疑似、重複、アクセス不能なファイルシステムを含むすべてのファイルシステムを表示する
  • -k:サイズをキロバイト単位で表示する(デフォルト)
  • -m:サイズをメガバイト単位で表示する
  • -P:POSIX 出力形式を使用する
  • --sync:使用状況情報を取得する前に同期を実行する
  • -t:特定の種類のファイルシステムのみを表示に制限する

覚えておいてください。df は強力ですが、ディスク使用状況の監視に利用可能な多くのツールの 1 つにすぎません。Linux の学習を進めるにつれて、du(ディスク使用量)、ncdu(NCurses ディスク使用量)などの他のコマンドや、さまざまなシステム監視ツールを調べることができます。