Jump to content

Recommended Posts

Posted (edited)

Привет.

 

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

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

 

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

Edited by marikoda
Posted
Привет.

 

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

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

 

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

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

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

  • 4 months later...
Posted
Использовали для подобной цели 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 всё становится заметно лучше.

 

 

Posted

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

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

 

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

Posted

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

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

Posted
Использовали для подобной цели 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 всё становится заметно лучше.

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

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.

×
×
  • Create New...