OpenVZ Forum


Home » International » Russian » [solved] Высокий iowait
[solved] Высокий iowait [message #20339] Mon, 17 September 2007 06:39 Go to next message
knutov is currently offline  knutov
Messages: 79
Registered: December 2005
Location: Perm, Russia
Member
Есть нода, на которой периодически случается очень высокий iowait (90%+) и все ложится. Эксперементально выяснено, что узким место являются только операции с диском - например копирование файлика в 300 метров на любой VE может ноду положить.

Наблюдение iostat -k -x 5 полностью подтверждают, что проблемы имеются именно с диском.

Поштучное отключение VE не приводит к каким-либо принципиальным изменениям.

Как определить, какая VE делает больше всего операций с диском? И как вообще смотреть статистику общения с диском для каждой VE ?

Скорее всего меня интересуют столбцы bi и bo от vmstat, но vmstat внутри VE показывает все по нулям и в стобце cs стоят цифры от ноды (что тоже направильно).

2.6.9-023stab044.4-smp

[Updated on: Tue, 18 September 2007 03:54]

Report message to a moderator

Re: Высокий iowait [message #20361 is a reply to message #20339] Mon, 17 September 2007 10:03 Go to previous messageGo to next message
khorenko is currently offline  khorenko
Messages: 533
Registered: January 2006
Location: Moscow, Russia
Senior Member
К сожалению, в 2.6.9-x ядрах нет per-VE i/o статистики, а вот в 2.6.18-х ядрах уже есть и статистика (/proc/bc/$VEID/ioacct) и возможность управления приоритетами.

From man vzctl:
--ioprio priority
Assigns I/O priority to VE. Priority range is 0-7. The
greater priority is, the more time for I/O activity VE
has. By default each VE has priority of 4.


If your problem is solved - please, report it!
It's even more important than reporting the problem itself...
Re: Высокий iowait [message #20370 is a reply to message #20361] Mon, 17 September 2007 12:28 Go to previous messageGo to next message
knutov is currently offline  knutov
Messages: 79
Registered: December 2005
Location: Perm, Russia
Member
Можно ли просто обновить ядро с 2.6.9 до 2.6.18 и ничего не бояться?

И как быть, если надо определить из-за какой VE проблемы на 2.6.9 ?
Re: Высокий iowait [message #20384 is a reply to message #20370] Mon, 17 September 2007 15:10 Go to previous messageGo to next message
khorenko is currently offline  khorenko
Messages: 533
Registered: January 2006
Location: Moscow, Russia
Senior Member
knutov wrote on Mon, 17 September 2007 16:28

Можно ли просто обновить ядро с 2.6.9 до 2.6.18 и ничего не бояться?

Если ядро загрузится - должно работать нормально. Вопрос только - загрузится ли. В 2.6.9 и 2.6.18 ядрах некоторое железо поддерживается разными драйверами или просто драйвер в одном случае вкомпилен в ядро, а в другом - идёт модулем. Соответственно, если ставить 2.6.18 ядро на дистрибутиве, где в оригинале шло 2.6.9 ядро, mkinitrd может некорректно создать initrd, и ядро не загрузится. Если сделать правильный initrd (либо само, либо вручную), то должно работать.

Quote:

И как быть, если надо определить из-за какой VE проблемы на 2.6.9 ?

Наверное, самый надёжный способ - поочерёдное отключение VE-шек. И если таким образом не нашлась виновная, скорее всего, виновата не одна, а сразу несколько, например, внутри них (или даже на HN) одновременно запускаются по крону какие-то тяжёлые операции, скажем, updatedb, prelink...


If your problem is solved - please, report it!
It's even more important than reporting the problem itself...
Re: Высокий iowait [message #20390 is a reply to message #20384] Mon, 17 September 2007 16:41 Go to previous messageGo to next message
knutov is currently offline  knutov
Messages: 79
Registered: December 2005
Location: Perm, Russia
Member
На ноде центос4. Ядра я ставлю только из репозиториев. Могут ли быть проблемы, если я файле openvz.repo я отключу ядра ветки rhel4, включу rhel5 и поставлю новое ядро, если известно что на точно таком же железе ядро из ветки rhel5 работает нормально?

Вероятно у меня второй случай, поштучное выключение ни к чему не приводит. Можно ли вообще что-то сделать кроме как вынести каждую вторую VE на другой сервер ?

ps: я посмотрел /proc/bc/$VEID/ioacct для ветки rhel5. Как их можно интерпретировать? Можно ли где-то почитать описание каждого параметра из этого файла?

[Updated on: Mon, 17 September 2007 16:42]

Report message to a moderator

Re: Высокий iowait [message #20440 is a reply to message #20390] Tue, 18 September 2007 03:53 Go to previous messageGo to next message
knutov is currently offline  knutov
Messages: 79
Registered: December 2005
Location: Perm, Russia
Member
Все вопросы решены. Смена ядра пока не получится - нельзя ребутить, нагрузку снизил путем выноса некоторых VE на другой сервер и нашел http://wiki.openvz.org/IO_accounting.

Спасибо за помощь и подсказку про ioacc.
Re: Высокий iowait [message #20443 is a reply to message #20390] Tue, 18 September 2007 05:28 Go to previous messageGo to next message
khorenko is currently offline  khorenko
Messages: 533
Registered: January 2006
Location: Moscow, Russia
Senior Member
Да не за что, чем можем. Smile

knutov wrote on Mon, 17 September 2007 20:41

Могут ли быть проблемы, если ... известно что на точно таком же железе ядро из ветки rhel5 работает нормально?

Могут. initrd _может_ быть создано неверно. Проблема не критична, починить просто (достаточно сравнить initrd, созданное на rhel4 и rhel5 машинах), но с первого раза _может_ не взлететь.

Quote:

Вероятно у меня второй случай, поштучное выключение ни к чему не приводит. Можно ли вообще что-то сделать кроме как вынести каждую вторую VE на другой сервер ?

Например, как я уже предположил, - посмотреть на cron-ы HN и VE-шек, особо пристально в те периоды, когда нода бывает перегружена. Посмотреть, опять же, какие процессы запущены, когда нода тормозит, возможно, имена что-то объяснят.


If your problem is solved - please, report it!
It's even more important than reporting the problem itself...
Re: Высокий iowait [message #20526 is a reply to message #20390] Wed, 19 September 2007 20:56 Go to previous messageGo to next message
msolovyev is currently offline  msolovyev
Messages: 29
Registered: August 2007
Location: Russia, Novosibirsk
Junior Member

Да, кстати, только что из-за бага http://bugzilla.openvz.org/show_bug.cgi?id=632 решил проапгрейдить ядро на 2.6.18. Всё нормально прошло. На ноде тоже 4-й CentOS, ога Smile
Re: [solved] Высокий iowait [message #20527 is a reply to message #20339] Wed, 19 September 2007 21:20 Go to previous message
msolovyev is currently offline  msolovyev
Messages: 29
Registered: August 2007
Location: Russia, Novosibirsk
Junior Member

>Как определить, какая VE делает больше всего операций с диском?

Если ядро 2.6.9, и нету iostat, то проще всего так:
В тот момент, когда нода тормозит, сделать ps fax, посмотреть, какие процессы в D-state. Ну собственно и всё, определить, в каких VPS-ках они запущены, и сделать организационные выводы Smile
Previous Topic: [solved] Перестали работать квоты после апгрейда
Next Topic: Странная проблема с VE
Goto Forum:
  


Current Time: Sun Aug 18 05:29:18 GMT 2024

Total time taken to generate the page: 0.02882 seconds