KVM+VirtIO = падение гостевой машины.

Дано:
Хост ОС: Gentoo 2008.4 (помоему). Собрана и установлена в декабре 2008го. С тех пор ни разу не пересобиралась.
KVM 0.9.1 (emerge kvm-84)
Ядро: 2.6.28
Машина: Intel Core 2 Duo 6400 @ 2.13GHz, 4Gb RAM, сетевая карта Realtek RTL8111/8168B PCI-E Gigabit (rev 02) 2 штуки
Гостевая ОС: Ubuntu 9.04 Server (ядро 2.6.28.9)

Машина собрана под роутер, чтобы убрать зоопарк из старых Celeron'ов, AMDшек и жрущих электричество Pentium D.

Предполагалось перенести на гостевые машины базу данных биллинга, радиус-сервер, pptp-сервер, и несколько роутеров.
Перенос прошел успешно. Но....

При тестировании своими силами явных проблем замечено не было, но как только машину поставили на "боевое" дежурство, стало понятно, что такую нагрузку она не держит.

В общем было нужно включать virtio.
Хост уже был собран с поддержкой virtio, а вот в качестве гостевых ОС перебирали все.. Gentoo, Arch, Fedora, Ubuntu... в общем с полпинка завелась только Убунта, она же понравилась нашему шефу, и решено было оставить ее.

Опять же... тестирование своими силами прошло успешно (все работало как часики, нагрузка при сетевом обмене упала раза в три). И с нехорошим предчувствием мы поставили машину в строй...

И тут начали валиться виртуалки. Стоило потоку через них превысить 15-25Мбит, как процесс с этой машиной завершался без всяких сегфолтов, без записи в логи.. в общем тихо и мирно.

Своими силами решение пока найти не удалось.

Может быть кто-то сталкивался с подобным, и подскажет, что в такой ситуации сделать?

Просто бездумно сейчас эксперементировать мы не можем. Так как машина под нагрузкой, а других уже нет (расформировали). То есть пересобрать и поставить более новое ядро, пересобрать kvm - боязно.

1. Обновиться. Обновления

1. Обновиться. Обновления проходят весьма гладко в gentoo-stable ветке, не стоит бояться.
2. Перейти на Xen.

Сон разума порождает чудовищ, сон безумия – вечность…

А чем Xen лучше?

А чем Xen будет лучше? Просто планируется собирать еще одну машину под виртуалки... и будет возможность поэксперементировать.

xen лучше тогда когда

xen лучше тогда когда крутится на rhel/centos впроивном случае даже не беритесь за него, тонна проблем гарантирована. Лучше уж на KVM остаться

Понятно. Ну на тестовой

Понятно. Ну на тестовой машинке попробую ради развлечения.
Я вообще хотел сначала все на VMWare ESXi сделать, но очень уж она к железу капризная оказалась. Ни на одном из доступных компов запускаться не захотела.

у меня на kvm-88 (Win2k3 DCE

у меня на kvm-88 (Win2k3 DCE + virtio) сеть не падала, пиговал с дестка серверов, загрузка сети 100% в течении трех суток, полет нормальный. Правда вот с вводом выводом наблюдаются проблемы, правда не могу оценить пока точно ибо проблемы в хостовой фибре.

обновиться до

обновиться до 2.6.30/kvm-88/kvm-kmod-88, собрать гостевое ядро с опциями kvm-guest

Спасибо. Попробую как-нибудь

Спасибо. Попробую как-нибудь ночью.

TheMixa

TheMixa написал(а):
обновиться до 2.6.30/kvm-88/kvm-kmod-88, собрать гостевое ядро с опциями kvm-guest

в kvm-88 у меня стабильно работают только сами дженту))) Все остальные операционки в разных местах падают на ровном месте.
С виртуализацией xen в gentoo работал, работающий вариант - ядро и гипервизор из оверлея alexxy (за что ему респект), у такой связки единственный минус, машина dom0 не выключается софтово, всё остальное не хуже и даже быстрее, чем на rhel\centos. На данный момент на работе используется связка centos5.3\xen-3.3.1 в качестве платформы для обката, 51 день апа, тяжелая нагрузка.
И ничего плохого в том, чтобы отойти от дженту в плане dom0, если это позволит решать задачи быстро, качественно и легко.

Сон разума порождает чудовищ, сон безумия – вечность…

ну так никто не мешает для

ну так никто не мешает для них собрать ядро отдельно и завернуть в пакет если так хочется...

На сколько я понимаю хост

На сколько я понимаю хост машина держит виртуализацию? тогда попробуйте не использовать virtio, падения производительности не должно быть.
Попробуйте точно выявить, какая именно нагрузка на сеть (какая служба) роняет виртуалки.

P.S ... хотя я не слышал использование kvm и гигабитной виртуальной сети. это вообще возможно?

rPman написал(а): На сколько

rPman написал(а):
На сколько я понимаю хост машина держит виртуализацию? тогда попробуйте не использовать virtio, падения производительности не должно быть.
Попробуйте точно выявить, какая именно нагрузка на сеть (какая служба) роняет виртуалки.

P.S ... хотя я не слышал использование kvm и гигабитной виртуальной сети. это вообще возможно?

Да. Хост машина поддерживает Intel VT.
Сейчас пересобрал KVM. Поднял в качестве гостя arclinux с поддержкой virtio.
Однако падения нагрузки на хост-машину не произошло. Ну хоть пока не падает.

Теперь вот другой вопрос... я не знаю, стоит ли завести отдельную тему, или продолжить здесь.

В общем вопрос скорее из области практики.
Исходные данные в первом сообщении, с поправкой на то, что уже стоит ядро 2.6.30 и kvm-88.

Гость - arclinux - Ядро 2.6.30.
На гостевой машине эмулируются две сетевых карты через virtio.
На ней совсем несложный фаерволл (около 20 правил), NAT и около 10 правил роутинга.

При этом на хост-машине процесс данной виртуалки жрёт 40-50% процессорной мощности (если верить htop)
При потоке в 20Мбит через виртуальную машину.

Скажите, это нормально? В смысле что так проц зверски жрёт.

>> Скажите, это нормально? В

>> Скажите, это нормально? В смысле что так проц зверски жрёт.
Если не используется аппаратная вииртуализация, то да - нормально (хотя я только щупал, при больших линейных нагрузках на сеть, порядка 100мбит), проверьте, собран ли у вас модуль ядра kvm и используется ли самим kvm.
Повторяю, отключите virtio.

P.S. интересные результаты получал при использовании virtualbox даже без аппаратной виртуализации, скорость дисковой подсистемы на слабеньком athlon64 доходила до 30мбайт/сек, а сетевой карты 15мбайт/сек. Но скорость эмуляции процессора оставляла желать лучшего :(/

rPman написал(а): >> Скажите,

rPman написал(а):
>> Скажите, это нормально? В смысле что так проц зверски жрёт.
Если не используется аппаратная вииртуализация, то да - нормально (хотя я только щупал, при больших линейных нагрузках на сеть, порядка 100мбит), проверьте, собран ли у вас модуль ядра kvm и используется ли самим kvm.
Повторяю, отключите virtio.

P.S. интересные результаты получал при использовании virtualbox даже без аппаратной виртуализации, скорость дисковой подсистемы на слабеньком athlon64 доходила до 30мбайт/сек, а сетевой карты 15мбайт/сек. Но скорость эмуляции процессора оставляла желать лучшего :(/

Стоп. Зачем отключать virtio? Не понимаю.
Аппаратная виртуализация точно есть. Модуль собран прям в ядре сейчас. До этого был отдельно и подгружался.
Без него вообще все пичально работало.

Эх.. очень жаль, если это будет "нормальной" нагрузкой на проц. Потому что внутри виртуалки никакой нагрузки вообще нет.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".