VPSのディスクスペース管理 - ベストプラクティス

公開: 2025-06-09
目次
  • VPSのディスクスペースが不足しているかどうかを確認する方法
  • バックアップの離職に注意してください
  • ジャンクファイルを認識しています
  • 特定のデータセットを含むフォルダーを見つけるにはどうすればよいですか?
  • ディスクスペースの過剰を防ぐにはどうすればよいですか?
  • ディスククォータに近すぎることの危険は何ですか?
  • それで、私が宇宙を使い果たした場合、私はどうしますか?
  • 最終的な考え

仮想プライベートサーバー(VPS)または専用サーバーのディスクスペースが不足することは、操作を混乱させる可能性のある一般的なが重要な問題です。ディスクスペースをサーバーの生命線と考えてください。呼吸するのに十分なスペースがなければ、すべてが遅くなるか、完全に機能しなくなります。ウェブサイトをホストしている、アプリの実行、バックアップの管理、ディスク使用のタブを維持するかどうかは、信頼性とパフォーマンスが必要な場合は交渉できません。

このガイドでは、ディスクスペースの問題が災害に変わる前に、ディスクスペースの問題を診断および修正するための実用的で実践的な戦略を説明します。ストレージをホーギングしているものを特定してから、物事がしっかりとし始めたときに警告するツールのセットアップまで、すべてをカバーします。読みが終わる頃には、サーバーを無駄のないものに保ち、アクションの準備を整えるための明確な計画があります。それに入りましょう!

VPSのディスクスペースが不足しているかどうかを確認する方法

VPSを管理している場合、ディスクスペースを確認する方法を知ることは必須です。良いニュース? Linuxは、まさにそれを行うためのシンプルでありながら強力なツールを提供します。 DF -Hコマンドから始めます - これは、すべてのマウントされたファイルシステムの概要と、人間が読み取る形式で使用される概要を示しています(これが-hの象徴です)。総サイズ、使用済みスペース、利用可能なスペース、マウントポイントなどの列が表示されます。 「使用%」列に注目してください。100%近くに忍び寄っている場合は、行動を起こす時が来ました。

もっと詳細が必要ですか? DU -SH /*を使用して、ディレクトリごとにディスク使用量を分類します。 -sはあなたに要約を与え、-hはそれを読み取り可能に保ちます。これにより、どのフォルダがスペースを抱えているかを特定するのに役立ちます。たとえば、 /var /logがギガバイトを食べている場合、Runawayログファイルがある場合があります。

これらのコマンドを定期的に実行しているだけでなく、スマートではありません。それは不可欠です。ディスクスペースの問題は自分自身を発表しません。彼らはあなたに忍び寄る。定期的に、またはさらに良いことに、自動監視をセットアップして、不意を突かれないようにすることを習慣にしてください。プロアクティブは、毎回リアクティブにビートします。

実際の例を使用して、物事の実用的な側面に飛び込みましょう。 LinuxベースのVPSを使用している場合、ディスクスペースのチェックに関しては、2つのコマンドがあなたの親友です:DF -HおよびDU -SH。これらがどのように機能し、出力を解釈する方法です。

DF -Hを使用します

ターミナルでこのコマンドを実行します:

DF -H

このような出力が得られます。

ファイルシステムサイズ使用利用可能%on/dev/vda1 50g 40g 7.5g 85%/tmpfs 16g 0 16g 0%/dev/shm

これがそれが意味することです:

  • /dev/vda1がメインディスクで、85%のフルです。それはきつくなっています - 80%以上が赤い旗です。
  • TMPFSは一時的なメモリストレージであり、空であるため、心配はありません。

90%以上のパーティションが表示されている場合は、さらに調査する時が来ました。

du -shを使用します

ここで、ルートディレクトリ( /)がいっぱいになっていることを特定したとします。食事スペースを見つけるには、使用してください。

du -sh /*

出力は次のようになるかもしれません:

2.5g /home12g /var500m /etc3.0g /usr

これは、 /varが最大の犯人であることを教えてくれます。多分それはログファイルまたはキャッシュされたデータが積み上げられているでしょう。さらにドリルダウン:

du -sh /var /*

あなたはこのようなことを発見するかもしれません:

10g /var/log1.5g /var /cache

ああ! /var /logフォルダーは10GBを占めています。古いログをクリーンアップする時間。

信頼できる高性能インフラストラクチャでディスクスペースを管理するためのベストプラクティスを実装したい場合は、VPSサーバーオランダまたはVPS Europeを検討してください。

バックアップの離職に注意してください

バックアップは命の恩人ですが、適切に管理されていなければ、サイレントディスクスペースキラーになることもあります。時間が経つにつれて、蓄積されたバックアップ、特に完全なシステムスナップショット - は、ギガバイトのストレージを食べることができます。たとえば、クリーンアップポリシーなしで毎日のバックアップを実行している場合、 /バックアップディレクトリは、持続不可能なレベルまで膨らむ可能性があります。

これを回避するには、古いバックアップの自動削除を設定します。 Logrotateなどのツール(はい、ログ以上のもので機能します!)やカスタムスクリプトは、最新のコピーのみを保持するのに役立ちます。たとえば、最後の7日間のバックアップを維持し、古いものを削除するように保持ポリシーを構成できます。 RSYNCやクラウドベースのソリューションなどの多くのバックアップツールには、離職を管理するための組み込みオプションもあります。

バックアップ戦略を定期的に監査します - 信頼性だけでなく、不必要なスペースを抱きしめないようにします。結局のところ、バックアップは、プロセスでサーバーを不自由にしない場合にのみ役立ちます。

ログバックアップにLoGroTateを使用します

特にサーバーが多くのトラフィックを処理している場合、ログは迅速に積み上げることができます。これを管理するには、古いログを回転および圧縮するように設計されたツールであるLogrotateを使用します。これは、/etc/logrotate.d/nginxの構成ファイルの例です。

/var/log/nginx/*.log {Daily Missingok Rotate 7 Compress DelayCompress Notempty Create 0640 root root}

これがすること:

  • 毎日ログを回転させます。
  • 7日間のログ(7)を保持し、古いログを削除します。
  • 古いログを圧縮してスペースを節約します(圧縮)。

logrotate /etc/logrotate.confを手動で実行するか、Cronを介して自動的に実行します。これにより、古いログがディスクを埋めないようにします。

検索でバックアップクリーンアップを自動化します

カスタムバックアップを管理している場合は、Findコマンドを使用して、特定の年齢よりも古いファイルを削除できます。たとえば、7日以上のバックアップファイルを削除するには:

find /backup -type f -mtime +7 -exec rm -f {} \;

このコマンドは、7日前(-mtime +7)を変更したファイル(-Type F)を検索し、それらを削除(RM -F)を削除します。

バックアップツールで保持ポリシーを設定します

多くのバックアップツールには、保持ポリシーが組み込まれています。たとえば、RSYNCをインクリメンタルバックアップに使用している場合は、スクリプトにクリーンアップステップを追加できます。

#!/bin/bashrsync -av –delete/source//backup/find/backup -type f -mtime +14 -exec rm -f {} \;

このスクリプトは、データを /バックアップし、14日以上のファイルを削除します。

ジャンクファイルを認識しています

一時的なファイル、キャッシュ、および残りのデータは、静かに積み上げて、ディスクスペースを食べることができます。たとえば、パッケージマネージャー(/var/cache/apt for debian/ubuntu)やWebサーバーなどのアプリは、常に自動的にクリーンアップされていないファイルを残します。注意しないと、これらのジャンクファイルは無駄なスペースのギガバイトに成長する可能性があります。

一時ファイル、キャッシュ、その他の不要なデータなどのジャンクファイルを識別してクリーンアップする方法の実用的な例に飛び込みましょう。これらのコマンドは、システムを安全に保ちながらディスクスペースを取り戻すのに役立ちます。

検索で /TMPをクリーンアップします

/TMPディレクトリは、常にクリーンアップされるとは限らない一時ファイルの一般的な場所です。 Findコマンドを使用して、7日以上のファイルを見つけて削除します。

find /tmp -type f -mtime +7 -exec rm -f {} \;

これがこれを行うことです:

  • /TMP:一時ディレクトリをターゲットにします。
  • -Type F:ファイルのみを探します(ディレクトリを無視します)。
  • -mtime +7:7日以上のファイルを見つけます。
  • -exec rm -f {} \; :見つけたファイルを削除します。

これを定期的に実行して、 /TMPがストレージの豚にならないようにします。

一時ファイルにtmpwatchを使用します

専用ツールを好む場合は、TMPWATCHがクリーンアッププロセスを自動化します。たとえば、7日間アクセスしていない /TMPでファイルを削除するには:

TMPWATCH 7D /TMP

これは、検索よりも簡単で、真に未使用のファイルのみが削除されるようにします。

クリアパッケージマネージャーキャッシュ

AptやYumのようなパッケージマネージャーは、更新をインストールした後にキャッシュされたファイルを残します。それらをきれいにするために:

  • Debian/ubuntu(apt)の場合:
sudoはきれいに

これにより、/var/cache/apt/アーカイブからすべてのキャッシュされた.debファイルが削除されます。

  • Centos/rhel(yumまたはdnf)の場合:
sudo yumはすべてをきれいにします

または:

sudo dnfはすべてをきれいにします

発見された大きなファイルを見つける

ジャンクファイルが /TMPにない場合があります。他の場所に散らばっています。検索を使用して、システム全体に大きなファイル(100MBを超える)を見つけます。

/ -type f -size +100m -exec ls -lh {} \;

これにより、古いログや未使用のメディアなど、削除できる可能性のある大きなファイルを識別することができます。

何かを削除する前に、ファイルの目的を確認してください。たとえば、 /var、 /etc、または /usrからファイルを盲目的に削除しないでください。削除コマンドを実行する前に、常に重要なデータをバックアップしてください。

これらのコマンドを使用して警戒を維持することにより、システムの安定性を危険にさらすことなく、サーバーをジャンクファイルから解放します。

特定のデータセットを含むフォルダーを見つけるにはどうすればよいですか?

VPSがディスクスペースで低く走り始めると、最初のステップは、データの大部分がどこに存在するかを把握することです。 Du -Sh *とNCDUの2つのツールは、最も重いディレクトリを特定するための頼りになるソリューションです。

du -sh *を使用する

分析するディレクトリでこのコマンドを実行します。

du -sh *

これが出力の例です。

2.5gログ/1.8gバックアップ/500mキャッシュ/300mアップロード/

これにより、現在のディレクトリ内の各フォルダーまたはファイルのサイズが表示されます。この場合、ログ/フォルダーは2.5GBで最大です。ログにさらにドリルダウン/実行して:

du -sh logs/*

これで、error.logファイルがメインの犯人であることがわかりました。

インタラクティブ分析にNCDUを使用します

よりユーザーフレンドリーなアプローチを希望する場合は、NCDU(ディスク使用アナライザー)をインストールします。

sudo apt install ncdu#for debian/ubuntusudo yum install ncdu#for centos/rhel

その後、実行:

ncdu/path/to/directory

ディスク使用のインタラクティブな内訳が表示されます。矢印キーを使用して、大きなフォルダーまたはファイルをナビゲートして識別します。

これらのツールは、最大のスペースの豚をすばやく見つけるのに役立ちます。たとえば、 /var /logがスペースを食べている場合、古いログをクリアできます。 /home/user/uploadsが肥大化している場合、未使用のファイルのアーカイブまたは削除を検討してください。ディレクトリを体系的に分析することにより、当てはまることなく貴重なディスクスペースを取り戻すことができます。覚えておいてください:重要なファイルが誤って削除されないように、常に削除するものを確認してください。

ディスクスペースの過剰を防ぐにはどうすればよいですか?

ディスクスペースの過剰を防ぐことは、積極的な管理に関するものです。実用的な戦略とツールを使用して、曲線の先を行く方法は次のとおりです。

ログの回転とCronのジョブでクリーンアップを自動化します

VPSディスクスペースが不思議なことにマックスアウトされる状況に遭遇したことがある場合、ログファイルはしばしば犯人です。これらのファイルは、サーバーで起こっているすべてを追跡します。これはデバッグに最適ですが、制御不能に成長する場合はそれほど大きくありません。そのため、システムを自動的に管理するシステムを設定することが重要です。

ログの回転とは、古いログをアーカイブし、それらを圧縮してスペースを節約し、最終的には不要なログを削除するプロセスです。ほとんどのLinuxベースのシステムには、一般的なサービス用にこれを処理するツールが付属していますが、特定のアプリケーションにログ回転が構成されていない場合は、セットアップする価値があります。これにより、すべてのディスクスペースを食べることなく、ログが整理されたままになります。

ログの回転とスケジュールされたクリーンアップタスクのペアリングは、効率の別の層を追加します。これらのプロセスを自動化することにより、サーバーを無駄のない状態に保ち、完全なディスクによって引き起こされる予期しないクラッシュやパフォーマンスの問題を回避できます。定期的にセットアップを確認してください。自動化は強力ですが、「設定して忘れる」ソリューションではありません。

ユーザーの割り当てを設定します

複数のユーザーまたはアプリケーションがVPSを共有している場合は、1人のユーザーがすべてのスペースをホグするのを防ぐためにディスククォータを実施します。 Linuxでは、クォータを使用します。

sudo apt install quota#install quota toolsudo edquota -uユーザー名#ユーザーのクォータを設定します

驚きを避けるために、ディスク使用のソフト制限とハード制限を設定します。

ツールを使用してディスクの使用を監視します

ナギオやZabbixなどの監視ツールは、ディスクスペースが重要になる前に警告することができます。たとえば、Zabbixでは、ディスク使用のトリガーを作成します。

トリガー:{テンプレートos linux:vfs.fs.size [/、pused] .last()}> 80

これにより、ディスクの使用量が80%を超えるとアラートが送信されます。

または、DF -Hで簡単な監視スクリプトを使用します。

DF -H | awk '$ 5+0> 80 {印刷$ 6 "は80%を超えています」}'

これをCronジョブとして実行して、電子メールまたはログで通知します。

ファイルのアップロードとキャッシュサイズを制限します

Webサーバーの場合、アップロードまたはキャッシュディレクトリのサイズを制限します。たとえば、アップロードサイズを制限するようにnginxまたはapacheを構成します。

client_max_body_size 10m;

または、スクリプトで古いキャッシュファイルをクリアします。

find /var /cache -type f -mtime +14 -exec rm -f {} \;

クリーンアップ、クォータの設定、監視ツールを使用することにより、ディスクの過剰が発生する前に防止できます。これらの手順により、サーバーが無駄のない、信頼性が高く、その方法を処理する準備ができていることを保証します。

ディスククォータに近すぎることの危険は何ですか?

ディスクスペースが不足しているだけでなく、不便なだけでなく、災害のレシピです。 VPSがディスククォータにヒットすると、クリティカルシステム関数が分解し始めます。たとえば、ログの書き込みに依存するアプリケーション(Webサーバーや監視ツールなど)は、スペースが残っていないと失敗します。これにより、エラーやセキュリティ違反を盲目にする可能性があります。

データベースは別の大きなリスクです。 MySQL、PostgreSQL、およびその他のデータベースシステムには、一時的なファイルの作成やインデックスの更新などの操作を実行するには、空き領域が必要です。それがなければ、クエリが失敗する可能性があるか、さらに悪いことに、データベース全体がクラッシュし、ダウンタイムまたはデータの破損につながる可能性があります。さらに悪いことに、ルートパーティションが完全にいっぱいになった場合、システム自体がフリーズできます。 CronやSSHなどの重要なプロセスでは、動作を停止する可能性があり、問題をリモートでログインまたは修正できなくなります。

これらの問題を回避するために、ディスクスペースの少なくとも10〜15%を無料に保つことを常に目指してください。このバッファーにより、スムーズな動作が保証され、ストレージが低く走り始めたときに問題を調査および解決する余地が与えられます。覚えておいてください:完全なディスクは単なる警告サインではなく、時限爆弾です。

それで、私が宇宙を使い果たした場合、私はどうしますか?

VPSがディスクスペースが不足している場合、パニックは役に立ちませんが、明確な計画は役に立ちません。スペースを取り戻し、サーバーを軌道に戻すための段階的なガイドを次に示します。

一時的なファイルをクリーンアップします

不要になった一時的なファイルをクリアすることから始めます。 Findコマンドを使用して、 /TMPまたはその他のTEMPディレクトリに古いファイルを見つけて削除します。

find /tmp -type f -mtime +7 -exec rm -f {} \;

これにより、7日以上のファイルが削除されます。重要なシステムファイルに触れないように注意してください。

古いログを回転および削除します

ログは、特に忙しいサーバーで指数関数的に成長する可能性があります。ログロテートを使用するか、ログを手動でクリーンアップします。例えば:

sudo find /var /log -Type f -Name“*.log” -exec truncate -s 0 {} \;

これにより、ログファイルは削除せずにログファイルをゼロサイズに切り捨て、サービスが中断されないようにします。

古いログが必要ない場合は、削除してください。

sudo rm /var/log/*.gz

これにより、圧縮されたログファイルが削除され、これはしばしば時間の経過とともに蓄積されます。

大きなファイルを識別して削除します

Du -sh *またはNCDUを使用して、大きなファイルを見つけます。例えば:

du -sh /home /*

不要になった巨大なファイルまたはディレクトリを見つけた場合は、削除してください。

rm -rf /home/user/unused_backup.tar.gz

データを外部ストレージに移行します

バックアップやメディアなどの非クリティカルなデータの場合、外部ストレージへのオフロードファイル。 RSYNCなどのツールを使用して、データを外部ドライブまたはクラウドストレージに移動します。

rsync -avz/path/to/large/files/user@remote:/backup/

次に、ローカルコピーを削除してスペースを解放します。

追加のディスクを追加します

VPSがスペースを使い果たし始めると、追加のディスクを追加することは命の恩人になる可能性があります。このアプローチを使用すると、バックアップ、メディア、ログなどのかさばるファイルをセカンダリストレージデバイスにオフロードできます。ほとんどのホスティングプロバイダーにより、コントロールパネルを介して追加のディスクをVPに簡単に添付できます。追加されると、大きなファイルまたはディレクトリ全体を新しいディスクに移動して、プライマリドライブのスペースを解放できます。

この方法は、組織に役立つだけでなく、メインディスクの混乱を減らすことでパフォーマンスを向上させます。古いファイルパスに依存するアプリの構成を更新することを忘れないでください。ディスクを追加することは、時間を購入し、サーバーをスムーズに実行し続けるスケーラブルなソリューションです。

最終的な考え

VPSでディスクスペースを管理するだけでなく、単なるタスクではありません。継続的な責任です。定期的な監視と積極的なクリーンアップは、費用のかかるダウンタイム、パフォーマンスの問題、セキュリティリスクから救うことができます。予防は、制御不能になった後、問題を修正するよりも常に簡単であることを忘れないでください。

アクションを実行する前に、サーバーが100%の使用法を押すのを待たないでください。今日この記事で概説したツールと戦略の実装を開始します。ログの回転をセットアップし、クリーンアップスクリプトを自動化し、監視ツールでディスク使用に注意してください。あなたの将来の自己(およびあなたのユーザー)は、サーバーをスムーズに実行し続けることに感謝します。今すぐディスクスペースを制御してください。これは、VPSのために作成できる最も賢い投資の1つです。