私のDebianサーバーはなぜクラッシュしましたか?

私のDebianサーバーはなぜクラッシュしましたか?

昨夜、新しいDebianサーバーをインストールしました。私はホスト上でdebian-7.0-amd64-minimalというイメージを使用しました。私はapache2、mysql、php、vim、lynxをインストールし、いくつかのWebページを設定しました。その後、crontabを設定しました(10分ごとに実行)。以前にも同様の問題がありました(再インストールすると問題が解決する可能性があると思いました)。

数時間後、サーバーが奇妙にダウンしました。 Webサーバーにアクセスできず、コンピュータにSSHでアクセスできませんが、何とかまだ実行されます。自分のホストのWebインターフェイスからコンピュータが実行されていることを確認できます。それでもどのサービスにもアクセスできなかったため、(ホスティングプロバイダが提供したWebインターフェイスを介して)サービスを再起動する必要がありました。

再起動後、常に/var/logに関連するタイムスタンプを持つログがあることを確認してください。しかし、時にはエラーが1つしかありませんでした。

[Fri Mar 28 12:40:17 2014] [error] [client x.x.x.x] PHP Warning:  file_get_contents(http://www.bloomberg.com/quote/DAX:IND): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known

これは、crontabを介して呼び出されたPHPスクリプト(lynxを使用してWebページを呼び出す)が原因で発生します。 DNSサーバーはgoogle 8.8.8.8のサーバーです。ただし、これは時々発生し、通常、サービスは引き続き機能し続けます。だから別の質問だと思います。最後の競合以降、crontabを無効にしました。これで問題が解決したら、この投稿を更新します。

サーバーが完全にクラッシュしていないと信じるようにするもう1つの点は、そのクローンタブが機能し続けることです。

Mar 28 10:00:01 aryx /USR/SBIN/CRON[10947]: (root) CMD (lynx -dump http://[webpage]/cron/cronjob.php)
Mar 28 10:00:06 aryx /USR/SBIN/CRON[10946]: (CRON) info (No MTA installed, discarding output)
Mar 28 10:09:01 aryx /USR/SBIN/CRON[11068]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)
Mar 28 10:10:01 aryx /USR/SBIN/CRON[11088]: (root) CMD (lynx -dump http://[webpage]/cron/cronjob.php)
Mar 28 10:10:21 aryx /USR/SBIN/CRON[11087]: (CRON) info (No MTA installed, discarding output)
Mar 28 10:20:01 aryx /USR/SBIN/CRON[11221]: (root) CMD (lynx -dump http://[webpage]/cron/cronjob.php)
Mar 28 10:20:21 aryx /USR/SBIN/CRON[11220]: (CRON) info (No MTA installed, discarding output)

Webサーバーが10:00から10:10(次のcron呼び出しが実行されたとき)の間でクラッシュした場合(またはその時点でクラッシュしたコンテンツ)

[webpage]:80 [ip-address] - - [28/Mar/2014:09:50:01 +0100] "GET /cron/cronjob.php HTTP/1.0" 200 208 "-" "Lynx/2.8.8dev.12 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.18"
[webpage]:80 [ip-address] - - [28/Mar/2014:10:00:01 +0100] "GET /cron/cronjob.php HTTP/1.0" 200 208 "-" "Lynx/2.8.8dev.12 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.18"
[webpage]:80 [ip-address] - - [28/Mar/2014:12:00:02 +0100] "GET /cron/cronjob.php HTTP/1.0" 200 208 "-" "Lynx/2.8.8dev.12 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.18"

このような異常現象は午前10時以前にも発生した。

Mar 28 09:39:01 aryx /USR/SBIN/CRON[10658]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -ignore_readdir_race -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete)*

どの提案が間違っている可能性がありますか?

修正する: plog を使用すると、競合 (19:31 から 32) の間に注目すべき唯一のイベントは、Apache プロセスのログファイルです。

3-28 19:31   S     20         0s      1   185.34MB     7.46MB 96.2%     1012kB    16.66MB    17.73MB         429       0
3-28 19:32   S     20         0s      1   187.50MB     9.68MB 89.1%     1804kB    16.79MB    17.86MB        1281       0
3-28 19:33   S     20         0s      1   187.50MB     9.68MB 89.1%     1804kB    16.79MB    17.86MB        1281       0

ベストアンサー1

問題は実際にはサーバー自体ではありません。サーバーは仮想プライベートサーバーであり、ネットワーク上の他のサーバーでも使用できるIPが割り当てられます。そのため、ランダム接続の問題が発生します!

おすすめ記事