web-dev-qa-db-ja.com

監視サーバーでの高Iowait +高負荷平均

私は数日前まで完全に機能していたnagiosサーバーを持っています。 RAMを増やすために停止して再起動したところ、サーバー上でiowaitが劇的に増加しました(20%以上、以前は1%未満でした)。サーバー上で元の量のRAMを戻そうとしましたが、それでも同じ問題が発生します。
serverfaultで同様のiowaitの問題をたくさん読んだことがありますが、私の場合は説明を見つけることができません。
iotopを見ると、ページキャッシュとext3ファイルシステムのジャーナリング専用のkjournaldを実行しているpdflushのioがたくさんあることがわかります。それが正常かどうかはわかりません。他のserverfaultの質問によると、私はfstabにnoatimeを入れようとしました。 Ext3ファイルシステムは順序付きデータモードでマウントされます

Total DISK READ: 0.00 B/s | Total DISK WRITE: 210.44 K/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
  650 be/3 root        0.00 B/s    0.00 B/s  0.00 % 99.99 % [kjournald]
11482 be/4 root        0.00 B/s    0.00 B/s  0.00 % 98.42 % [pdflush]
12167 be/4 nagios      0.00 B/s    0.00 B/s  0.00 %  0.12 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
   11 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.10 % [migration/3]
12168 be/4 nagios      0.00 B/s    0.00 B/s  0.02 %  0.08 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
12165 be/4 nagios      0.00 B/s    0.00 B/s 98.42 %  0.02 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
 2600 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.02 % auditd
12164 be/4 nagios      0.00 B/s    0.00 B/s  0.00 %  0.00 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
    8 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/2]
   20 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/6]
   26 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [events/0]
   23 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/7]
 3047 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % snmpd -Ln -Lf /dev/null -p /var/run/snmpd.pid -a
12169 be/4 nagios      0.00 B/s    0.00 B/s  0.12 %  0.00 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg
   14 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/4]
 2601 be/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % auditd
    5 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/1]
   17 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/5]
 5228 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % bash
   10 rt/3 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/2]
   13 rt/3 root        0.00 B/s    0.00 B/s  0.10 %  0.00 % [watchdog/3]

次の行

 12165 be/4 nagios      0.00 B/s    0.00 B/s 98.42 %  0.02 % nagios -d /srv/eyesofnetwork/nagios-3.4.1/etc/nagios.cfg

非常に驚くべきことのようです:スワップがほとんどないのに、どうすれば98.42%のスワップインを持つことができますか:

free -o
             total       used       free     shared    buffers     cached
Mem:       4046468    3163796     882672          0     103548    2193604
Swap:      4192956       1572    4191384

トップは、高負荷と高iowaitを除いて、特定のものを表示しません

top - 10:07:56 up 12 days, 23:42,  4 users,  load average: 8.60, 9.29, 9.85
Tasks: 177 total,   1 running, 176 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.0%sy,  0.0%ni, 77.2%id, 22.6%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4046468k total,  3165500k used,   880968k free,   104204k buffers
Swap:  4192956k total,     1572k used,  4191384k free,  2201500k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 5246 root      15   0 14252 2632  836 R  0.3  0.1   0:03.94 top                
    1 root      15   0 10372  696  584 S  0.0  0.0   0:03.61 init               
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:14.80 migration/0        
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.73 ksoftirqd/0        
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0         
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:13.93 migration/1        
    6 root      34  19     0    0    0 S  0.0  0.0   0:01.75 ksoftirqd/1        
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1         
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:09.51 migration/2        
    9 root      34  19     0    0    0 S  0.0  0.0   0:01.09 ksoftirqd/2        
   10 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/2         
   11 root      RT  -5     0    0    0 S  0.0  0.0   0:08.98 migration/3        
   12 root      34  19     0    0    0 S  0.0  0.0   0:01.46 ksoftirqd/3        
   13 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/3         
   14 root      RT  -5     0    0    0 S  0.0  0.0   0:20.36 migration/4        
   15 root      34  19     0    0    0 S  0.0  0.0   0:01.15 ksoftirqd/4        
   16 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/4         

nagiosプロセスを無効にすると、システムの負荷は正常になります(つまり、<1)が、それでも高いiowaitが発生します。

その上、nagiosプロセスが実行されていなくても、DSKは100%ビジーです。ハードドライブに問題がありますか? (これはWestern Digital Greenであり、このようなサーバーでは実行されないはずです)。 dmesgまたはsyslogに関する特別なメッセージは表示されません。

1
Golgot

あっ、すみません。デスクトップPC以外にWDGreenディスクを使用していますか?

しないでください。

それらは遅く、信頼性が低く(スリープ状態になり、RAIDアレイからドロップアウトします)、実行したいことにはまったく適していません。

高いIOWaitが発生している場合は、ディスクサブシステムが必要な量のディスクIOを処理できないことを意味します。

これを解決する簡単な方法は、ディスクを追加することです(理想的には、RAID6アレイの全体)。

また、smartctlを使用して一般的なディスクの状態を確認し、バックアップを取る必要があります(とにかく定期的にこれを行う必要がありますが、WD Greenを使いすぎている場合は、特に注意が必要です)。

2
Tom O'Connor

swapoffおよびswaponコマンドを使用して、スワップをクリアします。この後、nagiosを停止し、まだ実行中のpidがあるかどうかを確認します。ps -ef|grep nagiosnagiosをもう一度開始します。

以下のコマンドは、スワップfsがどのパーティションを持っているかを示します

swapon -s

swapoff /dev/sdaN

swapon /dev/sdaN
0
Sharad Chhetri