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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this