
Linuxサーバーは順調に稼働しています。思い通りに動作させるために必要なツールをようやく使いこなし、必要なメンテナンスは定期的なアップデートの確認だけになりました。しかし、サーバーのドライブ容量を確認したことはありますか?もし確認していないなら、空き容量はどれくらい残っているかお分かりですか?これは特に重要な作業です。
良い点は、コマンドラインからでも非常にシンプルであることです。
次の 3 つのコマンドを使用してドライブの空き容量を確認する方法を説明します。
- df – ファイルシステムで使用されているディスク容量を報告します
- du – 特定のファイルによって使用されているスペースの量を報告します
- btrfs – btrfsファイルシステムのマウントポイントで使用されているスペースの量を報告します
上記の各コマンドはそれぞれ異なる目的で使用され、最も多くのディスク領域を占有しているファイルを見つけるなどのタスクで相互に組み合わせて使用できます。
各コマンドの使い方を見てみましょう。
dfコマンド
このコマンドは私が最もよく使うコマンドです。df コマンドを実行すると、ファイルシステムの統計情報がレポートされます(図A)。
図A

マシンに接続されているすべてのドライブをリストアップする必要はありません。煩雑さを省きたい場合は、特定のドライブの空き容量を確認してください。例えば、サーバーのプライマリドライブである/dev/sdaのレポートが必要な場合、 「df /dev/sda」コマンドを実行すると、レポートにはそのドライブのみが含まれます(図B)。
図B

次のように-hオプションを使用して、より人間が読みやすい形式で df レポートの使用状況を表示することもできます。
df -h
これにより、使用状況がより早く確認できる形式で報告されます (図 C )。
図C

出力をさらに具体的にしたい場合は、次のように –output オプションを使用して、レポートする内容を正確に df に伝えることができます。
df --output=source,used,avail /dev/sda
上記のコマンドは、/dev/sdaドライブのソース、使用済み容量、および使用可能容量のみを報告します。以下のオプションを指定できます。
- ソース – デバイスのマウントポイントのソース
- サイズ – ブロックの総数
- 使用済み – 使用されたブロックの合計数
- avail – 利用可能なブロックの総数
- パーセント – 使用済みスペースの割合
- ターゲット – デバイスのマウントポイント
duコマンド
duコマンドを使うと、ディスク容量を最も多く消費しているディレクトリを確認できます。これにより、貴重なストレージ容量を最も多く消費しているディレクトリを簡単に特定できます。例えば、dfコマンドを使ってあるドライブの容量がほぼいっぱいになっていることがわかったとします。一体何がそんなに多くの容量を消費しているのでしょうか?duコマンドを使って調べてみましょう。
duコマンドをオプションなしで実行すると、作業ディレクトリ内のすべてのファイル(およびサブディレクトリ内のすべてのファイル)が返されます。例えば、システム上のサイズが大きい上位10個のディレクトリを検索するとします。duコマンドはこれを実行します(ただし、ドライブの数やシステム上のデータ量によっては、かなり時間がかかります)。このコマンドを実行すると、次のような形式になります。
du -a / | sort -n -r | head -n 10
上記のコマンドは、 duの結果をsortコマンドにパイプし、sort コマンドはその結果をheadコマンドにパイプします。レポートが返されると(図D)、上位10個のディレクトリが占める容量が表示されます。
図D

報告されたディレクトリの1つに対して上記のコマンドを実行することで、より詳細な情報を取得できます。例えば、以下のコマンドは、大量のストレージを消費していると報告されているディレクトリ内で、どのサブディレクトリが最も多くの容量を消費しているかを報告します。
du -a /jlwallen/media/HALEY | sort -n -r | head -n 10
より具体的になるほど、結果もより具体的になります。
btrfsコマンド
次に、btrfsファイルシステムを利用するディスクについて見ていきます。このソフトウェアを使用するには、以下のいずれかのコマンド(ディストリビューションによって異なります)を使用してbtrfs-toolsパッケージをインストールする必要があります。
sudo apt install btrfs-tools
âsudo yum install btrfs-tools
âsudo dnf install btrfs-tools
âsudo zypper install btrfs-tools
btrfsコマンドはデバイス名ではなくマウントポイントで動作します。例えば、/media/jlwallen/AUDIOで使用されている容量を確認したいとします。その場合のコマンドは以下のようになります。
btrfs fi df /media/jlwallen/AUDIO
上記のコマンドの出力 (図 E ) を見ると、そのファイルシステムで使用されている容量がわかります。
図E

btrfs コマンドの出力について:
- 列 1 には、保存されているアイテムの種類 (データ、システム、メタデータ) が表示されます。
- 列2は、各アイテムの単一のコピーが保存されているか(単一)、または各アイテムの2つのコピーが保存されているか(二重コピー)を示します。
- 3列目と4列目には合計スペースと使用スペースが表示されます
btrfs コマンドの使用方法の詳細については、man btrfs を実行してマニュアル ページをお読みください。
システムを理解する
これら3つのコマンド(3つ目のコマンドでマシンがbtrfsファイルシステムを使用していることを前提としています)を使用すると、接続されたドライブの空き容量や、特定のディレクトリで使用されている容量を正確に把握できます。特にGUIのないサーバーで作業している場合は、これらのコマンドを知っておくと便利です。