質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

7718閲覧

突如LoadAverage値が高騰した原因を探りたい

skksky

総合スコア30

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2016/07/03 06:44

先日、管理しているMTAサーバで、突如LoadAverage値が高騰し、一時的に(40分程度)メール配送がすべてリジェクトされるという現象が発生しました。

sendmailの仕様として、LoadAverage値が高騰したときにはメールをリジェクトするということは理解したのですが、LoadAverage値がなぜ突如高騰したのかについてわからず困っています。

<環境>
・RedHat6.2
・同一サーバ内に、MTAとしてsendmail、内部Proxyとしてsquid、内部DNSとしてBINDが共存しています。
・全く同じ構成のサーバがもう一台存在し、DNSラウンドロビンで通信が振り分けられています。こちらのサーバではLoadAverage値の高騰は一切見られませんでした。

<調査したところ>
・/var/log/messagesに不審なログはありませんでした。
・sendmailのログでは、リジェクトしたログが残っていましたが、それ以外に不信なログは見当たりませんでした
・squidのログには不審なものがなく、正常にアクセスが行われていました。
・DNSのログにも不審な点はありませんでした。
・サーバの手前にあるPaloaltoでトラフィックの分析をかけましたが、特定のポートでログが急増するなど、攻撃のような動きは見当たりませんでした。
・sarコマンドで、LoadAverage値が高騰した時間帯でプロセスが急増していることはわかりました。

<質問>
0. sarコマンドでプロセスが急増していたことはわかりましたが、具体的にどのプロセスが急増したかを調べる方法はありますでしょうか。
0. Disk i/Oが遅くなっている疑いがあるという記事を読みましたが、それを確かめる方法はありますでしょうか。
0. ほかに原因として疑われる個所、調査すべき箇所はありますでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1.sarコマンドでプロセスが急増していたことはわかりましたが、具体的にどのプロセスが急増したかを調べる方法はありますでしょうか。

sarのみではプロセスの種類まではわかりません。同時にps等も取得してないと無理です。

  1. Disk i/Oが遅くなっている疑いがあるという記事を読みましたが、それを確かめる方法はありますでしょうか。

sarのオプションによってはdisk i/oも取っているはずです。sarの結果を確認してみて下さい。sar -Aで取っていたらきっとあるはずです。

  1. ほかに原因として疑われる個所、調査すべき箇所はありますでしょうか。

よくあるパターンは二つです。

  1. 物理メモリ不足でswapが発生していた。sarで取っていたログから物理メモリの空き容量やswap in/outを確認してください。
  2. 大きなファイルの処理でディスクIOが高くなっていた。とくに、メールスプールの先がNFSなどの場合は要注意です。

メモリリークが起きていると1.が原因であることが多いですが、自然復旧したのであれば、メモリリークの可能性は少ないと思います(再起動で復旧なら逆に可能性が高い)。

次に2.が起きる原因ですが、様々です。

私が経験したことがあるのは、内部から数百MB(何かのCDを丸ごと添付したらしい)を数十人(全て内部)に送りつけてMTAがスローダウンしたというのがあります。内部から内部のためFWにはログは無く、MTAのログではアクセス数が多くなったわけでは無いため、原因を突き止めるまでに結構わかりにくかったです。もし、メールサイズの制限がされていない(特に内部からのメールについて)のであれば、この可能性が高いです。sendmailの設定を確認してみて下さい。

次に聞いたことがあるのは、無限に転送を繰り返していたというものです。ユーザがprocmail等で自由に転送を設定できる場合は要注意です。一応、ある程度ホップ数があると転送は止まるはずですので、sendmail側での最大ホップ数も確認しておいて下さい。通常の転送であれば最大ホップ数になって止まるのですが、最悪なパターンとして、転送先が二つあるなど転送する度に増殖するというのがありました。この場合はログにはっきり残る(一人だけやけに大量にメールを送受信しているなど)ため、可能性は少ないと思います。

squidやDNSが悪さしていたというのも完全に否定はできません。sendmailを含めて、過去にDOSの脆弱性が何度もでているため、最新のパッチをあててあるかを確認して下さい。

最後に、1つのサーバで複数のサービスを行うことはあまりお勧めできません。今回のように他の影響かも知れないと原因の切り分けが難しくなり、また、3サービス共に落ちてしまっていた可能性もあります。今回のことをきっかけに、物理的に1台しか用意できない場合でも、KVMといった仮想化やDocker等のコンテナ化を検討してみてはいかがでしょうか。

投稿2016/07/03 08:05

編集2016/07/03 08:07
raccy

総合スコア21733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

skksky

2016/07/03 11:10

早速ありがとうございます。 やはりpsも同時にとってない限り難しいですよね。 2について、監視アラートメールが使うMTAなので、監視チームに容量でかいものがないか、大量のアラートが対象時間に発生しなかったか等確認してみます。また、あくまで内部配送のMTAなので、DOSなどの直接攻撃を食らったとは考えにくいと思っています。 >最後に、1つのサーバで複数のサービスを行うことはあまりお勧めできません。 ⇒ まったくもって同意見です。前の担当者が全滅した結果、私が運用を担当するようになった経緯もあり、なかなか手は付けられませんが、提供サービスごとでサーバを分けたいですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問