SSHからHDDの使用情況を確認しよう
Pleskのコントロールパネルにログインして、≪ツールの設定≫ ⇒ ≪サーバ情報≫を選択すれば、、現在どのくらいの容量(スペース)があり、どの程度が使用中であるか確認することができます。
今回はPleskにログインせず、SSH上で使用状況の確認を行ってみます。容量オーバーでPleskにログインができない時など重宝しますので、ぜひ参考にしてください。
SSHにログインして、root 権限にして使用状況を確認
SSHにログインして、root 権限から作業を行う必要があります。
( su - でroot になってください。 )
rootでの権限に変更したら、下記コマンドを入力してください。
まずはサーバー全体の使用状況を確認しましょう。
[root]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 97G 42G 50G 46% /
このように、サーバーの容量(Size:97G)、使用状況(Used:42G)、というのが表示されます。使用状況がサーバー容量を超過している場合、こちらのサイトのように、エラーが表示されてしまいます。
参考:[MySQL] SQLSTATE[HY000]: General error: 1030 Got error 28 from
どのディレクトリが多くの容量をとっているのか、
次に、du コマンドを使って、ディレクトごとの要領を確認します。windows で言うとエクスプローラーから、特定のフォルダを右クリックして、容量を確認するのに近いです。
では、さっそく下記コマンドを入力してください。
[root]# du -hs /*
ディレクトリ単位ごと、ファイルサイズを表示してくれます。(一部省略しています。)
0 /proc
86M /root
14M /sbin
4.0K /selinux
4.0K /srv
0 /sys
2.0M /tmp
2.1G /usr
20G /var
上記を見ると、/var ディレクトリが20G使用していることがわかります。
このディレクトリの中身を確認してみましょう。下記コマンドで、var のディレクトリ以下と使用している容量を確認することができます。(一部省略しています)
[root]# du -hs /var/*
8.0K /var/db
130M /var/drweb
8.0K /var/empty
4.0K /var/games
7.9G /var/lib
4.0K /var/local
28K /var/lock
42M /var/log
728K /var/run
260K /var/spool
4.0K /var/tmp
12G /var/www
4.0K /var/yp
/var/lib と /var/www が多くの要領を使用していますね。
まず後者の /var/www から見てみましょう。
※ ちなみに、Plesk11.5以降は、ログファイルは system 以下にあるという記述がされています。
・https://download1.parallels.com/Plesk/PP11/11.5/release-
・https://www.tsukaeru.net/support/vps-before/201306/4061/
各Webサイトが格納されているディレクトリで、多くの場合はログの肥大化による容量圧迫がほとんどです。
[root]#du -hs /var/www/vhosts/system/【ドメイン名】/logs/
これで、logs の要領を確認することができます。
次はこのディレクトにあるファイルを確認していきます。今度のコマンドは ls を利用します。
[root]#ls -hs /var/www/vhosts/system/【ドメイン名】/logs/
2.1M access_log 6.6M error_log.1.gz
5.6M access_log.processed 4.0K proxy_access_ssl_log
30M access_log.processed.1.gz 4.0K webmail_access_log
5.5M access_log.webstat 4.0K webmail_access_ssl_log
4.0K access_ssl_log 0 xferlog_regular
544K access_ssl_log.processed 28M xferlog_regular.processed
8.0K access_ssl_log.webstat 8.0K xferlog_regular.webstat
10G error_log
log を確認し、ここで肥大化したファイルがあれば削除していきます。
上記の場合は、error_log が10Gと大きくなっていますね。
[root]rm /var/www/vhosts/system/【ドメイン名】/logs/error_log
rm コマンドを使ってファイルを削除します。
Pleskにログインすることができなくなったら、
容量の超過が起きた場合、Pleskにログインすることができなくなる場合があります。
ERROR: Zend_Db_Statement_Exception: SQLSTATE[HY000]: General error:
1030 Got error 28 from storage engine (Pdo.php:234)
ログイン画面が表示されず、上記のエラーがアナウンスされます。
このような状態になると、du または df を使ってサーバーの使用状況を確認。
[root]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 97G 94G 0 100% /
仮想環境なので、容量超過してもサーバーダウンはされずに上記のアナウンスが表示されます。 考えられる原因、例えばバックアップファイルが転送に失敗してローカルのレポジトリに保存されてしまったり、脆弱性によって短期間でエラーログが溜まってしまい容量オーバーしてしまうケースもあります。
その場合、Pleskのコントロールパネルどころかサーバーダウンしてしまいます。今回はそのような状況でも、SSH を使って問題となる 部分を調査して復帰できるようにする事を覚えておきましょう。