Jump to content
Калькуляторы

Роутеры в виртуалке

Привет.

 

Есть у кого-нибудь опыт работы с роутером в виртуальной машине, например KVM (естественно, c оптимизированным "железом", всякими virtio).

Трафика требуется переварить где-то мегабит 300-400 (шейпер, NAT), на хосте используются 2 виртуальных машины, одна шейпер, другая NAT.

 

Чисто теоретически мне показалось, что нормально работать не будет, но может есть у кого практика?

Edited by marikoda

Share this post


Link to post
Share on other sites

Привет.

 

Есть у кого-нибудь опыт работы с роутером в виртуальной машине, например KVM (естественно, c оптимизированным "железом", всякими virtio).

Трафика требуется переварить где-то мегабит 300-400 (шейпер, NAT), на хосте используются 2 виртуальных машины, одна шейпер, другая NAT.

 

Чисто теоретически мне показалось, что нормально работать не будет, но может есть у кого практика?

Использовали для подобной цели XEN. Проблема в том что сам гипервизор не SMP, в связи с этим речи о раскидывании очередей по ядрам нет - для роутера это плохо.

А было так: стояло 6 физических серверов с XEN Dom0, на них крутилось ~35 виртуальных серверов. Ушли на два физических сервера, по 2 xeon'а на систему.

Share this post


Link to post
Share on other sites

Использовали для подобной цели XEN. Проблема в том что сам гипервизор не SMP, в связи с этим речи о раскидывании очередей по ядрам нет - для роутера это плохо.

А было так: стояло 6 физических серверов с XEN Dom0, на них крутилось ~35 виртуальных серверов. Ушли на два физических сервера, по 2 xeon'а на систему.

Интересно попробовать такое: есть Sun Fire X2200, в котором RAM 16Г. Если использовать просто как роутер, даже с conntrack и т.п., потребляется всего 2-2,5G RAM, LA почти нулевая.

Возникла идея запустить на нём пару KVM, в котором разместить NAT и шейперы в виде виртуальной сети (чтобы не мудрить с ifb и т.п.).

Интересно, какие задержки будет вносить такая схема...

 

P.S. У KVM местами проблемы с временем, хотя при выборе clock_source kvm всё становится заметно лучше.

 

 

Share this post


Link to post
Share on other sites

У меня был нехороший опыт с xen:

http://forum.nag.ru/forum/index.php?showtopic=52824

 

Думаю, что проблема в том, что каждый пакет, приходящий на хост-машину, вызывает его обработку, занесение в сonntrack, бриджинг в виртуальную машину, а там все эти операции выполняются заново.

Share this post


Link to post
Share on other sites

Может на машинке с VT-d, виртуальными функциями сетевушки - это бы и имело смысл, но накладные расходы все равно будут колоссальными.

Проще использовать Linux containters, и то, и там будут накладные расходы. ifb - самое "дешевое".

Share this post


Link to post
Share on other sites

Использовали для подобной цели XEN. Проблема в том что сам гипервизор не SMP, в связи с этим речи о раскидывании очередей по ядрам нет - для роутера это плохо.

А было так: стояло 6 физических серверов с XEN Dom0, на них крутилось ~35 виртуальных серверов. Ушли на два физических сервера, по 2 xeon'а на систему.

Интересно попробовать такое: есть Sun Fire X2200, в котором RAM 16Г. Если использовать просто как роутер, даже с conntrack и т.п., потребляется всего 2-2,5G RAM, LA почти нулевая.

Возникла идея запустить на нём пару KVM, в котором разместить NAT и шейперы в виде виртуальной сети (чтобы не мудрить с ifb и т.п.).

Интересно, какие задержки будет вносить такая схема...

 

P.S. У KVM местами проблемы с временем, хотя при выборе clock_source kvm всё становится заметно лучше.

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.