Некоторое время назад один из моих серверов начал давать сбой. В настоящее время он падает почти каждый день. Иногда более одного раза в день. Решить может только перезапуск.
В последний раз, когда возникла проблема, нагрузка на сервер превышала 1.000, но сервер не работал медленно, но я не мог получить доступ к веб-сайтам, которые делают запросы к mysql.
По команде iostat -dx 1 данные на диски не записывались. Это ненормально. Некоторые веб-сайты на сервере требуют записи большого количества данных. Итак, все, что я могу представить, это проблема с диском.
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 28.00 0.00 67.00 0.00 760.00 11.34 0.17 2.46 0.04 0.30
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 28.00 0.00 67.00 0.00 760.00 11.34 0.17 2.46 0.04 0.30
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 665.00 0.00 47.00 0.00 5696.00 121.19 0.24 5.15 0.17 0.80
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 665.00 0.00 47.00 0.00 5696.00 121.19 0.24 5.15 0.17 0.80
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Я проанализировал iostat данные в течение нескольких секунд, а значение% util не изменялось больше 0,80% в любое время. Что не нормально из-за веб-сайтов, которые я размещаю.
Когда сервер работает нормально, SDA и SDA2% область значений утилиты почти все время превышает 30%
И это основные командные данные, пока сервер столкнулся с проблемами: Обратите внимание, что 97,1% sy - очень высокое значение.
top - 15:47:05 up 1 day, 17:14, 1 user, load average: 1492.16, 979.45, 435.51
Tasks: 1808 total, 1501 running, 307 sleeping, 0 stopped, 0 zombie
Cpu(s): 2.9%us, 97.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 12290048k total, 12194552k used, 95496k free, 804172k buffers
Swap: 1052248k total, 5092k used, 1047156k free, 8652196k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8795 nobody 25 0 205m 8344 2176 R 2.0 0.1 0:05.43 httpd
9039 nobody 25 0 205m 8344 2176 R 2.0 0.1 0:04.45 httpd
10529 root 15 0 14076 2436 820 R 2.0 0.0 0:00.23 top
7995 nobody 21 0 213m 16m 7220 R 1.6 0.1 0:06.03 httpd
8044 nobody 20 0 206m 12m 5024 R 1.6 0.1 0:03.66 httpd
8491 nobody 25 0 210m 16m 6772 R 1.6 0.1 0:05.45 httpd
8492 nobody 21 0 210m 15m 6240 R 1.6 0.1 0:04.56 httpd
8737 nobody 25 0 205m 9640 3380 R 1.6 0.1 0:04.78 httpd
8767 nobody 25 0 205m 8344 2176 R 1.6 0.1 0:05.02 httpd
8776 nobody 25 0 205m 8452 2264 R 1.6 0.1 0:04.98 httpd
8779 nobody 25 0 205m 8520 2340 R 1.6 0.1 0:05.05 httpd
8815 nobody 25 0 205m 8452 2272 R 1.6 0.1 0:04.89 httpd
8818 nobody 25 0 205m 8456 2276 R 1.6 0.1 0:04.66 httpd
8836 nobody 25 0 205m 8444 2272 R 1.6 0.1 0:04.65 httpd
8846 nobody 25 0 205m 8428 2240 R 1.6 0.1 0:04.49 httpd
8854 nobody 25 0 205m 8376 2200 R 1.6 0.1 0:03.61 httpd
8886 nobody 25 0 205m 8344 2176 R 1.6 0.1 0:03.09 httpd
Я уже перезапустил его, и теперь он работает нормально, но эта проблема возникает снова и снова ....
Мои диски в RAID. Согласно этим журналам, действительно ли проблема с диском?
Проверьте состояние вашего RAID-контроллера, чтобы увидеть состояние дисков. Использовать strace
на потоках с наибольшей интенсивностью ввода-вывода и посмотрите, что они делают. Перечислите также все файловые дескрипторы для этого процесса с помощью ls -l /proc/<PID>/fd
и попробуй узнать, в какой файл пишет.
Использовать dstat с участием topio
возможность найти процесс с наибольшим объемом операций ввода-вывода. Или вы можете использовать iotop
Вы можете продолжить расследование с помощью systemtap
чтобы узнать, проблема ли это FS, диска / контроллера или пользовательского пространства.
То, что вы здесь дали, не является журналом. Вы только указываете статус сервера.
Так что с ваших "журналов" это выглядит чистым, но это не доказательство и не контрдоказательство. Сверьтесь с инструментами проверки диска, посмотрите информацию SMART, обратите внимание на ошибки ввода-вывода или что-то еще. Но не думайте, что top
вывод показывает ошибки диска!
Важный: Обращайтесь за профессиональной помощью. Вы задали 18 вопросов, и 8 из них касаются одной и той же проблемы. Вы не предоставляете никакой информации, не принимаете ответа, только перефразируете тот же вопрос другими словами и всегда обвиняете другого виновника.